joe-conigliaro
|
2d73411396
|
checker: define missing C fn args & check C & JS args (#8770)
|
2021-03-05 17:41:11 +03:00 |
Delyan Angelov
|
0f042124cb
|
tests: support `fn test_fn() ? { opt()? }`
|
2021-03-05 14:18:21 +02:00 |
Gal Pasternak
|
208cabc994
|
checker: fix generic type ignores implemented interface (#9124)
|
2021-03-05 06:59:18 +02:00 |
zakuro
|
4f02da00ba
|
checker: check arguments count of sort (#9105)
|
2021-03-04 15:22:47 +02:00 |
spaceface
|
7663f826e5
|
cgen: add auto str method generation for interfaces (#9095)
|
2021-03-04 12:41:42 +02:00 |
zakuro
|
9bb073580e
|
checker: replace checking type exists with c.ensure_type_exists (#9100)
|
2021-03-04 12:28:48 +02:00 |
Nick Treleaven
|
412c17ccda
|
checker: check private built-in methods are not accessible (#9062)
|
2021-03-03 11:12:50 +02:00 |
Uwe Krüger
|
dd475f4e37
|
checker/cgen: enable `IfGuardExpr` for `a[k]` and `<-ch` (#9065)
|
2021-03-03 10:10:38 +02:00 |
StunxFS
|
dad7c40306
|
checker: minor cleanup in `call_method` (#9066)
|
2021-03-03 10:07:16 +02:00 |
zakuro
|
c74fa9e471
|
checker: correct pos for type error of `if v is interface` (#9080)
|
2021-03-03 09:23:39 +02:00 |
Lukas Neubert
|
8a0b5bad94
|
fmt: keep empty lines in const blocks (#9071)
|
2021-03-03 09:23:11 +02:00 |
Joe Conigliaro
|
a50f2ca5e8
|
interfaces: error on implemention of own interface method & on duplicate normal methods
|
2021-03-03 15:02:10 +11:00 |
Delyan Angelov
|
d0e8e8f178
|
checker: add error for `print( voidfn() )`
|
2021-03-02 17:54:38 +02:00 |
spaceface
|
2b53992c01
|
checker, cgen: allow implementing an interface with an embedded struct (#9042)
|
2021-03-01 21:47:00 +01:00 |
Nick Treleaven
|
dc04c3196b
|
builder: fix detecting duplicate functions (#9033)
|
2021-03-01 21:38:31 +01:00 |
yuyi
|
f9c8d3d25c
|
cgen: fix return if true { 0 } else { none } (fix #9005) (#9030)
|
2021-03-01 13:56:07 +01:00 |
spaceface
|
b712af56fd
|
all: bring back `panic(err.msg)` -> `panic(err)` (#9022)
|
2021-03-01 00:18:14 +01:00 |
zakuro
|
ce115dcbe0
|
builtin: correct error underline for unicode wide chars (#9010)
|
2021-03-01 00:18:02 +01:00 |
Uwe Krüger
|
e937d6249c
|
cgen: fix various issues concerning optionals (#9021)
|
2021-02-28 23:21:03 +01:00 |
spaceface
|
d7252f4474
|
builtin: allow passing any argument type to `panic` (#9020)
|
2021-02-28 22:57:18 +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
|
e564269477
|
ci: fix static_vars_in_translated_mode.vv
|
2021-02-28 18:55:25 +02:00 |
Nick Treleaven
|
a1244a9f5f
|
checker: check that the module `init` fn, should have no params, and no return type (#8988)
|
2021-02-27 11:11:20 +02:00 |
Uwe Krüger
|
f67bff1696
|
all: support `thread` handles and `wait()` for functions returning optionals (#8990)
|
2021-02-27 10:16:55 +02:00 |
Nick Treleaven
|
8874379c48
|
checker: check left selector expression in `$if left is right` (#8987)
|
2021-02-26 21:51:35 +01:00 |
Nick Treleaven
|
4ad95cfeaf
|
checker: check types with $for/$if introspection (#8984)
|
2021-02-26 15:26:50 +01:00 |
Nick Treleaven
|
59d4d0ef1d
|
checker: detect unknown type to iterate with $for (#8971)
|
2021-02-26 08:28:19 +02:00 |
Nick Treleaven
|
3a082621c9
|
checker: add a check for casting to an unknown type (#8968)
|
2021-02-26 08:26:36 +02:00 |
Nick Treleaven
|
c03798e390
|
checker: disallow implicit conversion from fixed array to fooptr (#8823)
|
2021-02-26 00:28:47 +01:00 |
Nick Treleaven
|
57d1b5b74d
|
checker: show position for variadic/shared/method argument errors (#8939)
|
2021-02-24 19:35:32 +01:00 |
spaceface
|
8033203ef6
|
builtin: add an Option2 struct (#8890)
|
2021-02-22 18:44:15 +02:00 |
yuyi
|
7a6fd359d0
|
checker: check fn_variadic with array_decompose (#8894)
|
2021-02-22 14:26:54 +01:00 |
Uwe Krüger
|
5306b2788c
|
all: extend `wait()` method to array of `thread` handles (#8840)
|
2021-02-22 15:08:52 +02:00 |
zakuro
|
f54c1a5cc2
|
all: add strings.Builder.write_string and use write_string instead of write (#8892)
|
2021-02-22 13:18:11 +02:00 |
yuyi
|
1a838b1f43
|
checker: fix error of match in map_init (fix #8579) (#8879)
|
2021-02-21 17:09:42 +02:00 |
yuyi
|
6e46f3850c
|
ast: change `expr.is_mut_ident()` to `expr.is_auto_deref_var()` (#8869)
|
2021-02-21 12:15:36 +02:00 |
yuyi
|
9a744b6750
|
cgen: fix in map_literal (fix #8868) (#8871)
|
2021-02-21 11:54:30 +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 |
Nick Treleaven
|
28088cc494
|
checker: check fixed array index when it's a literal (#8831)
|
2021-02-20 20:18:47 +02:00 |
Nick Treleaven
|
1e71c0eaca
|
checker: warn for deprecated methods too (#8861)
|
2021-02-20 19:25:54 +02:00 |
Delyan Angelov
|
8327c9afc1
|
checker: support a custom `[deprecated: 'message']`
|
2021-02-20 17:35:44 +02:00 |
yuyi
|
5e1159e4c3
|
checker: change non-const size of fixed array error message (#8850)
|
2021-02-20 12:14:44 +01:00 |
Nick Treleaven
|
bcb35e15f9
|
checker: only allow passing integer *literal* to non-integer pointer method parameter (#8825)
|
2021-02-19 14:14:40 +02:00 |
zakuro
|
6e262b5d84
|
checker: improve error position of infix expr (#8828)
|
2021-02-19 12:38:41 +02:00 |
Swastik Baranwal
|
ad162cd6fc
|
checker: stricter `unknown type` checks, show better suggestions (#8816)
|
2021-02-19 11:23:13 +02:00 |
zakuro
|
1891ebf22d
|
scanner: print multibyte char for invalid char error (#8804)
|
2021-02-18 15:43:39 +02:00 |
zakuro
|
a34a1ab864
|
checker/table: minor cleanup by removing unnecessary `_` variable (#8801)
|
2021-02-18 11:30:43 +02:00 |
yuyi
|
a119affeba
|
cgen: check unknown sizeof type (#8815)
|
2021-02-18 09:38:57 +02:00 |
Nick Treleaven
|
4ccf991f61
|
checker: warn when casting a fixed array (use `&arr[0]` instead) (#8787)
|
2021-02-17 20:45:11 +01:00 |
yuyi
|
4fa315edc2
|
checker: fix for _, mut j in array (#8785)
|
2021-02-17 20:44:28 +01:00 |
Nick Treleaven
|
0f8edd918a
|
checker: disallow `unsafe` map copy (#8720)
|
2021-02-17 05:19:25 +01: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 |
Nick Treleaven
|
01aa09d515
|
checker: do not allow copying any map lvalue (#8662)
|
2021-02-16 12:46:12 +01:00 |
Uwe Krüger
|
0520b755f4
|
checker/cgen: support `print*()`, `.str()` and '$x' for `shared` (#8771)
|
2021-02-16 12:40:13 +01:00 |
Nick Treleaven
|
c057b45bb1
|
checker: check argument count for C fn with attribute (#8728)
|
2021-02-15 18:56:26 +02:00 |
zakuro
|
2911f03627
|
checker: reject method that have multi-value type receiver (#8696)
|
2021-02-15 17:55:54 +02:00 |
yuyi
|
a9c2045dbd
|
cgen: fix var name clash of array/map (fix #1994) (#8765)
|
2021-02-15 15:51:57 +02:00 |
Nick Treleaven
|
629d43caf5
|
checker: warn when using `goto` outside of `unsafe` (#8741)
|
2021-02-15 15:48:24 +02:00 |
spaceface
|
e3649ec4d3
|
all: implement `type_name()` for interfaces too (#8767)
|
2021-02-15 15:29:44 +02:00 |
Nick Treleaven
|
ea803113c3
|
checker: check `unsafe` V function calls (#8752)
|
2021-02-14 19:31:42 +01:00 |
zakuro
|
e534b4397d
|
checker: report correct position for non-bool cond error (#8735)
|
2021-02-14 19:19:41 +01:00 |
zakuro
|
e4f15605c0
|
checker: reject void type condition (#8737)
|
2021-02-14 07:33:24 +01:00 |
Delyan Angelov
|
e809264f12
|
builder,checker: split the unused marking into a new `v.markused` module
|
2021-02-13 18:02:31 +02:00 |
Uwe Krüger
|
374739b804
|
all: rename `[ref_only]` -> `[heap]` (#8718)
|
2021-02-13 16:52:01 +02:00 |
Delyan Angelov
|
2a8d0ddaf5
|
checker: add os.init_os_args_wide to the -skip-unused whitelist too
|
2021-02-13 16:33:35 +02:00 |
Delyan Angelov
|
60c16313f3
|
checker: enable `./v -skip-unused self`
|
2021-02-13 16:08:44 +02:00 |
Delyan Angelov
|
eaaac220be
|
checker: make -skip-unused more conservative to make `v test vlib/builtin` pass
|
2021-02-13 15:47:17 +02:00 |
Ned Palacios
|
db609a0784
|
checker: skip checking for invalid fn return type (#8703)
|
2021-02-13 01:21:05 +01: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 |
glebbash
|
aa548f45ea
|
docs: fix functions in array/map example (#8695)
|
2021-02-12 21:10:54 +02:00 |
Joe Conigliaro
|
c904c9178d
|
checker: support ParExpr for trying to take address errors & simplify messages
|
2021-02-13 02:49:22 +11:00 |
Joe Conigliaro
|
5d36a59dd8
|
checker: fix returning [] from fn which retuns optional array
|
2021-02-12 22:30:30 +11:00 |
Alexander Medvednikov
|
0a03856c83
|
parser: small c2v fixes
|
2021-02-12 09:12:26 +01:00 |
yuyi
|
3164e29651
|
all: fix fn_or_for_in mut value (part 1) (#8671)
|
2021-02-12 02:03:11 +02:00 |
Nick Treleaven
|
84a16d8684
|
map: add `move` method (#8660)
|
2021-02-12 02:02:33 +02:00 |
Nick Treleaven
|
375efb0953
|
checker: improve errors for `return` count mismatch (#8686)
|
2021-02-12 01:47:11 +02:00 |
Joe Conigliaro
|
317d450723
|
checker: add error when trying to take address of call expr
|
2021-02-12 10:39:02 +11:00 |
zakuro
|
4305ce1493
|
checker: extract long match branches in c.stmt(), into separate checker functions (#8666)
|
2021-02-10 18:51:41 +02:00 |
Delyan Angelov
|
4646c414d8
|
checker: fix -skip-unused with struct inits with default expressions
|
2021-02-10 18:25:57 +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 |
Nick Treleaven
|
d37fb5641f
|
parser: improve printing of unexpected tokens (#8654)
|
2021-02-09 17:07:30 +02:00 |
Lukas Neubert
|
5abd49d9bc
|
cgen: cast default struct field value to correct SumType/interface (#8619)
|
2021-02-08 17:33:05 +02:00 |
Nick Treleaven
|
9e751f72c4
|
doc, fmt: use `map{key: value}` syntax for map literals (#8623)
|
2021-02-08 16:57:42 +02:00 |
zakuro
|
8ae23cd89e
|
parser: make `v := f(v)' an undefined variable error (#8634)
|
2021-02-08 16:55:01 +02:00 |
zakuro
|
e5839effbc
|
checker/cgen: allow `<<` operator for aliases (#8561)
|
2021-02-08 01:41:47 +01:00 |
Lukas Neubert
|
473cd1d416
|
fmt: single line ternary return (#8605)
|
2021-02-08 00:28:46 +01:00 |
Uwe Krüger
|
118ca1240e
|
all: allow `shared` element types for `struct` and arrays (#8631)
|
2021-02-08 00:28:29 +01:00 |
Lukas Neubert
|
7f4c582f1a
|
fmt: unwrap long infix exprs inside parenthesis if necessary (#8609)
|
2021-02-07 23:10:39 +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
|
cf230644b6
|
fmt: enable shared return types (#8614)
|
2021-02-06 21:25:06 +01:00 |
zakuro
|
fe9d062b41
|
gen: fix bug where unreached defer is executed (#8594)
|
2021-02-06 18:40:39 +02:00 |
Delyan Angelov
|
167773dd1c
|
checker: make -skip-unused process a list of root functions, not just main.main
|
2021-02-06 09:41:24 +02:00 |
yuyi
|
1b6efebac7
|
all: fix map = map2 assignment (#8581)
|
2021-02-06 03:06:34 +01:00 |
Delyan Angelov
|
a6ecc19040
|
ci: fix -skip-unused compiler test on windows, using -d no_backtrace
|
2021-02-05 18:36:57 +02:00 |