v2 / vlib / v / checker / tests / cast_voidptr_to_struct_err.vv
19 lines · 15 sloc · 272 bytes · 0c8ce3bcb9fd4a2e5bd5f991a5a07da976d780d7
Raw
1struct Foo {
2 x int
3}
4
5fn unwrap_concrete(ptr voidptr) Foo {
6 return Foo(ptr)
7}
8
9fn unwrap_generic[T](ptr voidptr) T {
10 return T(ptr)
11}
12
13pub fn main() {
14 foo1 := unwrap_concrete(unsafe { nil })
15 foo2 := unwrap_generic[Foo](unsafe { nil })
16
17 println(foo1)
18 println(foo2)
19}
20