mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
make json work with new optionals
This commit is contained in:
@ -105,7 +105,7 @@ string res = tos2("");
|
||||
}
|
||||
// cJSON_delete
|
||||
//p.cgen.fns << '$dec return opt_ok(res); \n}'
|
||||
p.cgen.fns << '$dec return opt_ok(res, sizeof(res)); \n}'
|
||||
p.cgen.fns << '$dec return opt_ok(res, sizeof(*res)); \n}'
|
||||
p.cgen.fns << '/*enc start*/ $enc return o;}'
|
||||
}
|
||||
|
||||
|
44
compiler/tests/struct_test.v
Normal file
44
compiler/tests/struct_test.v
Normal file
@ -0,0 +1,44 @@
|
||||
struct A{
|
||||
mut:
|
||||
val int
|
||||
nums []int
|
||||
}
|
||||
|
||||
struct B{
|
||||
mut:
|
||||
a A
|
||||
}
|
||||
struct C {
|
||||
mut:
|
||||
b B
|
||||
nums []int
|
||||
as []A
|
||||
num int
|
||||
}
|
||||
|
||||
fn test_struct_levels() {
|
||||
mut c := C{}
|
||||
assert c.nums.len == 0
|
||||
c.nums << 3
|
||||
assert c.nums.len == 1
|
||||
assert c.nums[0] == 3
|
||||
c.nums[0] = 4
|
||||
assert c.nums[0] == 4
|
||||
c.b.a.val = 34
|
||||
assert c.b.a.val == 34
|
||||
c.b.a.nums = [0;0]
|
||||
c.b.a.nums << 0
|
||||
c.b.a.nums << 2
|
||||
assert c.b.a.nums.len == 2
|
||||
assert c.b.a.nums[0] == 0
|
||||
assert c.b.a.nums[1] == 2
|
||||
c.b.a.nums [0] = 7
|
||||
assert c.b.a.nums[0] == 7
|
||||
c.as << A{val:8}
|
||||
assert c.as.len == 1
|
||||
assert c.as[0].val == 8
|
||||
c.num = 20
|
||||
assert c.num == 20
|
||||
c.as[0].val = 10
|
||||
assert c.as[0].val == 10
|
||||
}
|
Reference in New Issue
Block a user