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
In my use case, after evaluating a script, the final value can be one of several types that I want to support.
E.g. I want to support 5 different custom types that the script can produce.
The final value of the script should not be an enum though!
So after evaluating a script, how can I check which gluon type the final value is, before I try to convert it to the equivalent Rust type? :)
Or can I evaluate a script and then try converting the final value to a Rust type, to check if it succeeds?
The text was updated successfully, but these errors were encountered:
You should be able to achieve it by using OpaqueValue<_, Hole> as the type on the rust side which will not put any type constraints on the gluon side. Then you can dereference that to a Value which you can extract via from_value or via pattern matching.
let(value, typ) = thread.run_expr::<OpaqueValue<RootedThread,Hole>()?;// or match on `value`, whatever works for your typechecking into the 5 types you want to supportmatch typ {}
In my use case, after evaluating a script, the final value can be one of several types that I want to support.
E.g. I want to support 5 different custom types that the script can produce.
The final value of the script should not be an enum though!
So after evaluating a script, how can I check which gluon type the final value is, before I try to convert it to the equivalent Rust type? :)
Or can I evaluate a script and then try converting the final value to a Rust type, to check if it succeeds?
The text was updated successfully, but these errors were encountered: