Do not allow fields that are linear to be aliased.
Allow temporary aliasing of references. However, when aliased, only allow access to regions that are not themselves linear, nor contain references to linear objects.
Use liveness analysis to determine if aliases are live at each point
Prevent assignment of linear variables to fields of objects - only allow stack-bound "let" aliasing.
Do not allow fields that are linear to be aliased.
Allow temporary aliasing of references. However, when aliased, only allow access to regions that are not themselves linear, nor contain references to linear objects.
Use liveness analysis to determine if aliases are live at each point
Prevent assignment of linear variables to fields of objects - only allow stack-bound "let" aliasing.