contract C {
    struct S {
        uint8[] m;
    }
    function f() public pure returns (bool correct) {
        S memory s;
        s.m = new uint8[](1);
        assembly {
            mstore(add(s, 64), 257)
        }
        uint8 x = s.m[0];
        uint r;
        assembly {
            r := x
        }
        correct = r == 0x01;
    }
}
// ====
// compileViaYul: true
// ----
// f() -> true