mirror of
https://github.com/vlang/v.git
synced 2025-09-08 23:07:19 -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 { '' }
|
||||
opt := if elem_type.has_flag(.option) { '?' } 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]
|
||||
|
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