Skip to content

Commit 00ef1a6

Browse files
authored
cgen: fix const declaration dependant mapping when using update_expr (fix #24437) (#24455)
1 parent 3b8f2fe commit 00ef1a6

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

vlib/v/ast/table.v

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2601,6 +2601,9 @@ pub fn (t &Table) dependent_names_in_expr(expr Expr) []string {
26012601
names << t.dependent_names_in_expr(expr.expr)
26022602
}
26032603
StructInit {
2604+
if expr.has_update_expr {
2605+
names << t.dependent_names_in_expr(expr.update_expr)
2606+
}
26042607
for field in expr.init_fields {
26052608
names << t.dependent_names_in_expr(field.expr)
26062609
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
struct Cfg {
2+
id string
3+
name string
4+
}
5+
6+
pub const cfg1 = Cfg{
7+
...cfg0
8+
name: 'name1'
9+
}
10+
pub const cfg0 = Cfg{
11+
id: 'cfg0'
12+
name: 'name'
13+
}
14+
15+
fn test_main() {
16+
assert cfg1.id == 'cfg0'
17+
}

0 commit comments

Comments
 (0)