You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the IR includes only "use" statements, which are meant to model opaque functions. It'd be nice to replace those with function prototypes. You would give a signature like:
fn foo<...>(T1..Tn) -> Tr;
then you would write:
x = foo<..>(y, z);
and we would instantiate the function signature, add the constraints that all of the types/regions must outlive this point, and create the relevant subtyping relations, all in one step.
One can still model the existing a = use(b) by something like:
fn opaque<A,B>(B) -> A
which would permit
a = opaque<TA, TB>(b)
where TA is the type of a and TB is the type of B.
The text was updated successfully, but these errors were encountered:
Currently the IR includes only "use" statements, which are meant to model opaque functions. It'd be nice to replace those with function prototypes. You would give a signature like:
then you would write:
and we would instantiate the function signature, add the constraints that all of the types/regions must outlive this point, and create the relevant subtyping relations, all in one step.
One can still model the existing
a = use(b)
by something like:which would permit
where
TA
is the type ofa
andTB
is the type ofB
.The text was updated successfully, but these errors were encountered: