Help with compiler crash in lib/SIL/Verifier/LinearLifetimeCheckerPrivate?

hi all, i am currently running into a compiler crash in lib/SIL/Verifier/LinearLifetimeCheckerPrivate.h, which first appeared in the DEVELOPMENT-SNAPSHOT-2022-08-24-a nightly and is apparently still present in DEVELOPMENT-SNAPSHOT-2022-09-06-a.

i’ve reduced the crasher to the following test program:

struct C<T> where T:AdditiveArithmetic
{
    var x:[Int] 
    let y:T
    
    init() 
    {
        self.x = [0]
        self.y = .zero
    }

    var z:Int
    {
        _read
        {
            yield  self.x[0]
        }
        _modify
        {
            yield &self.x[0]
        }
    }
}
struct S 
{
    var c:C<Int>

    init()
    {
        self.c = .init()
        let _:Int = self.c.z
    }
}

despite not being used anywhere, the y member is required to cause the crash. it also only occurs if the C<Int> specialization is a stored property of a struct, and an attempt is made to read the value of z.

this crasher is preventing me from upgrading my toolchain past DEVELOPMENT-SNAPSHOT-2022-08-18-a, which was the last good nightly that could compile this code.

can anyone help me out here?