Ticket #22 (new enhancement)
Opened 4 years ago
Mask mutability constraints on fresh data
|Reported by:||benl||Owned by:|
|Component:||Source Type Inferencer||Version:|
In a type like
fun :: forall %r1 %r2 . Int %r1 -> Int %r2 :- Mutable %r2
The returned Int is fresh, that its region does not appear on the lhs of an arrow or in a closure. In this case it does not matter that the data is Mutable, and this fetter can be masked.
We'll want to use the closure information the core language for this, so make sure the core type checker works.