Hi Hongwei, I have the other question. Following code has `chVTSetI` function:
https://github.com/fpiot/chibios-ats-2/blob/720847a31b9417ee267a34bf1746802e916ce03b/demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/main.dats#L84 The `chVTSetI` function has following type: ``` typedef vtfunc_t = ptr -> void extern fun chVTSetI (!chss_iclass | cPtr0(virtual_timer_t), systime_t, vtfunc_t, cPtr0(BaseBlockDevice)): void = "mac#" ``` The `chVTSetI` uses following `tmrfunc` as 3rd argument: ``` extern fun tmrfunc (!chss(chss_isr) | ptr): void = "mac#" ``` I would like to write the `chVTSetI` applying as following: ``` val () = chVTSetI (pss | tmr_p, MS2ST (POLLING_DELAY), tmrfunc, bbdp) ``` However the above code can't be shaped and I should use cast as following, because `typedef` keyword can't define proof argument in the definition: ``` val () = chVTSetI (pss | tmr_p, MS2ST (POLLING_DELAY), $UN.cast{vtfunc_t}(tmrfunc), bbdp) ``` Are there methods to define envless function typedef includes proof argument? Best regards, -- Kiwamu Okabe -- You received this message because you are subscribed to the Google Groups "ats-lang-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/ats-lang-users. To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/CAEvX6dmUMg%2B%2BvOkSZbxqSX14CW1Rs3WigEoZacMbLO1kz0%2Bwtg%40mail.gmail.com.
