yuyi
|
329a6c974e
|
table, checker, cgen: implement generic fn infering fixed array (#10352)
|
2021-06-06 01:11:08 +03:00 |
Lukas Neubert
|
3f00ff465b
|
checker: check or block inside println calls (#10354)
|
2021-06-05 23:01:58 +03:00 |
crthpl
|
9553c5a4e6
|
parser: fix multiple output modifiers in asm (#10347)
|
2021-06-04 23:18:11 +03:00 |
Ehsan Afzali
|
672bb6ca7f
|
parser: fix required function members in struct (#10299)
|
2021-06-03 02:55:58 +03:00 |
yuyi
|
b0bafa6376
|
cgen: fix or_block in for declaration (#10317)
|
2021-06-03 01:18:52 +03:00 |
Delyan Angelov
|
b28def7c11
|
tests: add vlib/v/tests/failing_tests_test.v, support `testdata` in `v test-self` too
|
2021-06-03 00:32:09 +03:00 |
Delyan Angelov
|
14d09aa7c2
|
ci: fix failing `v -cstrict vlib/v/tests/channels_test.v`
|
2021-06-01 16:48:49 +03:00 |
Delyan Angelov
|
5cb2683e97
|
v.gen.c,v.markused: fix `println(ch)` when ch is a channel
|
2021-06-01 13:46:59 +03:00 |
zakuro
|
0afeba5588
|
cgen: fix C error with clang, when declaring a fn type with an alias type argument (#10297)
|
2021-06-01 12:37:27 +03:00 |
Wertzui123
|
148bb31f6e
|
v.parser: allow for `if x { $if y {} } else {}`, fix #10243 (#10294)
|
2021-06-01 12:19:39 +03:00 |
yuyi
|
9fc5b9dc54
|
cgen: fix match in map or expr (#10283)
|
2021-05-31 17:10:33 +03:00 |
Uwe Krüger
|
d39a55ac11
|
checker: forbid leaving function from inside `defer` block (#10285)
|
2021-05-31 17:09:57 +03:00 |
Louis Schmieder
|
38796521fa
|
all: allow defer use from other scope (#10284)
|
2021-05-31 14:43:44 +03:00 |
yuyi
|
5aa4f622b6
|
checker: fix match expr returning optional (#10281)
|
2021-05-31 12:34:55 +03:00 |
Lukas Neubert
|
5b9256ba0b
|
cgen: write alias typedefs just before interfaces (#10272)
|
2021-05-31 12:26:06 +03:00 |
Uwe Krüger
|
aa861d1cac
|
docs: describe array/slice behaviour (#10252)
|
2021-05-30 14:48:33 +03:00 |
yuyi
|
13ddfaa433
|
checker: fix generic fn infer nested struct (#10262)
|
2021-05-30 14:06:52 +03:00 |
yuyi
|
e4f6369cd1
|
checker: fix match error to none (#10245)
|
2021-05-29 19:30:57 +03:00 |
yuyi
|
8785599094
|
checker, cgen: fix optional with if expr (#10242)
|
2021-05-29 10:00:12 +03:00 |
Lukas Neubert
|
6b683d31ac
|
v.parser: support imported enums as map keys (#10234)
|
2021-05-28 20:09:03 +03:00 |
yuyi
|
9ea753e853
|
checker: fix generic with fixed array parameter (#10233)
|
2021-05-28 18:51:55 +03:00 |
Alexander Medvednikov
|
ca8158ac41
|
parser: handle casts in match expressions; c2v: minor fixes
|
2021-05-28 17:59:43 +03:00 |
Ruofan XU
|
4e55b9c08e
|
example: improve binary search tree example (#10226)
|
2021-05-27 20:13:02 +03:00 |
Delyan Angelov
|
2b62dca000
|
v: support for `$if threads {}, depending on whether `go ` was used at all (#10227)
|
2021-05-27 18:36:07 +03:00 |
Uwe Krüger
|
8828054e5b
|
builtin: fix arrays/slices memory bug (#10219)
|
2021-05-27 15:50:06 +03:00 |
zakuro
|
607dbd36d7
|
parser: set is_public of TypeSymbol for fn type decl (#10212)
|
2021-05-27 10:17:08 +03:00 |
yuyi
|
7c0cd2f41d
|
checker, cgen: fix match with complex sumtype exprs (#10215)
|
2021-05-27 10:13:50 +03:00 |
yuyi
|
cf07375d1b
|
checker: fix multi types generic struct init (#10201)
|
2021-05-25 19:51:55 +03:00 |
yuyi
|
f3274700cd
|
cgen: fix generic struct to string (#10191)
|
2021-05-25 07:45:54 +03:00 |
Delyan Angelov
|
13d1d28db1
|
v.parser: fix -autofree for script mode programs that do not have explicit `fn main(){}`
|
2021-05-24 14:42:09 +03:00 |
penguindark
|
d8d05e0106
|
all: new string interpolation in pure V (#10181)
|
2021-05-24 05:20:45 +03:00 |
yuyi
|
eb5ac23988
|
checker: fix match expr with if expr (fix #10177 #10178) (#10179)
|
2021-05-23 17:59:57 +03:00 |
Lukas Neubert
|
79b97fa361
|
fmt: keep names of parameters in anonymus function (#10173)
|
2021-05-23 05:54:39 +03:00 |
yuyi
|
565dbc4051
|
checker: fix inferring method receiver types (#10166)
|
2021-05-22 11:04:19 +03:00 |
yuyi
|
9be596ef12
|
checker: fix generic struct with anon fn type (#10161)
|
2021-05-21 17:21:18 +03:00 |
zakuro
|
be92f81b2e
|
checker: fix type error in `f<T>(fn (v T))` with multiple different Ts (#10154)
|
2021-05-21 06:13:04 +03:00 |
yuyi
|
bf69d20353
|
checker: fix generic struct with anon fn parameter (#10147)
|
2021-05-20 16:57:27 +03:00 |
Delyan Angelov
|
da090f91d8
|
cgen: fix using and auto printing `x := [16]&Type{}`
|
2021-05-20 15:59:02 +03:00 |
yuyi
|
492d264d08
|
checker: fix generic structs init (#10134)
|
2021-05-20 09:18:51 +03:00 |
Enzo
|
906b207e58
|
checker: deprecate using V strings in C function calls (#10140)
|
2021-05-20 09:17:44 +03:00 |
spaceface
|
9ddf1ec327
|
cgen: fix accessing fields in propagated optional subexpressions (#10136)
|
2021-05-19 21:28:17 +03:00 |
yuyi
|
170282b2af
|
checker: fix generics fn inferred structure type (fix #10093) (#10096)
|
2021-05-15 12:58:33 +03:00 |
Uwe Krüger
|
7bfd89567b
|
shared: support `lock` on SelectorExpression (#10105)
|
2021-05-15 04:34:27 +03:00 |
yuyi
|
b728d89069
|
checker: fix generics with generic anon fn parameter (#10101)
|
2021-05-14 12:01:57 +03:00 |
crthpl
|
4273a9697e
|
parser: add support for flags in asm output constraints (#10103)
|
2021-05-14 12:01:15 +03:00 |
yuyi
|
0139836412
|
tests: add more generic structs tests (#10095)
|
2021-05-14 01:57:55 +03:00 |
zakuro
|
a9435f3c25
|
cgen: fix `cannot take rvalue` error of interface (#10040)
|
2021-05-13 17:54:48 +03:00 |
yuyi
|
14b7ce0f04
|
checker: fix generics fn return generics fn type (fix #10085) (#10088)
|
2021-05-13 12:26:13 +03:00 |
Delyan Angelov
|
cf3dd7a51f
|
v.checker: fix `unused variable` warning on `*p = val`
|
2021-05-12 18:03:01 +03:00 |
crthpl
|
8361f714dd
|
cgen: fix deadlock when returning/breaking in `lock` (#10079)
|
2021-05-12 11:44:47 +03:00 |
Delyan Angelov
|
d463817f80
|
Revert "Revert "cgen: fix generics with generics fn type parameter (#10078)""
This reverts commit d3de91ee86 .
|
2021-05-11 11:14:58 +03:00 |
Delyan Angelov
|
d3de91ee86
|
Revert "cgen: fix generics with generics fn type parameter (#10078)"
This reverts commit e310513a5f .
|
2021-05-11 10:59:55 +03:00 |
yuyi
|
e310513a5f
|
cgen: fix generics with generics fn type parameter (#10078)
|
2021-05-11 09:24:23 +03:00 |
El Koulali András
|
3e5a5754f3
|
cgen: fix constants with multi-statement C initializations (#10058)
|
2021-05-09 03:25:44 +03:00 |
spaceface
|
ef7454b5e2
|
checker: fix calling functions with variadic interface parameters (#10052)
|
2021-05-08 22:26:13 +03:00 |
yuyi
|
ed7c8d5e19
|
checker: fix generics return recursive generic struct (fix #10028) (#10031)
|
2021-05-08 14:33:09 +03:00 |
yuyi
|
3dfbd2351b
|
checker,cgen: fix generics with generic_fn type parameter (#10022)
|
2021-05-08 14:06:56 +03:00 |
Delyan Angelov
|
8a380f4699
|
tools: make `v test-cleancode` test everything by default (#10050)
|
2021-05-08 13:32:29 +03:00 |
Uwe Krüger
|
d26ac5692e
|
all: various fixes for [heap]/auto-heap handling (#10033)
|
2021-05-07 15:58:48 +03:00 |
Delyan Angelov
|
ea74e2bc64
|
v.parser: add p.unique_prefix, add run_project_folders_test.v (closes #10023)
|
2021-05-06 21:14:19 +03:00 |
yuyi
|
a6764e3cc3
|
table: fix generics struct with anon fn fields (#10024)
|
2021-05-06 20:24:08 +03:00 |
Delyan Angelov
|
ac2eaa05c7
|
tests: add interface_many_named_test.v regression test (closes #10013)
|
2021-05-06 19:54:49 +03:00 |
Louis Schmieder
|
b8e070b2a1
|
orm: fix multi substructs (#9941)
|
2021-05-04 12:35:18 +03:00 |
yuyi
|
581fe375cc
|
checker: fix generics with cascaded multi nested generic fn (fix #3815) (#9965)
|
2021-05-02 19:30:57 +03:00 |
Delyan Angelov
|
4b818fa2be
|
v: implement interface embedding (#9935)
|
2021-05-02 03:00:47 +03:00 |
spaceface
|
ef63491a8c
|
cgen: fix calling function-pointer fields on interfaces (#9948)
|
2021-05-01 16:45:53 +03:00 |
yuyi
|
f82f1977d1
|
tests: enable test_generic_fn_with_variadics() test (#9944)
|
2021-05-01 12:52:47 +03:00 |
yuyi
|
d236d6a473
|
parser, cgen: fix generics fn typeof name (fix #7357) (#9939)
|
2021-04-30 13:40:36 +03:00 |
yuyi
|
844662e0d6
|
cgen: fix generics fn str() (fix #7403) (#9940)
|
2021-04-30 13:40:07 +03:00 |
yuyi
|
ea0ac09297
|
checker: fix generics with nested external generics fn (#9933)
|
2021-04-29 17:37:54 +03:00 |
zakuro
|
191a167f42
|
checker: allow omitting the enum name of map key (#9919)
|
2021-04-29 08:33:41 +03:00 |
yuyi
|
c82c8059cf
|
tests: add recursive generics fn test (#9907)
|
2021-04-28 22:12:06 +03:00 |
Uwe Krüger
|
f4e92997f2
|
checker: support value array elements of `[heap]` type inside struct ref (#9899)
|
2021-04-28 07:47:00 +03:00 |
yuyi
|
9f1ac39770
|
checker: fix generics with anon generics fn argument (fix #9859) (#9897)
* checker: fix generics with anon generics fn argument
* cgen: fix typedef of generics anon fn
* fix check generics argument types
|
2021-04-27 15:25:42 +03:00 |
Don Park
|
aebb551e93
|
cgen: do full struct initialisation for V structs, fixes invalid data from `map[string]Struct{}['unknown']` (#9878)
|
2021-04-27 08:18:48 +03:00 |
Uwe Krüger
|
787a63dab6
|
cgen: execute `defer` block *after* return expression is evaluated (#9893)
|
2021-04-27 01:42:16 +03:00 |
yuyi
|
3877522ee3
|
table,checker,cgen: fix generics with recursive generics struct (#9862)
|
2021-04-26 20:05:10 +03:00 |
yuyi
|
21d1f86ead
|
checker: fix generics that return reference generics struct (fix #6218) (#9869)
|
2021-04-26 20:01:01 +03:00 |
yuyi
|
7ddf569de6
|
cgen: fix generics multi_array in (#9885)
|
2021-04-26 19:59:40 +03:00 |
Enzo
|
de8c4866a4
|
v.checker: fix postfix expr on generic types (#9887)
|
2021-04-26 19:57:05 +03:00 |
yuyi
|
2b43d3193b
|
checker: fix generics with assign generics struct (fix #7784) (#9889)
|
2021-04-26 19:54:22 +03:00 |
yuyi
|
212b4fa089
|
parser: implement infering generic type parameters from receiver types (fix #5862) (#9870)
|
2021-04-26 10:56:08 +03:00 |
Uwe Krüger
|
3c0a368af3
|
all: automatically move (some) referenced objects to heap (#9873)
|
2021-04-25 21:40:38 +03:00 |
Louis Schmieder
|
fc3b628440
|
v: support `$for attr in Test.attributes` (#9836)
|
2021-04-25 18:29:26 +03:00 |
zakuro
|
a0835ac139
|
checker/cgen: implement in expression for alias of array/map (#9871)
|
2021-04-25 18:17:54 +03:00 |
Carlos Esquerdo Bernat
|
42a65e1009
|
tests: add submodules tests (#9640)
|
2021-04-23 17:22:24 +03:00 |
yuyi
|
dd2002cc57
|
cgen: fix generics with multi generics struct receiver (#9853)
|
2021-04-23 15:17:57 +03:00 |
yuyi
|
8e455495b2
|
checker: fix generics that return multi generics struct (#9852)
|
2021-04-23 11:19:16 +03:00 |
yuyi
|
51258923d7
|
checker: fix generics call with reference arg (fix #9817 #9818) (#9830)
|
2021-04-21 06:40:11 +03:00 |
Delyan Angelov
|
bd539b6427
|
vfmt: fix string interpolation formatting with multiple ',",\' and \" .
|
2021-04-20 20:26:06 +03:00 |
Delyan Angelov
|
d4f31412b7
|
v: deprecate `@VROOT` in favour of `@VMODROOT` (#9795)
|
2021-04-19 19:01:47 +03:00 |
spaceface
|
73352583e7
|
ci: fix all `-cstrict` warnings with gcc and clang (#9792)
|
2021-04-19 15:38:48 +03:00 |
yuyi
|
75d1b54f7b
|
cgen: fix empty struct init using macro (#9787)
|
2021-04-18 16:34:25 +03:00 |
Henrixounez
|
ee7bcfd05c
|
checker: prevent double module name prepending on generics types regi… (#9791)
|
2021-04-18 16:26:40 +03:00 |
涂紳騰(Shen-Teng Tu)
|
3c72c6abc2
|
parser: disable template variables in `<style>` (#9777)
|
2021-04-17 15:47:36 +03:00 |
yuyi
|
731e942055
|
checker: fix generics with different order of generics fn (#9765)
|
2021-04-17 08:29:06 +03:00 |
Uwe Krüger
|
1b0f099552
|
parser: fix handling of `-` inside array literals (#9771)
|
2021-04-17 02:37:17 +03:00 |
Uwe Krüger
|
80bd2974b4
|
cgen: fix iteration over `shared` map (#9763)
|
2021-04-16 14:49:14 +03:00 |
yuyi
|
8cb44ed9db
|
checker: fix generics with nested generics fn (#9757)
|
2021-04-16 11:53:20 +03:00 |
涂紳騰(Shen-Teng Tu)
|
d9fdae1de9
|
parser: escape js template literal syntax inside <script> tags (#9738)
|
2021-04-15 12:39:39 +03:00 |
Louis Schmieder
|
dcf4a6b008
|
orm: add support for custom table names & custom field names (#9697)
|
2021-04-15 10:53:43 +03:00 |
yuyi
|
1250ce4353
|
cgen: fix generics with embed generics (fix #8694) (#9724)
|
2021-04-15 01:44:11 +02:00 |
crthpl
|
0099458c0a
|
all: small asm fixes and number labels (#9730)
|
2021-04-15 01:30:23 +02:00 |
Uwe Krüger
|
10bf974cda
|
all: gc: provide optimized mode (#9716)
|
2021-04-14 00:40:26 +02:00 |
Delyan Angelov
|
68c3eccec5
|
v: skip asserts in -prod mode inside non _test.v files
|
2021-04-13 13:07:57 +03:00 |
Delyan Angelov
|
1ef718c1e1
|
cgen: fix `return if cond { x,y } else { a,b }` generation
|
2021-04-13 11:52:18 +03:00 |
Henrixounez
|
6cfd53bf57
|
cgen: generate interfaces after all other typedefs (#9680)
|
2021-04-12 00:43:19 +03:00 |
Delyan Angelov
|
79fa15ec3a
|
cgen: allow printing of C.Structs containing &char/charptr fields
|
2021-04-12 00:14:58 +03:00 |
Enzo
|
a851901620
|
checker: allow casting bool to byte (#9676)
|
2021-04-11 13:24:24 +03:00 |
Uwe Krüger
|
954c436d28
|
checker/cgen: auto initialize `shared` elements of structs (#9669)
|
2021-04-11 10:30:23 +03:00 |
Uwe Krüger
|
78c6e35bde
|
checker/cgen: fix `v := rlock m { m[key] or { default_val } }` (#9666)
|
2021-04-10 16:57:18 +02:00 |
yuyi
|
9f093203a4
|
cgen: fix generics struct_init (#9661)
|
2021-04-10 17:33:15 +03:00 |
yuyi
|
cf64001474
|
checker: fix generics return generic struct (#9663)
|
2021-04-10 14:00:01 +03:00 |
yuyi
|
bf6a2f80ef
|
checker: fix generics with generic struct receiver (#9658)
|
2021-04-10 04:00:53 +02:00 |
Uwe Krüger
|
b346dd9464
|
cgen: fix blank identifier in IfGard (`if _ := <-ch { ... }`, etc) (#9650)
|
2021-04-09 17:18:36 +02:00 |
Uwe Krüger
|
84fa1ae444
|
boehm-gc: support a `[keep_args_alive]` tag for C functions (#9641)
|
2021-04-09 13:13:49 +03:00 |
zakuro
|
e6a67e7172
|
parser: fix error of `-foo.bar()` (#9646)
|
2021-04-09 10:54:03 +03:00 |
Ali Chraghi
|
9881ff8448
|
tests: fix option_print_errors_test.v (#9616)
|
2021-04-08 08:46:08 +03:00 |
yuyi
|
fef4e1e700
|
checker: fix generics method return generics struct (#9614)
|
2021-04-07 15:27:58 +02:00 |
Lukas Neubert
|
1d5ed89138
|
fmt: remove trailing space in comments (#9620)
|
2021-04-07 15:25:11 +02:00 |
crthpl
|
018a88c3ce
|
parser: asm: add support for memory clobbers (#9618)
|
2021-04-06 21:25:24 +02:00 |
Alexander Medvednikov
|
89838f2e21
|
tutorials: blog: use db.create_table()
|
2021-04-06 22:15:14 +03:00 |
Alexander Medvednikov
|
1e2a92945c
|
autofree: test `return x[0]` (optional)
|
2021-04-06 17:28:07 +03:00 |
Alexander Medvednikov
|
dbaa91810f
|
autofree: fix optional returns
|
2021-04-06 17:14:11 +03:00 |
涂紳騰(Shen-Teng Tu)
|
7d5c1c2ddb
|
tmpl: inline styles with attributes (#9605)
|
2021-04-06 15:17:40 +02:00 |
Delyan Angelov
|
10619d098c
|
ci: fix a race in vlib/v/compiler_errors_test.v execution on m1
|
2021-04-05 22:57:59 +03:00 |
Delyan Angelov
|
fec89c7efb
|
ci: fix some of `v test-cleancode` 1
|
2021-04-05 20:47:32 +03:00 |
Delyan Angelov
|
d82a0c1637
|
ci: fix multiret_with_ptrtype_test.v
|
2021-04-05 08:31:20 +03:00 |
Delyan Angelov
|
63a1c32a17
|
ci: fix ptr_arithmetic_test.v
|
2021-04-05 08:25:08 +03:00 |
Delyan Angelov
|
9cc9ce698f
|
ci: fix more of byteptr=> &byte, vfmt check_types.v
|
2021-04-05 07:27:26 +03:00 |
Daniel Däschle
|
6a5f49afb1
|
all: support `?Type(none)` (#9567)
|
2021-04-02 16:34:48 +02:00 |
Alexander Medvednikov
|
7385f8e56b
|
all: a massive merge of ast and table modules
|
2021-04-02 01:57:09 +03:00 |
crthpl
|
8d5e310189
|
asm: make fixed labels possible as displacement (#9549)
|
2021-04-01 09:58:33 +03:00 |
yuyi
|
63f835c4ce
|
cgen: fix the alias of fixed_array (fix #9537) (#9544)
|
2021-03-31 18:51:03 +02:00 |
yuyi
|
f1797a0150
|
generics: fix generic_struct_insts_to_concrete (#9536)
|
2021-03-31 13:11:55 +02:00 |
Swastik Baranwal
|
b40d06ec1e
|
cgen: fix operator overloading for array/map aliases (#9529)
|
2021-03-30 11:39:54 +02:00 |
Uwe Krüger
|
97f43d6a97
|
gc: make generational mode of Boehm-GC available (#9514)
|
2021-03-30 09:36:22 +02:00 |
zakuro
|
a3455b8433
|
cgen: execute defer stmts in LIFO order (#9528)
|
2021-03-30 09:35:19 +02:00 |
yuyi
|
cabbf93faa
|
cgen: fix generic_struct str() (#9504)
|
2021-03-29 11:15:59 +02:00 |
yuyi
|
92f19f5767
|
generics: fix generics_struct with generic array string (#9494)
|
2021-03-28 10:46:13 +02:00 |
Lukas Neubert
|
4a10514081
|
tests: run vfmt over some of the tests in vlib/v/tests (#9455)
|
2021-03-27 19:29:57 +02:00 |
zakuro
|
6f5259571d
|
cgen: use overloaded eq op in auto eq method (#9475)
|
2021-03-26 19:46:54 +02:00 |
yuyi
|
36cc4880a6
|
parser: fix generic fn with upper name type (#9460) (#9478)
|
2021-03-26 16:50:35 +02:00 |
Delyan Angelov
|
87494fad1d
|
parser: allow passing `mut a AliasOfPointerType`
|
2021-03-26 13:38:16 +02:00 |
zakuro
|
91ea76797a
|
cgen: fix a c error, when using dump(ptr) (#9468)
|
2021-03-26 08:35:12 +02:00 |
yuyi
|
478bb9ce8e
|
parser, checker: fix generic fn that returns a generic struct (#9469)
|
2021-03-26 08:32:11 +02:00 |
Uwe Krüger
|
257eadd2e1
|
gc: add `-gc boehm_leak` for leak detection (#9464)
|
2021-03-25 16:52:33 +01:00 |
ka-weihe
|
f885c7cea9
|
tests: fix three tests with address errors (#9441)
|
2021-03-24 00:01:29 +02:00 |
spaceface
|
392666e475
|
cgen: fix treating errors as values inside if expressions (#9440)
|
2021-03-23 22:45:08 +02:00 |
Alexander Medvednikov
|
6463dfca29
|
Revert "Revert "builder: create the binary in the current directory if -o is not provided""
This reverts commit f2b73fe3ca .
|
2021-03-23 14:49:09 +03:00 |
Delyan Angelov
|
f2b73fe3ca
|
Revert "builder: create the binary in the current directory if -o is not provided"
This reverts commit 9ae64e7fce .
|
2021-03-23 13:27:26 +02:00 |
Alexander Medvednikov
|
9ae64e7fce
|
builder: create the binary in the current directory if -o is not provided
|
2021-03-23 12:31:02 +03:00 |
Alexander Medvednikov
|
b5c286256c
|
tests: fix a compilation error
|
2021-03-23 11:16:13 +03:00 |
Alexander Medvednikov
|
e86c6e024c
|
autofree: fix frees before returns
|
2021-03-23 11:04:59 +03:00 |
zakuro
|
0258482caf
|
cgen: auto eq method for sumtype (#9408)
|
2021-03-22 06:39:07 +01:00 |
yuyi
|
cf6faaf215
|
parser: fix anon_fn with array arguments (#9414)
|
2021-03-22 03:22:29 +01:00 |
zakuro
|
dfd58293ef
|
parser: fix parse error when using `f<Foo<int> >` (#9401)
|
2021-03-21 13:09:43 +02:00 |
yuyi
|
246c09db96
|
checker: fix generics in big_struct (fix #9373) (#9383)
|
2021-03-20 17:29:13 +01:00 |
yuyi
|
ead0dff55a
|
cgen: fix return if_guard expr (#9375)
|
2021-03-20 03:53:47 +01:00 |
spaceface
|
3f9e921c95
|
builtin: add a proper str() method to IError (#9379)
|
2021-03-20 01:55:16 +02:00 |
Delyan Angelov
|
4a12546971
|
cgen,fmt: improve sizeof(), fix `type PPType = &&Type`
|
2021-03-19 22:49:46 +02:00 |
Miccah
|
7222ee476b
|
all: implement array .any and .all (#9347)
|
2021-03-18 15:24:16 +01:00 |
Delyan Angelov
|
f7a8a460f6
|
v.parser: add a test for db46ad5
|
2021-03-18 11:31:17 +02:00 |
Alexander Medvednikov
|
4e62bc0b81
|
autofree: fix free before return
|
2021-03-18 05:41:50 +03:00 |
zakuro
|
6cfc2c217b
|
checker: fix #9330 (#9342)
|
2021-03-17 20:57:14 +02:00 |
crthpl
|
fafb035fb5
|
all: reimplement inline assembly (#8645)
|
2021-03-17 01:43:17 +01:00 |
Alexander Medvednikov
|
149151b1e8
|
cgen: minor vfmt
|
2021-03-17 03:41:52 +03:00 |
Enzo
|
4b6244c9c1
|
gen: fix generic variadic (#9333)
|
2021-03-17 00:18:43 +02:00 |
Delyan Angelov
|
1753445a64
|
builtin: make panics more IDE friendly
|
2021-03-16 20:50:11 +02:00 |
Nick Treleaven
|
446631ceb5
|
checker: fixed array cannot implicitly convert to fooptr (again) (#9302)
|
2021-03-15 15:55:07 +02:00 |
Uwe Krüger
|
9d168895ed
|
checker: check write access to shared elements of `struct` and `array` (#9314)
|
2021-03-15 15:54:06 +02:00 |
yuyi
|
2d2e4610e7
|
cgen: make use of mut_rec in method consistent (#9308)
|
2021-03-15 12:22:52 +02:00 |
yuyi
|
e235022e10
|
cgen: fix error of for_in map_literal (#9310)
|
2021-03-15 12:22:32 +02:00 |
StunxFS
|
92e95f127a
|
checker: correct type check for generic function with ternary if return (#9296)
|
2021-03-14 19:01:32 +02:00 |
Enzo
|
db152868c0
|
fix: fix infering int and float literal in generic fn calls (#9287)
|
2021-03-14 15:00:47 +02:00 |
zakuro
|
8dc0e4d150
|
v.scanner: decode \uXXXX in scanner (#9298)
|
2021-03-14 12:09:17 +02:00 |
spaceface
|
e9797c618a
|
all: implement error interfaces (#9291)
|
2021-03-13 18:13:50 +01:00 |
Alexander Medvednikov
|
2f1810634e
|
checker: do not allow direct initialization of builtin types (s := string{})
|
2021-03-13 18:20:46 +03:00 |
Nick Treleaven
|
c06e58d418
|
gen: fix generating `$if expr || expr` (#9270)
|
2021-03-13 08:45:50 +02:00 |
zakuro
|
00dedaf6c1
|
scanner: replace ascii unicode(\u0020) with hex(\x20) (#9259)
|
2021-03-13 08:02:42 +02:00 |
Delyan Angelov
|
c474106511
|
cgen: fix match expression with complex boolean conditions
|
2021-03-12 19:55:33 +02:00 |
Miccah
|
f26d2f02b7
|
ast, cgen, checker, parser: support method arguments in comptime $for (#9208)
|
2021-03-11 15:04:34 +02:00 |
zakuro
|
791dec7b01
|
v: support `$if prod` (#9228)
|
2021-03-10 19:26:34 +02:00 |
Swastik Baranwal
|
8d84206a8c
|
cgen: fix match for one branch (#9234)
|
2021-03-10 18:44:32 +02:00 |
Delyan Angelov
|
f5ebfefdc9
|
ci: use a smaller fixed size array for the const eval test (fixes failing windows job)
|
2021-03-10 10:40:41 +02:00 |
Delyan Angelov
|
96a9e16e64
|
checker: allow `a := [5*kb]byte{}` where `kb` is a compile time known const too
|
2021-03-09 20:21:36 +02:00 |
Delyan Angelov
|
26cfd0eda9
|
checker: eval `const a = 1024 * 1024` and other simple integer expressions at compile time
|
2021-03-09 20:07:08 +02:00 |
spaceface
|
f1469a8761
|
checker: allow accessing fields common to all sumtype members (#9201)
|
2021-03-09 19:16:18 +02:00 |
yuyi
|
c4b0fdcbaf
|
cgen: fix for_in fixed_array of fixed_array literal (#9206)
|
2021-03-09 16:18:07 +02:00 |
yuyi
|
e67ce5ea7b
|
cgen: fix error of alias interpolation (#9209)
|
2021-03-09 13:25:31 +02:00 |
Vassilis Panagiotopoulos
|
b893373e63
|
cgen: make .alias fields in structs use their proper string format, instead of the default %d (#9197)
|
2021-03-08 23:36:59 +02:00 |
Delyan Angelov
|
d7049ae2da
|
os: deprecate os.exec (returning ?os.Result), in favour of os.execute, which returns os.Result (#8974)
|
2021-03-08 20:52:13 +02:00 |
yuyi
|
f2e570d63c
|
tests: add `for` tests of labelled continue and break (#9189)
|
2021-03-08 12:45:12 +02:00 |
zakuro
|
4c3ce97763
|
parser: fix Enum.value when Enum is an imported symbol (#9046)
|
2021-03-07 16:44:38 +01:00 |
Miccah
|
a1e0f2bc46
|
gen: add argument names to compile-time method struct (#9174)
|
2021-03-07 14:28:43 +01:00 |
Delyan Angelov
|
c15de57f0f
|
tests: simplify the profile_test.v example program to not use `net`
(avoids unrelated openssl dependency)
|
2021-03-07 12:05:06 +02:00 |
Delyan Angelov
|
d0b89c5675
|
tests: rename for_c_multi_vars.v to for_c_multi_vars_test.v
|
2021-03-07 12:05:06 +02:00 |
yuyi
|
82085b0140
|
cgen: fix for_in map of fixed_array (#9133)
|
2021-03-07 11:41:08 +02:00 |
Lukas Neubert
|
7f7f9dca6b
|
parser,fmt: fix regression with non-void arrays in if conditions (#9161)
|
2021-03-06 20:39:38 +02:00 |
Delyan Angelov
|
849cde245c
|
v: support dump(expr) (#9160)
|
2021-03-06 18:09:28 +01:00 |
yuyi
|
cbbfb460a7
|
cgen: fix for_in fixed_array (#9129)
|
2021-03-05 15:35:09 +03:00 |
Gal Pasternak
|
208cabc994
|
checker: fix generic type ignores implemented interface (#9124)
|
2021-03-05 06:59:18 +02:00 |
spaceface
|
7663f826e5
|
cgen: add auto str method generation for interfaces (#9095)
|
2021-03-04 12:41:42 +02:00 |
yuyi
|
5f9af3f594
|
cgen: fix for_in array of fixed_array (fix #9098) (#9099)
|
2021-03-04 12:39:39 +02:00 |
yuyi
|
2870a5a63a
|
vrepl: fix array_filter (#9104)
|
2021-03-04 12:24:14 +02:00 |
yuyi
|
97f9abcf82
|
cgen: fix anon_fn in containers (#9077)
|
2021-03-03 10:12:08 +02:00 |
Uwe Krüger
|
dd475f4e37
|
checker/cgen: enable `IfGuardExpr` for `a[k]` and `<-ch` (#9065)
|
2021-03-03 10:10:38 +02:00 |
yuyi
|
81dbd72412
|
cgen: fix anon_fn in containers (fix #8965) (#9049)
|
2021-03-02 10:26:27 +02:00 |
spaceface
|
2b53992c01
|
checker, cgen: allow implementing an interface with an embedded struct (#9042)
|
2021-03-01 21:47:00 +01:00 |
yuyi
|
65900e55e3
|
cgen: fix if_expr of multi-stmts optional (#9039)
|
2021-03-01 21:39:04 +01:00 |
yuyi
|
f9c8d3d25c
|
cgen: fix return if true { 0 } else { none } (fix #9005) (#9030)
|
2021-03-01 13:56:07 +01:00 |
Anton Zavodchikov
|
506041a15b
|
tmpl: fix doubling templates folder path and enhancements (#9029)
|
2021-03-01 11:15:59 +02:00 |
spaceface
|
15896beace
|
cgen: scope `$for` fields/methods independently (#9017)
|
2021-03-01 01:01:56 +01:00 |
spaceface
|
b712af56fd
|
all: bring back `panic(err.msg)` -> `panic(err)` (#9022)
|
2021-03-01 00:18:14 +01:00 |
Uwe Krüger
|
e937d6249c
|
cgen: fix various issues concerning optionals (#9021)
|
2021-02-28 23:21:03 +01:00 |
spaceface
|
d63b7bc35a
|
all: update repo to use the new error handling syntax (#8950)
|
2021-02-28 23:20:21 +03:00 |
spaceface
|
b9a381f101
|
all: migrate to the new Option (p. 1) (#8924)
|
2021-02-28 22:24:29 +03:00 |
Delyan Angelov
|
e354dcefc2
|
fmt: fix support for `mut static x := 42`
|
2021-02-28 19:40:21 +02:00 |
Delyan Angelov
|
4076e8eaa0
|
tmpl: add a tmpl_all_in_one_folder.vv test; fix for static_vars_in_translated_mode.vv
|
2021-02-28 19:14:19 +02:00 |
Delyan Angelov
|
bdce35fd9c
|
parser: support `static x := 42` in [unsafe] functions too
|
2021-02-28 14:32:46 +02:00 |
Patrick Hintermayer
|
ae01b480c4
|
docs: ROADMAP.md instead of roadmap.txt (#9002)
|
2021-02-27 21:18:47 +03:00 |
Alexander Medvednikov
|
3a2d696fac
|
time: time.wait() => time.sleep()
|
2021-02-27 20:41:06 +03:00 |
Alexander Medvednikov
|
be4a2e17d3
|
cgen: always use tmp vars in return_statement()
|
2021-02-27 20:00:19 +03:00 |
Alexander Medvednikov
|
d39866d4f7
|
cgen: optionals/autofree fixes
|
2021-02-27 17:11:30 +03:00 |
Uwe Krüger
|
f67bff1696
|
all: support `thread` handles and `wait()` for functions returning optionals (#8990)
|
2021-02-27 10:16:55 +02:00 |
zakuro
|
1fd0aceb42
|
parser: imporve generics detection (#8992)
|
2021-02-27 10:07:18 +02:00 |
spaceface
|
51fae95339
|
cgen: move the condition of an iterator to a temp var (#8989)
|
2021-02-26 21:51:01 +01:00 |
Delyan Angelov
|
1a8ff9d7dd
|
v.gen.c: ensure that @continue is escaped in the generated C code
|
2021-02-26 10:22:35 +02:00 |
zakuro
|
89c82ff8e2
|
parser: treat f<mod.Type> as generic call not `<` operator (#8938)
|
2021-02-26 09:05:00 +02:00 |
yuyi
|
c762d150c6
|
cgen: fix anon_fn redefinition (#8961)
|
2021-02-25 12:16:35 +01:00 |
yuyi
|
1dd1be4400
|
cgen: fix if_expr with array.map (fix #8925) (#8937)
|
2021-02-24 15:06:29 +02:00 |
yuyi
|
05a08530ff
|
cgen: implement for_stmt of multi_init_vars or multi_assign_vars (#8917)
|
2021-02-24 14:58:45 +02:00 |
Delyan Angelov
|
ecef42832a
|
tests: make profile_test.v more robust
|
2021-02-23 18:30:53 +02:00 |
yuyi
|
302baaa7b4
|
cgen: fix error of match in fn_call (#8900)
|
2021-02-23 09:53:07 +02:00 |
Uwe Krüger
|
5674d46965
|
table,cgen: fix bug preventing `t := []thread{}` to compile (#8913)
|
2021-02-23 09:37:29 +02:00 |
Uwe Krüger
|
5306b2788c
|
all: extend `wait()` method to array of `thread` handles (#8840)
|
2021-02-22 15:08:52 +02:00 |
spaceface
|
1658c4789f
|
cgen: fix `match`ing interface types (#8889)
|
2021-02-22 14:55:43 +02:00 |
Nick Treleaven
|
15daeaeafa
|
cgen: add fixed array bounds checking for non-literal index (#8832)
|
2021-02-22 14:54:24 +02:00 |
yuyi
|
1a838b1f43
|
checker: fix error of match in map_init (fix #8579) (#8879)
|
2021-02-21 17:09:42 +02:00 |
zakuro
|
ac4791045f
|
time: consolidate the different sleep functions into time.wait(Duration) (#8853)
|
2021-02-21 17:05:03 +02:00 |
Joe Conigliaro
|
0470baafa6
|
cgen: fix duplicate optional generation for struct field
|
2021-02-22 00:00:39 +11:00 |
zakuro
|
7928689ee2
|
parser: set is_public when registering enum type symbols (#8875)
|
2021-02-21 12:13:52 +02:00 |
yuyi
|
e106dc3ad5
|
cgen: fix match_return with complex expr stmts (#8876)
|
2021-02-21 11:47:46 +02:00 |
Nicolas Sauzede
|
f67a4c3ee0
|
checker, cgen: allow | between bitfield enum values, autogenerate a more specific .str method for them too (#8856)
|
2021-02-20 21:51:54 +02:00 |
Delyan Angelov
|
5a333b0fdc
|
gen,parser: allow enums as map keys
|
2021-02-20 19:39:25 +02:00 |
yuyi
|
c704a49283
|
parser: fix error of $tmpl in anon_fn (fix #8847) (#8849)
|
2021-02-20 18:51:08 +02:00 |
Nick Treleaven
|
2be852e461
|
arrays: use for/in instead of unsafe `[direct_array_access]` (#8857)
|
2021-02-20 15:27:36 +02:00 |
kristof de spiegeleer
|
3f3bec45fa
|
examples: add a template example, update the regex examples (#8829)
|
2021-02-19 12:39:15 +02:00 |
yuyi
|
4878077c62
|
gen/c: fix gen_str_for_struct with custom ref str (fix #7179) (#8820)
|
2021-02-18 18:19:42 +02:00 |
yuyi
|
4fa315edc2
|
checker: fix for _, mut j in array (#8785)
|
2021-02-17 20:44:28 +01:00 |
Delyan Angelov
|
2002d20249
|
io: remove unused Zzz_CoerceInterfaceTableGeneration struct; add test for `x := Enum{}`
|
2021-02-17 01:37:05 +02:00 |
Delyan Angelov
|
843de10442
|
parser,gen: fix `arr << map[key] using map_get_and_set_1, leading to double free
|
2021-02-16 16:39:31 +02:00 |
yuyi
|
982e35909d
|
cgen: fix `mut` var in `for` loop reads as address (fix #8548) (#8745)
|
2021-02-16 13:24:19 +01:00 |
Uwe Krüger
|
0520b755f4
|
checker/cgen: support `print*()`, `.str()` and '$x' for `shared` (#8771)
|
2021-02-16 12:40:13 +01:00 |
yuyi
|
a9c2045dbd
|
cgen: fix var name clash of array/map (fix #1994) (#8765)
|
2021-02-15 15:51:57 +02:00 |
Peter Badida
|
6781f732f4
|
gen: fix infinite loop when struct's ref field is pointing to self (#8632) (#8641)
|
2021-02-15 15:43:10 +02:00 |
Nick Treleaven
|
82650ee813
|
parser: fix parsing attribute after fn prototype with no return type (#8727)
|
2021-02-14 08:05:20 +01:00 |
Uwe Krüger
|
374739b804
|
all: rename `[ref_only]` -> `[heap]` (#8718)
|
2021-02-13 16:52:01 +02:00 |
Uwe Krüger
|
40066a5daa
|
checker: obey [ref_only] tag, allow embedding in other ref struct (#8707)
|
2021-02-13 00:47:37 +01:00 |
Delyan Angelov
|
578de634fe
|
sync: move pool related code to `sync.pool`, cleanup, add a README.md
|
2021-02-11 10:55:23 +02:00 |
yuyi
|
f2e74bce7a
|
checker: fix sumtype assign error (fix #7988) (#8655)
|
2021-02-10 10:59:56 +01:00 |
Uwe Krüger
|
f3c5f24c17
|
allow `lock` expression to return multiple objects (#8657)
|
2021-02-09 17:09:10 +02:00 |
Delyan Angelov
|
d110f0de74
|
tests: add a regression test for 3d2afcf
|
2021-02-09 14:11:09 +02:00 |
Swastik Baranwal
|
09cff69919
|
all: allow using aliases as keys in map (#8589)
|
2021-02-08 18:51:05 +01:00 |
Lukas Neubert
|
5abd49d9bc
|
cgen: cast default struct field value to correct SumType/interface (#8619)
|
2021-02-08 17:33:05 +02:00 |
Swastik Baranwal
|
e2ff26a066
|
cgen: fix gen of .sort method for `>` operator and improve grammar of error (#8615)
|
2021-02-08 17:19:54 +02:00 |
zakuro
|
e5839effbc
|
checker/cgen: allow `<<` operator for aliases (#8561)
|
2021-02-08 01:41:47 +01:00 |
Uwe Krüger
|
118ca1240e
|
all: allow `shared` element types for `struct` and arrays (#8631)
|
2021-02-08 00:28:29 +01:00 |
Nick Treleaven
|
cd4f7101f7
|
parser: support short struct update syntax `{...ident,` (#8613)
|
2021-02-07 03:43:51 +01:00 |
Delyan Angelov
|
d77bb2f606
|
all: improve -skip-unused, track consts, walk all AST nodes, support tests
|
2021-02-07 02:51:45 +02:00 |
Nick Treleaven
|
f5f65f929f
|
parser: parse `map{key_expr: val_expr}` (#8608)
|
2021-02-06 22:13:24 +01:00 |
Uwe Krüger
|
5343f1374b
|
all: allow functions to return `shared` object (#8606)
|
2021-02-06 19:41:52 +01:00 |
zakuro
|
fe9d062b41
|
gen: fix bug where unreached defer is executed (#8594)
|
2021-02-06 18:40:39 +02:00 |
Swastik Baranwal
|
9b839b3b7d
|
cgen: fix gen of `>` operator overloading (#8600)
|
2021-02-06 12:59:20 +02:00 |
Uwe Krüger
|
ab279dace7
|
cgen: support `shared` initialization from call returning optional (#8593)
|
2021-02-06 03:07:05 +01:00 |
Delyan Angelov
|
99822e51de
|
ci: force println_os_executable.vv to have a stable output on all OSes
|
2021-02-05 20:01:02 +02:00 |
Delyan Angelov
|
81789ee106
|
tests: add vlib/v/tests/skip_unused/
|
2021-02-05 17:27:00 +02:00 |
Delyan Angelov
|
25a3873019
|
parser,checker: support @METHOD, replaced by 'ReceiverType.MethodName'
|
2021-02-05 16:32:43 +02:00 |
Louis Schmieder
|
97c0ef3505
|
orm: struct field support (#8517)
|
2021-02-04 20:28:33 +01:00 |
yuyi
|
abde1cd73d
|
cgen: fix array/map of alias to string (#8549)
|
2021-02-04 17:52:14 +02:00 |
BigBlack
|
162c42dbe9
|
ast: fix `new_struct := MyStruct{...(*old_struct)}` (#8544)
|
2021-02-04 09:14:43 +02:00 |
pancake
|
27239db427
|
builder: show file:line when import fails (#8537)
|
2021-02-04 09:09:54 +02:00 |
Uwe Krüger
|
f013e65670
|
checker/cgen: support lock expressions `x := rlock s { s.get() }` (#8540)
|
2021-02-03 23:56:58 +01:00 |
Uwe Krüger
|
cee00a3551
|
cgen: create enclosing block on C side for V `lock` blocks (#8538)
|
2021-02-03 23:25:01 +01:00 |
Swastik Baranwal
|
7ec116d588
|
all: only allow defining `==` and `<` and auto generate `!=`, `>`, `>=` and `<=` (#8520)
|
2021-02-03 15:18:38 +01:00 |
Uwe Krüger
|
9dcf673216
|
all: make `lock` and `rlock` dead lock free :-) (#8534)
|
2021-02-03 15:16:52 +01:00 |
Uwe Krüger
|
df0520b43a
|
checker,cgen: make `shared` behave like `mut` inside `lock` - and like non-mut inside `rlock` (#8526)
|
2021-02-03 01:20:19 +02:00 |
yuyi
|
7875164d91
|
cgen: add gen_alias_equlity_fn (#8514)
|
2021-02-02 18:37:57 +01:00 |
Daniel Däschle
|
d477e525bb
|
checker/gen: fix generic struct init (#8322)
|
2021-02-03 00:42:00 +11:00 |
Uwe Krüger
|
1de299ad22
|
cgen: allow `shared` initialization from return values of functions (#8512)
|
2021-02-02 14:13:13 +02:00 |
yuyi
|
9a2820fa7b
|
checker: fix pass fixed array of function as argument (#8502)
|
2021-02-02 03:58:54 +01:00 |
Ruofan XU
|
a0a33f7ff1
|
checker: fix map of function as argument and direct call of function in map (#8494)
|
2021-02-02 03:58:32 +01:00 |
Ruofan XU
|
51f2eb81f4
|
checker/cgen: fix mut array of fn as argument (#8469)
|
2021-02-01 20:10:24 +01:00 |
Nick Treleaven
|
79e9084f7b
|
checker: allow `Struct{...expr}` where `expr` is another struct type (#8495)
|
2021-02-01 20:08:25 +01:00 |
Uwe Krüger
|
17746561f2
|
cgen: put `shared` arrays and maps always on heap (#8496)
|
2021-02-01 20:07:01 +01:00 |
Delyan Angelov
|
fab7b9d9d9
|
checker: fix `x := match enumexpr { .case2 { fn1 } .case2 { fn2} }`, where fn1 and fn2 have compatible signature
|
2021-02-01 21:01:58 +02:00 |
BigBlack
|
e3c2604338
|
cgen: fixed array slice in function, add docs (#8481)
|
2021-02-01 19:11:17 +02:00 |
yuyi
|
53a5aad855
|
cgen: fix fixed array of function (#8490)
|
2021-02-01 14:50:10 +01:00 |
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 |