v2 / vlib / v / tests / fns / method_call_none_check_test.v
28 lines · 22 sloc · 408 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1struct Foo {
2 x int
3}
4
5struct Bar {
6 x int
7}
8
9type Foobar = Bar | Foo
10
11struct Foobars {
12 m map[string]Foobar
13}
14
15fn (f &Foobars) find_foobar(name string) ?Foobar {
16 return f.m[name] or { return none }
17}
18
19fn (mut f Foobars) is_known(name string) bool {
20 return f.find_foobar(name) != none
21}
22
23fn test_main() {
24 mut foobars := Foobars{
25 m: map[string]Foobar{}
26 }
27 assert foobars.is_known('deadbeef') == false
28}
29