v/vlib/v/checker/tests/match_sumtype_multiple_type...

34 lines
393 B
V

struct Alfa {
char rune
}
fn (a Alfa) letter() rune {
return a.char
}
struct Bravo {
char rune
}
fn (b Bravo) letter() rune {
return b.char
}
struct Charlie {}
type NATOAlphabet = Alfa | Bravo | Charlie
fn method_not_exists() {
a := Alfa{}
l := NATOAlphabet(a)
match l {
Alfa, Charlie {
assert l.char == `a`
assert l.letter() == 'a'
}
Bravo {
assert false
}
}
}