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 |
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 |
Ned Palacios
|
3a86f27b9f
|
cgen: fix optional struct const field access (#7405)
|
2020-12-19 09:43:50 +01:00 |
yuyi
|
ff2cfd4f38
|
checker: fix fn_array types check (#7376)
|
2020-12-19 01:10:11 +02:00 |
Nick Treleaven
|
042449cd3d
|
cgen: use voidptr key methods: map_get_1, map_set_1, map_get_and_set_1 (#7390)
|
2020-12-19 01:05:16 +02:00 |
yuyi
|
b10f692c43
|
gen: fix errors of string interpolation of fn values in struct/array/map (#7367)
|
2020-12-17 11:16:27 +02:00 |
Daniel Däschle
|
7022456c9d
|
Alias string compare (#7364)
|
2020-12-16 21:40:56 +02:00 |
yuyi
|
525b521b4a
|
cgen: impliment gen_str_for_fn_type() (#7353)
|
2020-12-16 11:07:58 +02:00 |
Ned Palacios
|
604eab7742
|
cgen: fix interface struct field initialization (#7340)
|
2020-12-16 11:03:28 +02:00 |
yuyi
|
e40e1500a8
|
cgen: fix map['xxx']() error (#7342)
|
2020-12-15 16:07:24 +01:00 |
yuyi
|
8ab59c5f0f
|
parser: implement a direct call to an array of functions (fix #6908) (#7322)
|
2020-12-15 04:24:57 +01:00 |
Swastik Baranwal
|
a3c3fd4d20
|
cgen: fix generation of array names in generic structs (#7324)
|
2020-12-15 02:52:20 +11:00 |
Enzo
|
78fb84c4dd
|
gen: fix comparing signed int to u32/u64 (#7312)
|
2020-12-14 12:01:11 +02:00 |
Nick Treleaven
|
d785e22a6e
|
checker: disallow assigning number to pointer (#7267)
|
2020-12-12 10:42:07 +01:00 |
yuyi
|
2a731e1c8e
|
scanner: fix interpolation with more embedded string args (#7258)
|
2020-12-11 19:15:59 +02:00 |
Andréas Livet
|
18ec24dd53
|
gen: fix mutable map generation (#7251)
|
2020-12-11 04:48:55 +01:00 |
Enzo
|
04346e7ba5
|
checker: allow void,char,byteptr to be mut args (#7239)
|
2020-12-11 04:47:10 +01:00 |
spaceface777
|
ca2c082a5e
|
checker: initial support for evaluating expressions at compile time (#7248)
|
2020-12-11 04:46:06 +01:00 |
yuyi
|
ca39a9a1a9
|
test: add more embed string interpolation tests (#7229)
|
2020-12-10 11:20:42 +02:00 |
Daniel Däschle
|
a38fe4fca9
|
checker: fix smartcast inside smartcast (#7215)
|
2020-12-10 00:59:39 +01:00 |
yuyi
|
5fa1e403ec
|
scanner: fix interpolation with string args (#7214)
|
2020-12-09 19:58:27 +01:00 |
Nick Treleaven
|
cf755d40b7
|
checker: allow ++, -- on byteptr, charptr (#7218)
|
2020-12-09 19:58:02 +01:00 |
Delyan Angelov
|
8caf3829d7
|
checker: fix interface checking of array arguments; closes #2377
|
2020-12-09 18:51:37 +02:00 |
Delyan Angelov
|
3b94a2b77a
|
cgen: fix interface _name_table generation; closes issue #73
|
2020-12-09 17:07:11 +02:00 |
joe-conigliaro
|
805da2325f
|
cgen: defer was broken in presence of anon fn. fixed #7171
|
2020-12-08 14:21:19 +11:00 |
joe-conigliaro
|
78a6795319
|
all: change the way import symbols work & support consts (#7182)
|
2020-12-07 19:13:03 +02:00 |
Alexander Medvednikov
|
8eff8b0eff
|
autofree: fix `for` args
|
2020-12-06 08:38:21 +01:00 |
joe-conigliaro
|
d7c057840a
|
parser: autofree - reset p.branch_parent_pos to previous pos on return
|
2020-12-06 17:00:44 +11:00 |
joe-conigliaro
|
a05408b49a
|
all: make type system use source name & cleanup storing name in fields
|
2020-12-06 14:55:08 +11:00 |
Delyan Angelov
|
946a1418fe
|
Revert "autofree: handle tmp vars in for loops"
This reverts commit 1d6c604664 .
|
2020-12-05 21:52:50 +02:00 |
Alexander Medvednikov
|
1d6c604664
|
autofree: handle tmp vars in for loops
|
2020-12-05 20:11:31 +01:00 |
Delyan Angelov
|
6e76d5d1db
|
cgen: fix double escaping \n in @VMOD_FILE expansion
|
2020-12-05 20:13:36 +02:00 |
joe-conigliaro
|
83f651c29a
|
cgen: autofree - know where to stop freeing parent scops on continue/break
|
2020-12-06 02:36:27 +11:00 |
joe-conigliaro
|
3172f324d1
|
checker: infer array_init type from call with in return of or block. closes #7135
|
2020-12-06 01:26:28 +11:00 |
Delyan Angelov
|
0dfcacd26b
|
cgen: fix `fn f(mut a []int) { a << [1,2] }`
|
2020-12-05 10:12:17 +02:00 |
Delyan Angelov
|
b18915df62
|
tests: cleanup long running repl tests (replaced by faster ordinary tests in vlib/v/tests/)
|
2020-12-05 08:52:08 +02:00 |
Alexander Medvednikov
|
d1281ac6c1
|
autofree: handle` break`
|
2020-12-05 05:06:52 +01:00 |
Alexander Medvednikov
|
5180013aef
|
autofree: fix array re-assignment with struct fields
|
2020-12-04 23:30:30 +01:00 |
spaceface777
|
76ed8e3750
|
checker: don't disallow method call chains (#7128)
|
2020-12-04 21:27:38 +01:00 |
spaceface777
|
52fb7033c3
|
gen: fix evaluating the receiver of array methods (.map(), .filter(), etc) more than once (#7130)
|
2020-12-04 20:29:34 +02:00 |
Delyan Angelov
|
52ccdd747f
|
cgen: allow for `const ( x = opt() ? )`
|
2020-12-04 13:11:12 +02:00 |
Alexander Medvednikov
|
b64945a6c0
|
autofree: lots of fixes in `return_statement()`
|
2020-12-04 10:10:40 +01:00 |
joe-conigliaro
|
b578e60dd5
|
tests: add test for fix #cf7b45b
|
2020-12-04 15:43:28 +11:00 |
yuyi
|
06eaded6ea
|
string: change `tos_lit` to `_SLIT` (#7079)
|
2020-12-03 16:02:48 +01:00 |
Swastik Baranwal
|
c5a7c51dfd
|
parser: add a check for known vars in or block (#7094)
|
2020-12-03 04:46:04 +01:00 |
Uwe Krüger
|
c1b25dd61d
|
cgen: fix map value op-assign modification (#7101)
|
2020-12-03 00:40:11 +01:00 |
Alexander Medvednikov
|
0ff541375d
|
autofree: fix a bug with $if and add a test
|
2020-12-01 18:58:16 +01:00 |
yuyi
|
d3deaa1f59
|
cgen: fix typeof variadic type (#7063)
|
2020-12-01 16:11:37 +01:00 |
Daniel Däschle
|
5b6eb7b2c9
|
cgen: simplify .str() generation (#7038)
|
2020-12-01 16:09:03 +01:00 |
yuyi
|
6a1e0322bd
|
gen: fix interpolation variadic (#7059)
|
2020-12-01 12:40:38 +02:00 |
joe-conigliaro
|
34e124d5f7
|
cgen: auto cast sum type in array init. fixes #6907
|
2020-12-01 20:03:45 +11:00 |
Delyan Angelov
|
fe0ded9a91
|
tests: add a regression test for the inter module generics inference
|
2020-12-01 08:07:07 +02:00 |
Daniel Däschle
|
879d238887
|
cgen: initial option auto str support (#7004)
|
2020-12-01 04:00:23 +01:00 |
Delyan Angelov
|
b11d285680
|
v: support multiple paths in VMODULES env variable (#7048)
|
2020-11-30 18:31:37 +01:00 |
Uwe Krüger
|
a128ab4313
|
cgen: add support for shared maps (#7042)
|
2020-11-30 13:25:14 +01:00 |
Alexander Medvednikov
|
cb3367d734
|
autofree: free_before_break() test
|
2020-11-28 20:23:54 +01:00 |
Swastik Baranwal
|
aadeb62bbf
|
cgen: add a _T_ prefix in the C names for generic fn instances; fixes #6927 (#6999)
|
2020-11-28 17:07:07 +02:00 |
Alexander Medvednikov
|
ea04d23e1d
|
tests: valgrind: use -autofree without -experimental
|
2020-11-28 15:53:08 +01:00 |
Alexander Medvednikov
|
57ad943b92
|
autofree: free arrays on re-assignment
|
2020-11-28 15:21:53 +01:00 |
Alexander Medvednikov
|
ed39d151b7
|
V 0.1.30
|
2020-11-28 04:43:11 +01:00 |
Delyan Angelov
|
ac27a3ccee
|
parser,cgen: improve `[flag]enum Abc{ a b }`, allow `x := Abc.a | Abc.b`
|
2020-11-27 23:09:14 +02:00 |
yuyi
|
636efb3c20
|
cgen: fix windows escape errors for comptime @ pseudo vars (#6977)
|
2020-11-27 11:16:57 +02:00 |
Daniel Däschle
|
ee2a5727fb
|
gen: fix assigning an anon fn to a struct field (#6965)
|
2020-11-27 11:15:48 +02:00 |
Daniel Däschle
|
d71d9ad7c0
|
сgen: print generic structs (#6967)
|
2020-11-26 23:57:03 +01:00 |
Nick Treleaven
|
ea8adfdbf9
|
gen: more efficient `for in` with a map (#6961)
|
2020-11-26 23:22:14 +01:00 |
Alexander Medvednikov
|
5e59718970
|
fmt: handle $tmpl
|
2020-11-26 18:53:38 +01:00 |
Alexander Medvednikov
|
5efd393af2
|
all: make comptime templates usable outside of vweb via $tmpl
|
2020-11-26 18:40:35 +01:00 |
Ruofan XU
|
c6a8c3cad5
|
cgen: remove unneeded sumtype logic and add more tests (#6959)
|
2020-11-26 15:29:23 +01:00 |
Daniel Däschle
|
8e2b7fe3d6
|
tests: cleanup sum type tests (#6950)
|
2020-11-25 20:40:29 +01:00 |
Delyan Angelov
|
35a0fe79f9
|
cgen: generate an unique sort comparator function for each .sort() call
|
2020-11-25 13:48:42 +02:00 |
Daniel Däschle
|
7d6f97259f
|
all: refactor UnionSumType to SumType (#6944)
|
2020-11-25 13:09:40 +02:00 |
Daniel Däschle
|
a042966082
|
all: remove old sumtype code (#6937)
|
2020-11-24 17:55:24 +01:00 |
Daniel Däschle
|
9fbf38c798
|
parser: fix generic structs from other modules (#6921)
|
2020-11-23 23:21:11 +01:00 |
Daniel Däschle
|
96539e43b5
|
all: nested sum types (#6913)
|
2020-11-23 16:16:13 +01:00 |
Alexander Medvednikov
|
a1827d7f98
|
autofree: handle array set/get
|
2020-11-22 20:48:23 +01:00 |
Alexander Medvednikov
|
ff1752dfff
|
gg: vfmt gg.v
|
2020-11-21 00:04:29 +01:00 |
Alexander Medvednikov
|
c1486925d5
|
autofree: enable free_before_return test
|
2020-11-21 00:00:27 +01:00 |
Delyan Angelov
|
9673d40bb9
|
ci: fix failing windows test run_v_code_from_stdin_test.v (2)
|
2020-11-20 16:57:44 +02:00 |
Delyan Angelov
|
93d460f8fc
|
ci: fix failing windows tests for `v run -`
|
2020-11-20 16:14:04 +02:00 |
Delyan Angelov
|
3c4b87bfec
|
checker: add check against `fn test_opt() ?{}`
|
2020-11-20 15:12:53 +02:00 |
Nick Treleaven
|
d5242e0bf5
|
gen: implement labelled break and continue (retry) (#6887)
|
2020-11-20 12:23:48 +01:00 |
Nicolas Sauzede
|
159932d59b
|
v: run code from stdin `echo println(2+2) | v run -`, with no repl limits (#6884)
|
2020-11-20 10:25:59 +02:00 |
Alexander Medvednikov
|
4328233504
|
Revert "gen: implement labelled break and continue (#6880)"
This reverts commit e798326a1a .
|
2020-11-20 02:51:35 +01:00 |
Nick Treleaven
|
e798326a1a
|
gen: implement labelled break and continue (#6880)
|
2020-11-19 21:13:15 +01:00 |
Daniel Däschle
|
41ba942369
|
parser: smartcast mutable selector (#6881)
|
2020-11-19 21:05:10 +01:00 |
Daniel Däschle
|
9feb010355
|
all: mutable smartcasts (#6878)
|
2020-11-19 17:28:46 +01:00 |
Daniel Däschle
|
e06756ef58
|
all: match multi aggregate for union sum types (#6868)
|
2020-11-18 20:52:00 +01:00 |
Daniel Däschle
|
20bec81678
|
checker: smartcast only if type is not mut (#6841)
|
2020-11-15 16:53:51 +02:00 |
Alexander Medvednikov
|
26785668c0
|
autofree: more tests; gg: fix draw_circle with hidpi
|
2020-11-15 15:09:44 +01:00 |
Nick Treleaven
|
50163508f8
|
gen: implement type_name method for sum type instances (#6802)
|
2020-11-14 13:59:03 +02:00 |
Delyan Angelov
|
ba8cdb2977
|
vfmt: fix `$for method in App.methods {}` turning to App(methods)
|
2020-11-14 12:24:46 +02:00 |
Delyan Angelov
|
023cddb160
|
cgen: remove .replace('T', ...)
|
2020-11-14 10:36:59 +02:00 |
Daniel Däschle
|
9c569246ef
|
cgen: fix typeof union sum type (#6794)
|
2020-11-12 12:27:54 +01:00 |
Daniel Däschle
|
43ce098043
|
cgen: fix default value init for union sum types (#6795)
|
2020-11-11 19:56:13 +02:00 |
Daniel Däschle
|
6271798ce3
|
cgen: union sum types implementation (#6745)
|
2020-11-11 09:18:15 +01:00 |
spaceface777
|
bb91dc90a5
|
checker: fix `&` on pointers (#6787)
|
2020-11-10 13:12:21 +02:00 |
Nick Treleaven
|
c76e486765
|
parser: implement `T.name` for generic types (#6783)
|
2020-11-09 14:35:26 +01:00 |
Alexander Medvednikov
|
1c257abc23
|
autofree: simplify: merge tmp arg logic with scope vars
|
2020-11-09 14:24:46 +01:00 |
Alexander Medvednikov
|
507d724ee6
|
autofree: free before return tests
|
2020-11-09 11:54:45 +01:00 |
Nick Treleaven
|
931882d720
|
checker: support ?T, &T generic return types (#6772)
|
2020-11-07 18:27:10 +02:00 |
Nick Treleaven
|
125650c986
|
cgen: fix using brackets for match expression (#6768)
|
2020-11-07 14:47:27 +01:00 |
Alexander Medvednikov
|
0e8c7ca2e3
|
autofree: fix string reassignment
|
2020-11-07 04:00:45 +01:00 |
Nick Treleaven
|
62cae1ba00
|
parser: parse func<T>() when T is a map or array type (#6765)
|
2020-11-07 02:55:28 +01:00 |
Ned Palacios
|
6d8a7ced24
|
cgen: fix setting nested map elements fields (#6744)
|
2020-11-06 16:32:44 +02:00 |
Alexander Medvednikov
|
3e5871ffb3
|
autofree: disable optional_return test for now
|
2020-11-06 10:30:27 +01:00 |
Alexander Medvednikov
|
212e6fe52c
|
autofree: do not run in `builtin`
|
2020-11-06 10:13:05 +01:00 |
Nick Treleaven
|
ca8d23acab
|
table: make Table.type_to_str generate proper function type, not fn name (#6716)
|
2020-11-05 06:34:56 +01:00 |
Daniel Däschle
|
9d5be12517
|
gen: add prefix when printing type aliases (#6701)
|
2020-11-03 14:13:35 +01:00 |
Nick Treleaven
|
788de9938a
|
cgen: fix typeof(expr).name for generic type, pointers, etc (#6712)
|
2020-11-02 22:59:48 +01:00 |
Delyan Angelov
|
2202ee5d66
|
tests: add tests for continue/break in last statement of an `or{}`
|
2020-11-02 12:54:45 +02:00 |
Alexander Medvednikov
|
06e4c45350
|
tests: re-enable valgrind tests
|
2020-11-02 01:25:16 +01:00 |
Delyan Angelov
|
e2505479ee
|
cgen: encode newlines as \n in the assert meta information
|
2020-11-01 17:01:45 +02:00 |
Daniel Däschle
|
9fdf04b7ff
|
cgen: make generics printable (#6700)
|
2020-10-31 19:43:06 +02:00 |
Alexander Medvednikov
|
791fda16d3
|
fmt: handle "it" in lambdas
|
2020-10-30 07:35:44 +01:00 |
Alexander Medvednikov
|
2c75b1397c
|
all: struct embedding
|
2020-10-30 07:09:26 +01:00 |
Alexander Medvednikov
|
423044d4d6
|
autofree: skip lambda for now
|
2020-10-29 08:59:13 +01:00 |
Alexander Medvednikov
|
71dfec3c4d
|
autofree: generate unique names for each arg
|
2020-10-29 08:26:45 +01:00 |
Alexander Medvednikov
|
21002bf2de
|
autofree: fix re-assigning an optional
|
2020-10-29 07:06:58 +01:00 |
Alexander Medvednikov
|
f19ca6b411
|
autofree: simplify, use more scoping, fix expressions inside or blocks
|
2020-10-29 01:09:38 +01:00 |
Delyan Angelov
|
0c192cfd64
|
tests: fix warnings when doing `./v -W -progress -check-syntax test-fixed`
|
2020-10-26 14:41:57 +02:00 |
Alexander Medvednikov
|
42da37e900
|
autofree: fix if expressions
|
2020-10-24 19:06:31 +02:00 |
Alexander Medvednikov
|
3b3501cf09
|
autofree: if expression fixes
|
2020-10-23 22:50:22 +02:00 |
Alexander Medvednikov
|
66b8462d7a
|
autofree: handle method chains
|
2020-10-22 03:51:28 +02:00 |
Alexander Medvednikov
|
6d11caf784
|
autofree: string.replace() test
|
2020-10-21 19:44:31 +02:00 |
Delyan Angelov
|
5c93f942be
|
docs,tests: add project_with_c_code_2 (passing structs from C to V to C)
|
2020-10-20 17:59:48 +03:00 |
Delyan Angelov
|
2440413310
|
tests: turn off live_test.v on macos for now (due to frequent false positives)
|
2020-10-18 19:45:49 +03:00 |
Alexander Medvednikov
|
55536bb364
|
autofree: handle more statements
|
2020-10-18 00:48:06 +02:00 |
Lukas Neubert
|
dea8662d6b
|
cli: show help for empty root command (#6636)
|
2020-10-17 19:06:27 +03:00 |
Delyan Angelov
|
140166e1cd
|
interpolation: support '' (rounding like in C)
|
2020-10-16 17:28:11 +03:00 |
Delyan Angelov
|
6cea20e427
|
tests: fix warnings in live_test.v
|
2020-10-15 23:15:00 +03:00 |
Alexander Medvednikov
|
3d4ab7de1e
|
checker: update tests
|
2020-10-15 12:39:32 +02:00 |
Delyan Angelov
|
3795aaab5c
|
v test-fmt: reformat some skipped files, comment on the remaining ones
|
2020-10-15 00:39:09 +03:00 |
Alexander Medvednikov
|
9355c60b4d
|
cgen: fix for mut val and enable the test
|
2020-10-14 13:34:49 +02:00 |
Alexander Medvednikov
|
25947a7b23
|
autofree: handle args in optional returns
|
2020-10-14 13:23:58 +02:00 |
Alexander Medvednikov
|
ea09bd5e45
|
checker/fmt: `for mut val` fixes
|
2020-10-14 12:50:19 +02:00 |
Alexander Medvednikov
|
a07f31feae
|
all: `for mut val in vals {` (part 1)
|
2020-10-13 16:27:30 +02:00 |
Nick Treleaven
|
78bcda14c4
|
checker: infer T from parameter of type `[]T` (#6611)
|
2020-10-13 15:15:25 +03:00 |
Delyan Angelov
|
62f6e65509
|
repl: fix `reset`; make `echo "print(2.0 * 3.14159)" | ./v` print only the result
|
2020-10-11 10:50:24 +03:00 |
Delyan Angelov
|
604b28b1c5
|
cgen: fix for `type FdfFn = fn(...) (x,y)`
|
2020-10-11 09:53:35 +03:00 |
Enzo
|
6038264a4c
|
gen: fix slicing mutable arguments (#6596)
|
2020-10-10 12:03:23 +02:00 |
Alexander Medvednikov
|
1332bba7af
|
autofree: wrap up optionals
|
2020-10-10 10:34:51 +02:00 |
Alexander Medvednikov
|
c463c26983
|
autofree: optionals fix
|
2020-10-09 01:13:31 +02:00 |
Alexander Medvednikov
|
7d65e4cb10
|
autofree: fix and test var declarations
|
2020-10-08 17:10:20 +02:00 |
Swastik Baranwal
|
aea52af9ae
|
checker: add is_mut check for disallowing taking address of map's key and array's element outside unsafe (#6573)
|
2020-10-08 09:37:18 +03:00 |
shnorbluk
|
b940dc4f8a
|
cli: help displayed when a Command has no execute function (fix #6530) (#6567)
|
2020-10-07 05:39:13 +02:00 |
Nick Treleaven
|
f7decfe399
|
checker: infer generic type T from matching fn call argument (#6298)
|
2020-10-06 15:34:02 +02:00 |
Delyan Angelov
|
06a02c41c3
|
tests: reduce probability of locks during macos runs of live_test.v
|
2020-10-05 21:20:42 +03:00 |
Swastik Baranwal
|
d77669da80
|
test: add tests for disallowing map/array get element/key address (#6568)
|
2020-10-05 18:40:51 +03:00 |
Swastik Baranwal
|
5f07b255bd
|
checker: disallow address of array and map index outside unsafe (#6557)
|
2020-10-05 13:08:30 +02:00 |
Enzo
|
35a83464d0
|
gen: separate sumtype from classic match (#6547)
|
2020-10-04 19:50:23 +02:00 |
Delyan Angelov
|
0c174104fc
|
checker: allow &=,|=,^=,%= on an integer number type aliases
|
2020-10-04 15:29:09 +03:00 |
Swastik Baranwal
|
7e13518cc2
|
parser: disallow match expr at certain places (#6490)
|
2020-10-03 16:30:58 +03:00 |
Enzo
|
677b0ba2d2
|
gen: access fields in multi-type sumtype match (#6541)
|
2020-10-03 11:19:43 +02:00 |
kalapalo
|
eefe067c27
|
cgen: fix `as` cast when sumtype is the result of a function call (#6537)
|
2020-10-03 05:04:15 +02:00 |