[Pitch] Non-Frozen Enumerations

i seem to have been mistaken, a basic test on 5.9 using

public
struct S
{
    public
    var x:Int
    public
    var y:Int
}

and an out-of-module function

import S

public
func f(_ s:inout S)
{
    {
        s.y = $0
    } (&s.x)
}

does not raise any errors, even though by all reasoning based on @frozen-less abstraction, it should.

i don’t know if this is intended behavior or if the compiler is just failing to emit a diagnostic. but i found it surprising that an out-of-module consumer of a non-frozen type has knowledge of the layout of that type. this seems to contradict a lot of what we have been told about stored properties.