Skip to content

Commit 708c73b

Browse files
authored
cgen: fix const fixed array with type alias (fix #24936) (#24946)
1 parent 810a90e commit 708c73b

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

vlib/v/gen/c/cgen.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5479,7 +5479,7 @@ fn (mut g Gen) cast_expr(node ast.CastExpr) {
54795479
if node_typ_is_option {
54805480
g.expr_with_opt(node.expr, expr_type, node.typ)
54815481
} else {
5482-
if node.expr is ast.ArrayInit && g.assign_op != .decl_assign {
5482+
if node.expr is ast.ArrayInit && g.assign_op != .decl_assign && !g.inside_const {
54835483
g.write('(${g.styp(node.expr.typ)})')
54845484
}
54855485
g.expr(node.expr)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
pub const k_palette_colors = [Pixel([u8(255), 255, 255]!), Pixel([u8(192), 192, 192]!),
2+
Pixel([u8(96), 96, 96]!), Pixel([u8(0), 0, 0]!)]
3+
4+
pub type Pixel = [3]u8
5+
pub type Palette = []Pixel
6+
7+
fn test_main() {
8+
a := Palette(k_palette_colors)
9+
10+
assert a[0] == [u8(255), 255, 255]!
11+
assert a[1] == [u8(192), 192, 192]!
12+
assert a[2] == [u8(96), 96, 96]!
13+
assert a[3] == [u8(0), 0, 0]!
14+
}

0 commit comments

Comments
 (0)