class tmp { } class tmp2 extends tmp { tmp w; tmp2 w2; void fn() { w = w2; // Legal w2 = w; // Illegal } }