contract Test {
    struct RecursiveStruct {
        RecursiveStruct[] vals;
    }

    function func() public pure {
        RecursiveStruct[1] memory val = [ RecursiveStruct(new RecursiveStruct[](42)) ];
        assert(val[0].vals.length == 42);
    }
}
// ====
// compileViaYul: also
// compileToEwasm: also
// ----
// func() ->