Uwe Krüger
|
44ec9e3ebc
|
checker/cgen: put `shared` struct always on heap (#8492)
|
2021-02-01 14:39:36 +01:00 |
Enzo
|
778b83a132
|
gen: fix multiple blank param with interface (#8480)
|
2021-01-31 19:44:55 +02:00 |
spaceface
|
effa3188dd
|
cgen: fix type casts to interfaces (#8476)
|
2021-01-31 19:24:33 +02:00 |
Enzo
|
2945040a67
|
gen: fix function with multiple blank params (#8475)
|
2021-01-31 16:37:26 +02:00 |
Nick Treleaven
|
f992099726
|
checker: check s.$method(arg) argument is []string (#8455)
|
2021-01-31 15:28:23 +01:00 |
Ruofan XU
|
ae60ea4ed5
|
tests: add regression tests for typeof map and array of fns (#8458)
|
2021-01-31 12:20:15 +02:00 |
Delyan Angelov
|
978359a6fc
|
tests: fix some warnings in preparation for `-W test-self`
|
2021-01-31 11:05:17 +02:00 |
yuyi
|
2963425995
|
cgen: fix fn_with_mut_args (fix #7139) (#8446)
|
2021-01-31 02:45:45 +01:00 |
Nick Treleaven
|
9c2bd24b4f
|
tests: add test for s.$method() with T.methods (#8451)
|
2021-01-30 18:35:41 +01:00 |
Daniel Däschle
|
2cadb3e4d8
|
gen: panic with correct type names (#8355)
|
2021-01-30 18:54:05 +02:00 |
Uwe Krüger
|
9c82eec529
|
checker: support nested propagation cases `f(g() ?)` (#8447)
|
2021-01-30 16:53:31 +01:00 |
Nick Treleaven
|
43c3a3b080
|
checker: fix compile-time call with string identifier expression (#8415)
|
2021-01-30 15:24:16 +01:00 |
div72
|
8c70920695
|
all: add offsetof (#8380)
|
2021-01-30 12:57:09 +01:00 |
Nick Treleaven
|
c0685eeefc
|
parser: add warning for s.$field.name without brackets (#8411)
|
2021-01-30 12:56:10 +01:00 |
Enzo
|
ced7649bf8
|
gen: fix `for ... in array` (#8428)
|
2021-01-30 12:27:11 +01:00 |
Uwe Krüger
|
5e9b528a9d
|
checker/cgen: support `return` from nested `or` (#8430)
|
2021-01-30 12:46:36 +02:00 |
Delyan Angelov
|
5564a2c1da
|
tests: fix filter_in_map_test.v (it did not have a `test_` function in it)
|
2021-01-30 10:29:48 +02:00 |
Uwe Krüger
|
4a955d9c54
|
sync: don't force `Mutex` and `Semaphore` to be reference (#8331)
|
2021-01-29 20:52:14 +02:00 |
yuyi
|
26c06a56b7
|
checker: fix array_insert_or_prepend_short_struct_init (#8397)
|
2021-01-29 14:53:14 +01:00 |
yuyi
|
56c4a36cd4
|
cgen: fix match_in_if_expression (#8407)
|
2021-01-29 14:51:17 +01:00 |
yuyi
|
ddcbc4440b
|
cgen: fix array_sort_by_references (fix #8390) (#8403)
|
2021-01-29 12:20:28 +02:00 |
Tim Basel
|
5fc7eadd8b
|
cgen: fix short struct init with `mut` (#8384)
|
2021-01-28 10:05:09 +02:00 |
Delyan Angelov
|
dceb63b9df
|
cgen: fix implicit the optional return value to have .ok = true, in anon `fn()?{}`
|
2021-01-28 02:26:02 +02:00 |
yuyi
|
d1ab22d45f
|
checker: fix array append short struct init (#8362)
|
2021-01-27 13:55:53 +01:00 |
Delyan Angelov
|
e5a84719ca
|
all: require calling `optfn() ?` / `optfn() or {...}` for `fn optfn() ? {}`
|
2021-01-26 16:43:17 +02:00 |
spaceface
|
5f2b2df546
|
checker: don't disallow defining methods on interfaces (#8335)
|
2021-01-26 11:56:17 +01:00 |
Daniel Däschle
|
7bb9c0e7b3
|
checker: fix multi generic args (#8347)
|
2021-01-26 09:37:48 +02:00 |
spaceface
|
daff085033
|
checker: fix treating C structs with capitalized fields as embeds (#8343)
|
2021-01-25 18:47:14 +02:00 |
Daniel Däschle
|
006a11454f
|
cgen: fix generic type $else $if (#8339)
|
2021-01-25 17:08:02 +01:00 |
Nick Treleaven
|
02d8ede94d
|
cgen: fix `$if T !is` (#8311)
|
2021-01-25 14:25:52 +01:00 |
yuyi
|
1c9950c84a
|
cgen: fix map_complex_high_order_fixed_array (#8329)
|
2021-01-25 14:40:53 +02:00 |
yuyi
|
d3327ba50f
|
cgen: fix for_mut_val_in_map_fixed_array (#8314)
|
2021-01-24 23:18:11 +01:00 |
spaceface
|
4be45e8d02
|
checker: add mutability checks for interface fields; add tests (#8312)
|
2021-01-24 22:11:17 +01:00 |
Uwe Krüger
|
815104e5d0
|
parser: parse `-1` and `-13.3` as number literals (#8321)
|
2021-01-24 22:09:51 +01:00 |
Daniel Däschle
|
750738aa12
|
cgen: fix optional sum types (#8319)
|
2021-01-24 20:56:44 +01:00 |
Uwe Krüger
|
1ea5cedd03
|
parser/cgen: fix explicit array/map shared/reference initializers (#8307)
|
2021-01-23 23:54:57 +02:00 |
Daniel Däschle
|
35432c5e92
|
gen: fix generic multi return (#8303)
|
2021-01-23 23:41:32 +02:00 |
Swastik Baranwal
|
8a59ffb4b7
|
cgen: allow `==` to be user defined if `!=` is auto generated and vice versa (#8286)
|
2021-01-23 16:59:39 +01:00 |
Delyan Angelov
|
4065a0327a
|
gen: fix autogeneration of .str() methods for sumtypes that have child types with custom .str() methods
|
2021-01-23 17:22:19 +02:00 |
Uwe Krüger
|
74115fe70a
|
parser: auto-import `sync` when `shared` objects are used (#8294)
|
2021-01-23 16:03:21 +01:00 |
Uwe Krüger
|
38880b23eb
|
checker: allow `a[i]` for `shared` arrays outside `unsafe` (#8292)
|
2021-01-23 13:33:32 +01:00 |
Alexander Medvednikov
|
d991712b3c
|
gg: native rendering mode on macOS
|
2021-01-23 10:25:43 +01:00 |
Daniel Däschle
|
c5c7addb88
|
checker: improve infer generic (#8281)
|
2021-01-23 10:19:08 +02:00 |
spaceface
|
c2d501e8a9
|
all: implement interface fields (#8259)
|
2021-01-23 08:57:17 +02:00 |
Daniel Däschle
|
dbf84520f1
|
all: update assoc syntax (#8274)
|
2021-01-22 23:24:48 +01:00 |
Daniel Däschle
|
500ebf77e4
|
all: implement multiple generics (#8231)
|
2021-01-22 13:49:56 +01:00 |
Alexander Medvednikov
|
46cdf4f1ff
|
0.2.2
|
2021-01-22 10:39:44 +01:00 |
Nick Treleaven
|
72168cd6bc
|
parser: support `mut:` section in the interface methods, and a mut interface fn modifier (#8092)
|
2021-01-22 10:02:28 +02:00 |
yuyi
|
d44c632d11
|
cgen: fix innermost value of map fixed array (fix #8214) (#8247)
|
2021-01-22 09:32:56 +02:00 |
Daniel Däschle
|
3ee7bc960f
|
checker/gen: fix smartcast pointer sumtype (#8260)
|
2021-01-21 22:31:25 +02:00 |
Louis Schmieder
|
0d204603d1
|
gen: fix generic comp time if (#8254)
|
2021-01-21 21:17:44 +02:00 |
yuyi
|
59c3e98c16
|
cgen: fix complex map_fixed_array (#8209)
|
2021-01-21 12:45:37 +01:00 |
yuyi
|
f13ba3a9a8
|
cgen: fix for_in_mut_val for maps (#8221)
|
2021-01-21 12:44:22 +01:00 |
Uwe Krüger
|
3ecbf78707
|
cgen: support explicit array handling even in [direct_array_access] functions (#8241)
|
2021-01-21 12:43:54 +01:00 |
Daniel Däschle
|
c6d6690064
|
checker: fix if expr infix (#8215)
* checker: fix if expr infix
* remove debugger code
* fmt
* remove debug
* add test cases
|
2021-01-21 12:42:24 +01:00 |
Enzo
|
55efd8309a
|
parser: fix parsing interface methods with varargs (#8229)
|
2021-01-20 23:15:02 +02:00 |
Alexander Medvednikov
|
57af8570fe
|
tests: another pointer struct test
|
2021-01-20 09:24:12 +01:00 |
joe-conigliaro
|
97ebecc5f4
|
usecache: get all tests running with -usecache enabled by default (p.1) (#7699)
|
2021-01-20 06:04:59 +01:00 |
yuyi
|
985ef52872
|
cgen: fix child struct's default values not assigned (#8202)
|
2021-01-19 17:10:22 +01:00 |
Ruofan XU
|
103901a5cb
|
example/test: add a binary search tree example and test (#8145)
|
2021-01-19 15:18:38 +02:00 |
Uwe Krüger
|
5067046538
|
parser: support `x = a[k] ?` propagation for arrays and maps (#8199)
|
2021-01-19 14:46:47 +02:00 |
yuyi
|
15cc1cd884
|
cgen: fix high order map assignment (#8198)
|
2021-01-19 14:31:24 +02:00 |
Delyan Angelov
|
85bcfdd636
|
checker: handle `a[i] or { statements expr }` the same as the other or blocks
|
2021-01-19 09:28:34 +02:00 |
Uwe Krüger
|
b74690cbec
|
builtin, checker, cgen: implement `x = a[k] or { ... }` for maps and arrays (#8193)
|
2021-01-19 06:06:57 +01:00 |
yuyi
|
a65b73d3e4
|
cgen: fix for_in_fixed_array (fix #8186) (#8195)
|
2021-01-19 05:50:23 +01:00 |
Uwe Krüger
|
5cc591b2b6
|
all: support generic `chan` (#8188)
|
2021-01-18 18:37:45 +01:00 |
yuyi
|
5ddb70940e
|
cgen: fix map_fixed_arrays str error (fix #8170) (#8178)
|
2021-01-18 10:34:29 +01:00 |
yuyi
|
6c87c25ef1
|
cgen: fix `for _,mut j in arr` for fixed arrays (fix #8163) (#8167)
|
2021-01-18 06:05:38 +01:00 |
yuyi
|
73fd4396c3
|
parser: fix fixed array using const size (fix #8144) (#8161)
|
2021-01-18 06:03:03 +01:00 |
Delyan Angelov
|
75af639721
|
checker: allow ptr++/ptr-- in unsafe{}, for any kind of pointer, except voidptr
|
2021-01-17 18:09:25 +02:00 |
BigBlack
|
28ed4da1ce
|
cgen: fix `array_slice(*a, 0, a.len)` C error, generated for `a[..a.len]`, for a `mut a []int` (#8168)
|
2021-01-17 17:22:23 +02:00 |
Uwe Krüger
|
e4850cd6dd
|
cgen: fix `for` iteration over fixed array literal (#8159)
|
2021-01-17 10:44:15 +01:00 |
yuyi
|
9376c57a51
|
cgen: fix for_in_mut_val (fix #8087) (#8129)
|
2021-01-17 05:32:34 +01:00 |
Delyan Angelov
|
5ae55731b9
|
embed: move to `v.embed_file`, fix CI failing test
|
2021-01-16 20:03:07 +02:00 |
Delyan Angelov
|
5c3ef588c3
|
live: move to vlib/v/live
|
2021-01-16 15:05:01 +02:00 |
Delyan Angelov
|
263fb7d7a8
|
checker: fix `instance.cb_field(mut arg)`
|
2021-01-15 20:28:42 +02:00 |
Uwe Krüger
|
1c6fe83408
|
parser: fix parsing of `go` call expression (#8138)
|
2021-01-15 19:47:49 +02:00 |
Ruofan XU
|
5de287a6e7
|
tests: add test of sumtype-based binary tree (#8121)
|
2021-01-15 15:10:30 +02:00 |
Uwe Krüger
|
8d014d4646
|
sync: allow `go` routine join with return value (#8125)
|
2021-01-15 13:45:26 +01:00 |
BigBlack
|
80008a40e2
|
fix fixed_array slice ommit high_value (#8025)
|
2021-01-15 10:28:20 +01:00 |
yuyi
|
0945efebf1
|
cgen: fix anon_fn_call (#8120)
|
2021-01-15 10:25:30 +01:00 |
Larpon
|
f73500f2fe
|
all: add support for the `x := $embed_file('v.png')` compile time call (#8048)
|
2021-01-14 16:20:11 +02:00 |
yuyi
|
a2efb5319d
|
all: change `[1,2,3]!!` to `[1,2,3]!` (#8101)
|
2021-01-14 03:51:13 +01:00 |
zakuro
|
47536df2d0
|
table: remove nr_dims from Array (#8053)
|
2021-01-13 23:43:19 +01:00 |
Delyan Angelov
|
0d25091afd
|
tests: fix random color mismatches in the CI
|
2021-01-13 21:27:30 +02:00 |
Daniel Däschle
|
2030875c0a
|
gen: fix go call with generic function (#8093)
|
2021-01-13 17:35:50 +02:00 |
Nick Treleaven
|
a1245de25b
|
gen: fix interface method call name that is a C reserved word (#8091)
|
2021-01-13 16:37:47 +02:00 |
Ruofan XU
|
245ed9160a
|
gen: fix `mut arr [3]int` as a fn argument (#8085)
|
2021-01-13 15:52:46 +02:00 |
Nick Treleaven
|
ac85257ea0
|
parser: fix sizeof(mod.Type), fix checking sizeof expression (#8065)
|
2021-01-13 06:13:39 +01:00 |
yuyi
|
dd6febf6fa
|
cgen: fix gen_array_sort() (#8077)
|
2021-01-13 06:12:22 +01:00 |
Swastik Baranwal
|
1e853b0efc
|
cgen: implement argument operator overloading (#8067)
|
2021-01-13 03:31:14 +01:00 |
Daniel Däschle
|
3289dff7ff
|
checker: require explicit return none (#8060)
|
2021-01-12 11:43:55 +01:00 |
Swastik Baranwal
|
82a5300044
|
cgen: allow sort with`<` and `>` op overloading (#8042)
|
2021-01-12 04:38:12 +01:00 |
Uwe Krüger
|
5f95dd54bd
|
builtin: rename `any_*` -> `*_literal` - 2. part (#8032)
|
2021-01-11 22:58:15 +01:00 |
Swastik Baranwal
|
0081e5740d
|
checker: only allow `!=` and `==` for enum (#7985)
|
2021-01-10 12:26:31 +02:00 |
Swastik Baranwal
|
1f5255c2bb
|
cgen: implement `>=` and `<=` (#7991)
|
2021-01-10 12:24:46 +02:00 |
Daniel Däschle
|
a8dd13f086
|
parser: change array decompose syntax (#7965)
|
2021-01-09 22:48:23 +01:00 |
Delyan Angelov
|
561d4f84b3
|
tests: remove tmp files on OK live_test.v run
|
2021-01-09 20:56:02 +02:00 |
Daniel Däschle
|
687b152318
|
gen: fix generation of comptime if T is (#7971)
|
2021-01-08 19:39:58 +02:00 |
Swastik Baranwal
|
9291fb5e0c
|
checker: disallow comparison between enum and int (#7886)
|
2021-01-08 17:41:52 +01:00 |
Daniel Däschle
|
88d18f3303
|
checker: smartcast in for loops (#7942)
|
2021-01-07 21:35:32 +01:00 |
Nick Treleaven
|
cbefe6c32f
|
parser: warn about old use of `typeof` (#7923)
|
2021-01-07 20:32:02 +01:00 |
Daniel Däschle
|
085085a2b9
|
parser: fix sumtype match with array type (#7939)
|
2021-01-07 20:12:35 +01:00 |
Daniel Däschle
|
a8e4d1df40
|
cgen: fix match comparing with ident of type string (#7921)
|
2021-01-06 20:03:50 +02:00 |
Daniel Däschle
|
9025c3528f
|
all: implement comptime if for generic type `$if T is string {` (#7901)
|
2021-01-06 19:58:53 +02:00 |
Nick Treleaven
|
7a6b160d63
|
checker: fix indexing a type alias instance (#7889)
|
2021-01-05 19:17:18 +01:00 |
yuyi
|
10e7045bee
|
cgen: fix array/fixed_array_rune_str (#7881)
|
2021-01-05 18:16:55 +02:00 |
Daniel Däschle
|
5841d5d8e1
|
all: implement basic comptime field selector (#7888)
|
2021-01-05 16:11:43 +02:00 |
zakuro
|
5c1981379e
|
parser: fix a bug when using some types like map in generic methods (#7872)
|
2021-01-05 02:59:36 +01:00 |
spaceface
|
efb80bdffd
|
all: implement iterators in for loops (#7867)
|
2021-01-05 01:06:44 +01:00 |
Ned Palacios
|
82162b8ff8
|
cgen: interface fix + add more interface tests (#7776)
|
2021-01-04 21:54:13 +02:00 |
Uwe Krüger
|
bf904c2f82
|
checker, cgen: allow using literals as `int` and `f64` for sum types (#7864)
|
2021-01-04 20:48:13 +02:00 |
Daniel Däschle
|
164d7bf5fb
|
parser: struct updating syntax with `Abc{...oldabc newfield: val}` (#7865)
|
2021-01-04 20:19:03 +02:00 |
yuyi
|
46d311dcc4
|
generic: fix return multi array generic (fix #7727 #7753) (#7855)
|
2021-01-04 18:40:53 +02:00 |
Nick Treleaven
|
b9c6011602
|
parser: support casting to a pointer to array (#7861)
|
2021-01-04 18:22:04 +02:00 |
Daniel Däschle
|
43adbf4b66
|
cgen: fix filter in map (#7844)
|
2021-01-04 01:04:53 +01:00 |
Enzo
|
9332f7cac2
|
checker: allow `map` method name (#7834)
|
2021-01-03 16:57:29 +01:00 |
Swastik Baranwal
|
9033099676
|
cgen: implement overriding of `!=` and `==` (#7837)
|
2021-01-03 16:19:02 +01:00 |
yuyi
|
60b3658e6f
|
gen: fix str_gen_test.v (#7826)
|
2021-01-03 15:40:47 +01:00 |
zakuro
|
6bd35505a2
|
parser: fix error when using imported types in short fn signature (#7795)
|
2021-01-02 15:09:54 +02:00 |
Ned Palacios
|
40b8d9ca3d
|
checker: fix infer_fn_type for generic methods (#7767)
|
2021-01-01 17:33:23 +01:00 |
Swastik Baranwal
|
24b18f05c4
|
cgen: implement > and < for structs (#7774)
|
2021-01-01 14:54:32 +01:00 |
Nick Treleaven
|
d15d13674c
|
parser: parse non-identifier expressions for sizeof too (#7781)
|
2021-01-01 15:38:11 +02:00 |
clubby789
|
9ac237d9c0
|
match: implement exhaustive match for bool values (#7761)
|
2021-01-01 13:28:23 +02:00 |
yuyi
|
c3dafad7ef
|
generics: implement method generics (fix #7638) (#7732)
|
2020-12-31 18:00:22 +01:00 |
Uwe Krüger
|
74ea5ac99f
|
checker: check reference return to be really reference (#7739)
|
2020-12-31 12:42:22 +01:00 |
Joe Conigliaro
|
b2bd2c9337
|
cgen: make multi return decl order consistant & use typedefs. closes #7728
|
2020-12-31 21:55:21 +11:00 |
Joe Conigliaro
|
3e655d6bf6
|
cgen: fix multi return auto str methods. closes #7726
|
2020-12-31 10:21:02 +11:00 |
Daniel Däschle
|
9a31744255
|
cgen: fix embed generic field access & method call (#7725)
|
2020-12-30 23:49:02 +01:00 |
Daniel Däschle
|
b4c5fa8ca0
|
cgen: fix embed field access from reference (#7724)
|
2020-12-30 21:50:58 +01:00 |
Daniel Däschle
|
e4edc5925a
|
parser: embed always public and mutable (#7722)
|
2020-12-30 21:17:48 +02:00 |
Daniel Däschle
|
b8af81240a
|
cgen: fix struct embedding method when receiver is ptr (#7710)
|
2020-12-30 20:44:01 +02:00 |
Alexander Medvednikov
|
ad78875a8c
|
parser: allow `const x = 0` consts outside of const blocks
|
2020-12-30 02:15:44 +01:00 |
Alexander Medvednikov
|
e26a690975
|
0.2.1
|
2020-12-29 21:24:33 +01:00 |
joe-conigliaro
|
02965e753e
|
all: re-implement variadics using arrays & implement array decomposition to varg (#7689)
|
2020-12-29 16:14:08 +01:00 |
yuyi
|
32091dd90e
|
cgen: fix struct equality (#7649)
|
2020-12-28 18:22:47 +02:00 |
Delyan Angelov
|
3f3ae67b55
|
Revert "cgen: fix struct_eq (#7639)"
This reverts commit 164dd3000b .
|
2020-12-28 13:16:00 +02:00 |
yuyi
|
164dd3000b
|
cgen: fix struct_eq (#7639)
|
2020-12-28 12:25:22 +02:00 |
Delyan Angelov
|
df61cf246b
|
cgen: fix `x.interface_field = value_implementing_interface` (closes #7620)
|
2020-12-27 19:12:39 +02:00 |
zakuro
|
21805ea2a5
|
all: make eprint[ln] behave same as print[ln] (#7595)
|
2020-12-27 11:22:16 +01:00 |
Daniel Däschle
|
7507403118
|
cgen: fix zero init bug of embedded structs (#7567)
|
2020-12-25 22:46:42 +02:00 |
Delyan Angelov
|
c6b0ce2a07
|
ci: disable socket error assertion in profile_test.v
|
2020-12-25 16:10:18 +02:00 |
Delyan Angelov
|
a631078d8a
|
tests: add vlib/v/tests/profile/profile_test.v regression test
|
2020-12-25 14:30:22 +02:00 |
Delyan Angelov
|
36dcace0a7
|
cgen: fix compiling call expressions with no varargs (tcc bug)
|
2020-12-23 21:15:00 +02:00 |
Daniel Däschle
|
b27f5c378c
|
all: reimplement struct embedding with methods (#7506)
|
2020-12-23 19:12:49 +01:00 |
Alexander Medvednikov
|
e4f94b6ad5
|
V 0.2
|
2020-12-22 20:48:45 +01:00 |
Delyan Angelov
|
5f5c53348b
|
ci: fix vlib/v/tests/project_with_c_code_2/modc/wrapper.v
|
2020-12-20 18:33:31 +02:00 |
Alexander Medvednikov
|
50a6976b5e
|
all: minor array fixes
|
2020-12-20 16:08:56 +01:00 |
Alexander Medvednikov
|
6bf21c300a
|
checker: do not allow arr1=arr2 without cloning
|
2020-12-20 15:33:55 +01:00 |
Alexander Medvednikov
|
60c936a688
|
tests: remove map reference test
|
2020-12-20 07:59:39 +01:00 |