diff options
Diffstat (limited to 'tests/generics/reference-transfer.vala')
-rw-r--r-- | tests/generics/reference-transfer.vala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/generics/reference-transfer.vala b/tests/generics/reference-transfer.vala new file mode 100644 index 000000000..da2c1e305 --- /dev/null +++ b/tests/generics/reference-transfer.vala @@ -0,0 +1,24 @@ +class Bar<G> { + public G g; + public Bar (G g) { + this.g = g; + assert (g == "bar"); + } +} + +void bar<G> (Bar<G> g) { + var t = (owned) g.g; + assert (g.g == null); + assert (t == "bar"); +} + +void foo<G> (owned G g) { + var t = (owned) g; + assert (g == null); + assert (t == "foo"); +} + +void main () { + foo<string> ("foo"); + bar<string> (new Bar<string> ("bar")); +} |