mirror of
https://github.com/vlang/v.git
synced 2025-09-13 01:16:02 -04:00
parent
ac7512b2c2
commit
875c165495
@ -966,7 +966,11 @@ pub fn (t &Table) array_name(elem_type Type) string {
|
|||||||
ptr := if elem_type.is_ptr() { '&'.repeat(elem_type.nr_muls()) } else { '' }
|
ptr := if elem_type.is_ptr() { '&'.repeat(elem_type.nr_muls()) } else { '' }
|
||||||
opt := if elem_type.has_flag(.option) { '?' } else { '' }
|
opt := if elem_type.has_flag(.option) { '?' } else { '' }
|
||||||
res := if elem_type.has_flag(.result) { '!' } else { '' }
|
res := if elem_type.has_flag(.result) { '!' } else { '' }
|
||||||
return '[]${opt}${res}${ptr}${elem_type_sym.name}'
|
mut name := elem_type_sym.name
|
||||||
|
if elem_type_sym.info is Struct && elem_type_sym.info.scoped_name != '' {
|
||||||
|
name = elem_type_sym.info.scoped_name
|
||||||
|
}
|
||||||
|
return '[]${opt}${res}${ptr}${name}'
|
||||||
}
|
}
|
||||||
|
|
||||||
@[inline]
|
@[inline]
|
||||||
|
32
vlib/v/tests/structs/struct_scoped_test.v
Normal file
32
vlib/v/tests/structs/struct_scoped_test.v
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
module main
|
||||||
|
|
||||||
|
fn test_a() {
|
||||||
|
struct Ak {
|
||||||
|
a int
|
||||||
|
b int
|
||||||
|
}
|
||||||
|
|
||||||
|
cases := [
|
||||||
|
Ak{1, 1},
|
||||||
|
Ak{2, 2},
|
||||||
|
]
|
||||||
|
for _, k in cases {
|
||||||
|
assert k.a == k.b
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test_b() {
|
||||||
|
struct Ak {
|
||||||
|
a int
|
||||||
|
b int
|
||||||
|
c int
|
||||||
|
}
|
||||||
|
|
||||||
|
cases := [
|
||||||
|
Ak{1, 2, 2},
|
||||||
|
Ak{2, 2, 2},
|
||||||
|
]
|
||||||
|
for _, k in cases {
|
||||||
|
assert k.b == k.c
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user