v/vlib/v/tests/generics_fn_return_types_wi...

33 lines
594 B
V

struct Abcd<T> {
}
fn iterators_array<T>() []&Abcd<T> {
return []&Abcd<T>{}
}
fn test_generic_fn_return_array_of_generic_struct() {
a := iterators_array<f64>()
println(a)
assert '$a' == '[]'
}
fn iterators_chan<T>() chan Abcd<T> {
return chan Abcd<T>{}
}
fn test_generic_fn_return_chan_of_generic_struct() {
a := iterators_chan<f64>()
println(a)
assert typeof(a).name == 'chan Abcd<f64>'
}
fn iterators_map<T>() map[string]&Abcd<T> {
return map[string]&Abcd<T>{}
}
fn test_generic_fn_return_map_of_generic_struct() {
a := iterators_map<f64>()
println(a)
assert '$a' == '{}'
}