cgen: fix array of alias's slice() (#10772)
parent
b09fa69cb3
commit
1b26ce1f7a
|
@ -58,7 +58,7 @@ fn (mut g Gen) index_expr(node ast.IndexExpr) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (mut g Gen) range_expr(node ast.IndexExpr, range ast.RangeExpr) {
|
fn (mut g Gen) range_expr(node ast.IndexExpr, range ast.RangeExpr) {
|
||||||
sym := g.table.get_type_symbol(node.left_type)
|
sym := g.table.get_final_type_symbol(node.left_type)
|
||||||
if sym.kind == .string {
|
if sym.kind == .string {
|
||||||
g.write('string_substr(')
|
g.write('string_substr(')
|
||||||
g.expr(node.left)
|
g.expr(node.left)
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
type Ints = []int
|
||||||
|
|
||||||
|
fn (i Ints) slice(to int) Ints {
|
||||||
|
return i[0..to]
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test_array_of_alias_slice() {
|
||||||
|
values := Ints([5, 7, 9])
|
||||||
|
|
||||||
|
println(values.slice(2))
|
||||||
|
assert values.slice(2) == Ints([5, 7])
|
||||||
|
}
|
Loading…
Reference in New Issue