+ (Foo{}).bar fails in the code below. This is the infamous bug related + to nested types and constructors. + + type Foo = + struct + { + int i; + + fun foo = int: + { + return i + 1; + } + + method bar = int: + { + type Bar = + struct + { + int j; + method bar = int: { return j + 1; } + }; + + fun jorl = int: + { + return (Bar { j = 1 }).bar; + } + + return jorl + i; + } + };
This is now fixed in master. Salud!