cgen: fix enum in map (#9912)
parent
a065d014a2
commit
6795b02e24
|
@ -617,6 +617,15 @@ type ColorAlias = Color
|
|||
fn test_alias_enum() {
|
||||
mut m := map[ColorAlias]string{}
|
||||
m[Color.red] = 'hi'
|
||||
assert m[Color.red] == 'hi'
|
||||
}
|
||||
|
||||
fn test_enum_in_map() {
|
||||
mut m := map[Color]string{}
|
||||
m[Color.red] = 'hi'
|
||||
assert Color.red in m
|
||||
assert Color.green !in m
|
||||
assert Color.blue !in m
|
||||
}
|
||||
|
||||
fn test_voidptr_keys() {
|
||||
|
|
|
@ -3537,8 +3537,8 @@ fn (mut g Gen) infix_in_or_not_in(node ast.InfixExpr, left_sym ast.TypeSymbol, r
|
|||
} else if right_sym.kind == .map {
|
||||
g.write('_IN_MAP(')
|
||||
if !node.left_type.is_ptr() {
|
||||
left_type_str := g.table.type_to_str(node.left_type)
|
||||
g.write('ADDR($left_type_str, ')
|
||||
styp := g.typ(node.left_type)
|
||||
g.write('ADDR($styp, ')
|
||||
g.expr(node.left)
|
||||
g.write(')')
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue