blob: 9b37aeeab31044f8c3f5910c09cb6287e8bcf20f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
interface Foo : Object {
public void foo<T> (owned T bar) {
bar = null;
}
}
class Bar {
}
class Baz : Object, Foo {
}
void foo<T> (owned T bar) {
bar = null;
}
bool is_check<G> () {
var o = new Bar ();
return o is G;
}
void main () {
var bar = new Object ();
foo<Object> (bar);
assert (bar.ref_count == 1);
var baz = new Baz ();
baz.foo<Object> (bar);
assert (baz.ref_count == 1);
assert (is_check<Bar> ());
assert (!is_check<Baz> ());
}
|