Currently there are only mutable lends, and constant arguments. When a cloned value is parsed to a functions' constant argument, the clone is nullified and a temporary immutable lend is silently produced for compiler internal use only.
This features should be exposed to allow greater reuse of values allowing more de-duplication opportunities.
A value should be able to be in three possible states. with two possible substates:
Owned: Full access to the value
Lent
Immutable: Unable to access as the value is being used under another alias
Mutable: Able to be read and able to produce additional mutable loans
Borrowed
Immutable: Only able to read, and produce immutable borrows from this borrow
Currently there are only mutable lends, and constant arguments. When a cloned value is parsed to a functions' constant argument, the clone is nullified and a temporary immutable lend is silently produced for compiler internal use only.
This features should be exposed to allow greater reuse of values allowing more de-duplication opportunities.
A value should be able to be in three possible states. with two possible substates: