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
Only shared (i.e. mobile) types can be declared as types of stable bindings. That doesn't include function types (these are also not comparable). Since EOP doesn't involve serialisation, we have a few ideas to relax the shared requirement. One way would be to have manifestly named functions in the Wasm, and use those names to rediscover them in the upgraded canister. I am not sure about the status of these thoughts and their realisability is, @luc-blaeser can surely tell more.
Actually, Gabor is not quite right. The set of stable types is considerably larger than shared types and includes mutable arrays and records with mutable fields. Some types are still excluded namely non-shared functions, async values, errors and data structures involving them (including typical objects)).
When
--enhanced-orthogonal-persistence
, it should be allowed to declarestable
variables of non-stable types. Presently, it is not allowed.Should any type whatsoever be compatible with
stable
, or with some exceptions?In other words, should every type become stable, when
--enhanced-orthogonal-persistence
?The text was updated successfully, but these errors were encountered: