diff options
Diffstat (limited to 'tests/generics/parameter-in-cast.vala')
-rw-r--r-- | tests/generics/parameter-in-cast.vala | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/generics/parameter-in-cast.vala b/tests/generics/parameter-in-cast.vala new file mode 100644 index 000000000..270b7440f --- /dev/null +++ b/tests/generics/parameter-in-cast.vala @@ -0,0 +1,42 @@ +T manam<T> (T foo) { + return foo; +} + +bool get_bool () { + return true; +} + +T minim_b<T> () { + return manam<T> (get_bool ()); +} + +uint32 get_uint32 () { + return 23U; +} + +T minim_u<T> () { + return manam<T> (get_uint32 ()); +} + +string get_string () { + return "bar"; +} + +T minim_s<T> () { + return manam<T> (get_string ()); +} + +void main () { + { + assert (manam<bool> (get_bool ()) == true); + assert (minim_b<bool> () == true); + } + { + assert (manam<uint32> (get_uint32 ()) == 23U); + assert (minim_u<uint32> () == 23U); + } + { + assert (manam<string> (get_string ()) == "bar"); + assert (minim_s<string> () == "bar"); + } +} |