shadowninja55
2e5ed08558
v.parser: allow anonymous function to return a function ( #10592 )
2021-06-28 11:51:24 +03:00
yuyi
67d1b72e36
cgen: fix interface with nested fields ( fix #10077 ) ( #10589 )
2021-06-28 10:24:05 +03:00
Delyan Angelov
c3b9eaf146
v.c.gen: fix codegen of auto str methods for structs having &voidptr fields
2021-06-28 10:05:42 +03:00
spaceface
4bed4afef7
cgen: fix clash in generated variant and method names ( #10581 )
2021-06-27 19:05:32 +03:00
shadowninja55
ea3983a91b
checker: require .sort() body for some types ( #10550 )
2021-06-27 17:17:03 +03:00
yuyi
51075ffa15
cgen: fix fn mut val of interface type ( #10568 )
2021-06-26 18:13:48 +03:00
shadowninja55
eb5afb7403
checker: prohibit selective const imports ( #10574 )
2021-06-26 18:09:52 +03:00
yuyi
e9de30373f
table: fix interface embedding with interface parameter ( #10567 )
2021-06-25 12:52:25 +03:00
yuyi
4bfe76123a
generics: fix generic fn type mismatch of returning a generic struct ( #10553 )
2021-06-24 12:47:36 +03:00
BigBlack
8324a766e8
checker: allow for `unsafe {*(p+1) = 22}` ( #10557 )
2021-06-24 12:39:42 +03:00
yuyi
e8a1e9d88f
cgen: fix interface only declare with optional method ( #10546 )
2021-06-23 15:14:08 +03:00
Delyan Angelov
69227b8be7
tests: bump up sleep times in break_in_lock_test.v, so that its results are stabler
2021-06-23 14:14:53 +03:00
Delyan Angelov
b6bd6d1d35
tests: add cmd/tools/vdoc/tests/vdoc_file_test.v, extract a `v.util.diff` module, cleanup
2021-06-22 18:52:34 +03:00
yuyi
6dbe8a8a2c
cgen: fix for in mut reference selector val ( fix #10524 ) ( #10536 )
2021-06-21 19:25:18 +03:00
yuyi
da4b6b934d
checker: fix map assign array of interface values ( #10532 )
2021-06-21 19:24:42 +03:00
Uwe Krüger
8f2f377cb1
v.checker,v.gen.c: extend auto heap mechanism to objects used as interfaces ( #10529 )
2021-06-21 07:10:10 +03:00
Uwe Krüger
f32a76b268
all: promote value type function arguments to heap if necessary ( #10528 )
2021-06-20 18:40:24 +03:00
yuyi
6c8182cc25
cgen: fix assigning literal fixed arrays to map values ( #10525 )
2021-06-20 13:36:01 +03:00
yuyi
1a52da9f62
tests: add as_cast_already_smartcast_sumtype_test.v ( #10517 )
2021-06-19 18:50:09 +03:00
Delyan Angelov
d56ae2d508
v.fmt: keep comments after struct embeds
2021-06-18 18:42:05 +03:00
yuyi
2298063129
checker: fix nested if smartcast selector exprs ( fix #10372 #10379 ) ( #10502 )
2021-06-18 14:49:15 +03:00
crthpl
4abb1a8b7b
cgen: fix unknown labels in addressing ( #10503 )
2021-06-18 13:03:38 +03:00
Uwe Krüger
3f5aa5e634
sync: make `Semaphore.*wait()` robust against interrupts by signals ( #10491 )
2021-06-18 12:44:18 +03:00
yuyi
a98d644637
cgen: fix fn mut args of array ( #10493 )
2021-06-18 02:51:55 +03:00
zakuro
751f2950ea
checker: skip checking `[required]` fields for struct update syntax ( #10500 )
2021-06-18 02:51:33 +03:00
crthpl
4688c75389
cgen, parser: fix several assembly bugs ( #10498 )
2021-06-18 01:20:46 +03:00
yuyi
e31be9f5c4
checker: fix generic fn assign ( #10479 )
2021-06-16 19:17:07 +03:00
yuyi
1dca06495d
checker: implement if smartcast multi conds (part 1) ( #10477 )
2021-06-16 19:16:15 +03:00
Delyan Angelov
2f35aad8ce
ci: fix tests-sanitize-memory-clang too
2021-06-16 13:32:37 +03:00
Delyan Angelov
9dff3c36a6
ci: fix failing `Self tests` task on the `windows-msvc` job 2
2021-06-16 12:44:55 +03:00
Delyan Angelov
ed0af3fd88
ci: fix failing `Self tests` task on the `windows-msvc` job
2021-06-16 12:44:00 +03:00
Delyan Angelov
69ce8baefd
v.ast: allow for `fn f()&IAbc{return voidptr(0)}` with no additional voidptr implicit conversions to compile
2021-06-16 11:07:04 +03:00
Delyan Angelov
862c4cf371
v.checker,v.gen: allow for `&IAbc(voidptr(0))` where IAbc contains fields
2021-06-16 10:48:50 +03:00
Delyan Angelov
e7cc93a120
v.checker: allow for a `f(unsafe{voidptr(0)})` call of `fn f(x &Interface){}`
2021-06-16 09:20:01 +03:00
yuyi
ffcc6cf6d2
checker: fix `for in mut val` for floats ( #10470 )
2021-06-16 04:04:31 +03:00
yuyi
c3b9336f21
cgen: fix generic method receiver typeof name error ( #10469 )
2021-06-16 04:03:50 +03:00
yuyi
bdc8586ddd
checker, cgen: fix `for in mut val` ( #10444 )
2021-06-15 04:43:10 +03:00
Uwe Krüger
98a496d70c
tests: remove white space from file name ( #10462 )
2021-06-15 04:42:15 +03:00
Uwe Krüger
2ac39d9112
all: new function `isreftype(T)` to know if `T` contains pointers ( #10438 )
2021-06-13 06:26:13 +03:00
Delyan Angelov
e70bde54dc
ast: improve Expr.str() for `sizeof(Type)` and `__offsetof(StructName, fieldname)`, for more informative asserts/dumps
2021-06-12 16:49:14 +03:00
Alexander Medvednikov
635f045b14
ast: make is_int() work with aliases
2021-06-12 14:35:38 +03:00
yuyi
f26626117d
cgen: fix match struct type cond ( #10421 )
2021-06-11 11:58:25 +03:00
crthpl
6576d876fc
cgen: support a `[_naked]` fn attribute ( #10418 )
2021-06-11 11:03:39 +03:00
yuyi
9d852e22b2
cgen: fix match array or map cond ( #10411 )
2021-06-10 21:33:35 +03:00
Delyan Angelov
f351ff037e
Revert "checker: check generic type indexing error ( #10345 )"
...
This reverts commit 103c777ad6
.
Passing references to values should be allowed, and is already used in vinix:
`pub fn cas<T>(_here &T, _ifthis T, writethis T) bool {`
2021-06-09 11:46:17 +03:00
yuyi
103c777ad6
checker: check generic type indexing error ( #10345 )
2021-06-08 17:23:44 +03:00
yuyi
cd464010d4
cgen: fix match with multi sumtype exprs ( #10377 )
2021-06-07 14:16:30 +03:00
crthpl
8a497080b3
cgen: fix assembly in generic fns ( #10370 )
2021-06-07 10:53:33 +03:00
yuyi
114c382c46
parser: fix generic fn typeof name ( #10363 )
2021-06-06 17:40:13 +03:00
Lukas Neubert
c14b357fec
checker: fix enums in builtin ( #10366 )
2021-06-06 16:27:46 +03:00
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