mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
cgen: fix println(value.name)
inside $for value in Test.values{
(#17746)
This commit is contained in:
parent
8693da4d36
commit
37a79624fc
@ -3427,13 +3427,6 @@ fn (mut g Gen) selector_expr(node ast.SelectorExpr) {
|
||||
g.error('unknown generic field', node.pos)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// for comp-time enum value evaluation
|
||||
if node.expr_type == g.enum_data_type && node.expr is ast.Ident
|
||||
&& (node.expr as ast.Ident).name == 'value' {
|
||||
g.write(node.str())
|
||||
return
|
||||
}
|
||||
}
|
||||
if node.expr_type == 0 {
|
||||
g.checker_bug('unexpected SelectorExpr.expr_type = 0', node.pos)
|
||||
|
@ -3,7 +3,26 @@ enum Test {
|
||||
bar
|
||||
}
|
||||
|
||||
fn test_main() {
|
||||
fn test_print_value_name() {
|
||||
$for value in Test.values {
|
||||
println(value.name)
|
||||
}
|
||||
}
|
||||
|
||||
fn test_print_value_value() {
|
||||
$for value in Test.values {
|
||||
println(value.value)
|
||||
}
|
||||
}
|
||||
|
||||
fn test_print_both() {
|
||||
$for values in Test.values {
|
||||
println(values.name)
|
||||
println(values.value)
|
||||
}
|
||||
}
|
||||
|
||||
fn test_comptime_for_in_enum_values() {
|
||||
$for item in Test.values {
|
||||
assert item.name in ['foo', 'bar']
|
||||
match item.value {
|
||||
|
Loading…
Reference in New Issue
Block a user