/** * This example, due to Stephen Heumann, motivated a bug fix in the * handling of z regions. */ class ZRegion1<region R> { ZRegion1<R> y; void m() { ZRegion1<this> z = new ZRegion1<this>(); // z was erroneously substituted for 'this' here z.y = new ZRegion1<this>(); } }