v2 / vlib / v / checker / tests / no_method_on_interface_propagation.vv
20 lines · 16 sloc · 269 bytes · 4feb09fa5bbd7460c50cad4f05c1dcd19f1840ae
Raw
1struct Cat {
2 breed string
3}
4
5interface Animal {
6 breed string
7}
8
9fn (a Animal) foo() {}
10
11fn new_animal(breed string) Animal {
12 return &Cat{breed}
13}
14
15fn test_methods_on_interfaces_dont_exist_on_implementers() {
16 a := new_animal('persian')
17 if a is Cat {
18 a.foo()
19 }
20}
21