27 lines
314 B
Plaintext
27 lines
314 B
Plaintext
type t {
|
|
int x;
|
|
}
|
|
|
|
type t2 <: t {
|
|
int y;
|
|
}
|
|
|
|
type contains_t {
|
|
t x(t2);
|
|
}
|
|
|
|
class c() : t2 impl t2 {
|
|
init int x;
|
|
init int y;
|
|
|
|
export t2 : x, y;
|
|
}
|
|
|
|
class cct() : contains_t impl contains_t {
|
|
t2 x(t x) {
|
|
return new c : t2 (x = x.x, y = x.x);
|
|
}
|
|
|
|
export contains_t : x;
|
|
}
|