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 |
zakuro
|
6b776e686e
|
parser: display correct position on boolean expression error (#8563)
|
2021-02-05 16:52:35 +01:00 |
zakuro
|
a94228bb16
|
checker: make `[] == ArrayAlias([])` an error (#8562)
|
2021-02-05 16:49:40 +01:00 |
Delyan Angelov
|
867d96a077
|
checker: use @METHOD for util.timing_start in Checker.mark_used/1
|
2021-02-05 16:41:55 +02:00 |
Delyan Angelov
|
16dffc7c1d
|
compiler: move timing_start/timing_measure to util.timing_start/util.timing_measure
|
2021-02-05 16:34:56 +02:00 |
Delyan Angelov
|
25a3873019
|
parser,checker: support @METHOD, replaced by 'ReceiverType.MethodName'
|
2021-02-05 16:32:43 +02:00 |
Delyan Angelov
|
d30f94507c
|
checker: enable -skip-unused for more examples
|
2021-02-05 11:55:40 +02:00 |
Delyan Angelov
|
40fff7b56a
|
v.pref: support `v -skip-unused run examples/hello_world.v`
|
2021-02-05 11:12:28 +02:00 |
Delyan Angelov
|
80697ec7f3
|
table: .is_used => .usages (a counter, instead of a boolean flag)
|
2021-02-05 10:03:17 +02:00 |
Delyan Angelov
|
e5c9fcb7e9
|
ci: fix building vdoc, vls, etc
|
2021-02-05 09:27:14 +02:00 |
Alexander Medvednikov
|
1084b43ffb
|
all: ast walker for marking unused fns
|
2021-02-05 08:05:35 +01:00 |
Louis Schmieder
|
97c0ef3505
|
orm: struct field support (#8517)
|
2021-02-04 20:28:33 +01: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 |
Nick Treleaven
|
de37b52d4b
|
checker: check goto label exists (#8523)
|
2021-02-03 15:20:10 +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 |
Ruofan XU
|
a73c20916d
|
checker: refactor and clean up c.check_basic() (#8508)
|
2021-02-03 11:57:06 +02:00 |
zakuro
|
4b99d6af95
|
cgen: fix bug with duplicate defer generation (#8503)
|
2021-02-03 11:40:21 +02:00 |
yuyi
|
b40252bd97
|
checker: merge array_filter_fn_err tests (#8506)
|
2021-02-03 11:27:11 +02:00 |
yuyi
|
9bcb57eb1f
|
checker: merge array_map_fn_err tests (#8507)
|
2021-02-03 11:26:26 +02:00 |
zakuro
|
e30e794884
|
checker: add check for using a private const in another module (#8501)
|
2021-02-03 10:17:13 +02: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 |
Daniel Däschle
|
d477e525bb
|
checker/gen: fix generic struct init (#8322)
|
2021-02-03 00:42:00 +11: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 |
Nick Treleaven
|
c537578481
|
checker: ensure `expr` is an lvalue with `Struct{...expr` (#8489)
|
2021-02-01 15:18:03 +01: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 |
spaceface
|
effa3188dd
|
cgen: fix type casts to interfaces (#8476)
|
2021-01-31 19:24:33 +02:00 |
Larpon
|
d25825df57
|
all: support compile time `$env('ENV_VAR')` (#8456)
|
2021-01-31 19:22:42 +02:00 |
Nick Treleaven
|
f992099726
|
checker: check s.$method(arg) argument is []string (#8455)
|
2021-01-31 15:28:23 +01:00 |
yuyi
|
2963425995
|
cgen: fix fn_with_mut_args (fix #7139) (#8446)
|
2021-01-31 02:45:45 +01:00 |
BigBlack
|
c5e7956eb5
|
checker: fix generic_mutable_arrays in functions (#8445)
|
2021-01-30 18:35:03 +01:00 |
Nick Treleaven
|
64d12cdc8d
|
checker: check number of C function arguments for some cases (#8444)
|
2021-01-30 18:33:36 +01:00 |
Nick Treleaven
|
849bc6c3d8
|
tests: fix weird CI failure with error details (#8449)
|
2021-01-30 18:53:39 +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 |
Lukas Neubert
|
2774db077d
|
fmt: keep user choice for newlines in match branches (#8418)
|
2021-01-30 11:57:57 +01:00 |
yuyi
|
77b3d40f46
|
checker: fix `map = {}` (#8435)
|
2021-01-30 11:55:10 +01:00 |
Uwe Krüger
|
5e9b528a9d
|
checker/cgen: support `return` from nested `or` (#8430)
|
2021-01-30 12:46:36 +02:00 |
Delyan Angelov
|
760b4c37b9
|
all: support _test.vv files (to test _test.v errors/checks too)
|
2021-01-30 10:42:18 +02:00 |
Delyan Angelov
|
948f63b507
|
checker,builder: rename `details:` to `Details:`
|
2021-01-30 10:20:09 +02:00 |
Delyan Angelov
|
30e0c478d7
|
checker: add error for _test.v file without test_ functions
|
2021-01-30 10:19:29 +02:00 |
Swastik Baranwal
|
e03ece2a4b
|
checker: check the fn decl for anon fns too (#7529)
|
2021-01-29 23:11:05 +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 |
zakuro
|
2a32dac40d
|
checker: fix panic when calling generic function with too few args (#8416)
|
2021-01-29 20:14:22 +02:00 |
yuyi
|
26c06a56b7
|
checker: fix array_insert_or_prepend_short_struct_init (#8397)
|
2021-01-29 14:53:14 +01:00 |
Nick Treleaven
|
d012f2713b
|
checker: improve errors with compile-time field access (#8373)
|
2021-01-29 00:45:00 +01:00 |
spaceface
|
4aee997689
|
checker: make implementing an interface with another interface an error (#8398)
|
2021-01-29 00:41:59 +01:00 |
yuyi
|
1be7cc14d3
|
checker: check duplicate of a const name (#8396)
|
2021-01-28 18:34:55 +01:00 |
yuyi
|
684d2e6dbf
|
checker: merge ambiguous_function_call tests (#8388)
|
2021-01-28 15:53:54 +02:00 |
Uwe Krüger
|
0afe36e153
|
checker: fix receiver pos for single letter type error message (#8393)
|
2021-01-28 15:20:07 +02:00 |
Lukas Neubert
|
75d85403a6
|
fmt: better ternary concat wrapping (#8379)
|
2021-01-28 11:23:48 +01:00 |
Alexander Medvednikov
|
d86cb67eda
|
checker: add a test for the single letter receiver
|
2021-01-28 11:13:51 +01:00 |
Alexander Medvednikov
|
68dab101d9
|
checker: fix one letter receiver panic
|
2021-01-28 11:05:37 +01:00 |
Alexander Medvednikov
|
36e75e5208
|
Revert "parser: fix panic when single letter receiver parsed (#8381)"
This reverts commit 93b0d8ca64 .
|
2021-01-28 10:59:04 +01:00 |
Daniel Däschle
|
93b0d8ca64
|
parser: fix panic when single letter receiver parsed (#8381)
|
2021-01-28 10:56:43 +01:00 |
Tim Basel
|
5fc7eadd8b
|
cgen: fix short struct init with `mut` (#8384)
|
2021-01-28 10:05:09 +02:00 |
zakuro
|
8162396783
|
checker: deny multi-value in a singe-value context (#8328)
|
2021-01-27 23:10:51 +02:00 |
yuyi
|
d1ab22d45f
|
checker: fix array append short struct init (#8362)
|
2021-01-27 13:55:53 +01:00 |
Enzo
|
2b30c48770
|
checker: fix ctdefine check in non-main modules (#8332)
|
2021-01-27 13:54:33 +01:00 |
Swastik Baranwal
|
17921f4171
|
checker: add checks for optional selector_expr (#8330)
|
2021-01-27 13:53:20 +01:00 |
Nick Treleaven
|
58a76344cb
|
checker: avoid SelectorExpr filter on Ident unless it's a generic type name (#8357)
|
2021-01-27 13:52:52 +01:00 |
yuyi
|
7a5722c885
|
parser: check assign_stmt of undefined variable (#8366)
|
2021-01-27 13:52:10 +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 |
zakuro
|
3959ba5751
|
checker: make a calling no-body function a checker error (#8265)
|
2021-01-26 11:19:48 +01:00 |
Lukas Neubert
|
2007dbc7b5
|
fmt: put the opening brace on a new line again for infix (#8336)
|
2021-01-26 11:19:32 +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 |
Delyan Angelov
|
a5b10b5539
|
parser: improve the error message for unexpected keywords
|
2021-01-25 15:29:07 +02:00 |
Delyan Angelov
|
728344ff65
|
ci: fix `v test-cleancode`
|
2021-01-25 12:55:01 +02:00 |
Delyan Angelov
|
94fd3ff431
|
checker: remove the 'in module main cannot be declared public' error/warning
|
2021-01-25 12:55:00 +02: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 |
Alexander Medvednikov
|
12ff1c2702
|
doc: document the new const rule
|
2021-01-24 10:23:52 +01:00 |
Alexander Medvednikov
|
80e6b090ea
|
checker: remove an obsolete const test
|
2021-01-24 10:17:36 +01:00 |
Alexander Medvednikov
|
8bcb6c10cc
|
checker: remove duplicate const error; fmt: force full path to consts
|
2021-01-24 10:01:13 +01:00 |
Daniel Däschle
|
35432c5e92
|
gen: fix generic multi return (#8303)
|
2021-01-23 23:41:32 +02:00 |
Uwe Krüger
|
38880b23eb
|
checker: allow `a[i]` for `shared` arrays outside `unsafe` (#8292)
|
2021-01-23 13:33:32 +01:00 |
yuyi
|
b8857baa98
|
parser: fix map_init position (#8293)
|
2021-01-23 13:33:19 +01:00 |
yuyi
|
5ee3fecf60
|
checker: check for mut val in immutable obj (#8285)
|
2021-01-23 10:40:17 +01:00 |
Lukas Neubert
|
8b61891348
|
fmt: smarter if condition wrapping (#8201)
|
2021-01-23 10:33:22 +02:00 |
zakuro
|
9812230847
|
checker: make the no-body main function a checker error (#8211)
|
2021-01-23 10:30:26 +02: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 |
Louis Schmieder
|
e06e8b10cd
|
orm: fix empty struct and simplify (#8246)
|
2021-01-22 23:28:26 +01: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 |
Delyan Angelov
|
b10b76bb0d
|
parser: remove the 'non-string keys are work in progress' warning
|
2021-01-22 12:25:17 +02: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 |
zakuro
|
1b09954622
|
parser: improve the position of mut receiver warning / error (#8240)
|
2021-01-22 09:38:37 +02:00 |
Uwe Krüger
|
925ffd76f4
|
sync/channels: expose `ch.closed` as `bool` pseudo attribute (#8244)
|
2021-01-22 09:37:29 +02:00 |
zakuro
|
522d875489
|
checker: make it an error, to use ident outside of anon fn (#8232)
|
2021-01-22 09:24:49 +02:00 |
Daniel Däschle
|
3ee7bc960f
|
checker/gen: fix smartcast pointer sumtype (#8260)
|
2021-01-21 22:31:25 +02:00 |
Louis Schmieder
|
6b1956fb60
|
checker: fix warning at comptime call (#8248)
|
2021-01-21 21:36:11 +02: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 |
zakuro
|
29b3077ea1
|
checker: make negative literal index a checker error (#8242)
|
2021-01-21 13:27:16 +02:00 |
Louis Schmieder
|
4045ec1ca8
|
checker: remove vweb unused vars (#8180)
|
2021-01-21 11:09:19 +01:00 |
zakuro
|
0c249fa040
|
parser: improve anon fn pos (#8210)
|
2021-01-21 11:01:40 +01:00 |
spaceface
|
f059a9e96c
|
builtin: fix sorting arrays of primitives (#8204)
|
2021-01-20 23:19:35 +02:00 |
yuyi
|
190bb38087
|
checker: check fixed array size (#8224)
|
2021-01-20 23:17:49 +02:00 |
Delyan Angelov
|
d9532eda30
|
checker: error on a.slice(x,y) outside `builtin`
|
2021-01-19 15:55:52 +02:00 |
Tim Basel
|
129eee346b
|
fmt: keep single empty lines (#8189)
|
2021-01-19 14:49:40 +01: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 |
Lukas Neubert
|
b44c08aff0
|
fmt: wrap match branch expressions (#8190)
|
2021-01-19 06:16:42 +01: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 |
Uwe Krüger
|
5cc591b2b6
|
all: support generic `chan` (#8188)
|
2021-01-18 18:37:45 +01:00 |
Swastik Baranwal
|
6f1ae65811
|
parser: add a warning for only else branch in match (#8185)
|
2021-01-18 18:31:36 +02:00 |
Lukas Neubert
|
ac2c3847af
|
all: update copyright to 2019-2021 (#8029)
|
2021-01-18 13:20:06 +01:00 |
Lukas Neubert
|
16c9cbce7c
|
fmt: correctly increase f.line_len for write_indent (#8174)
|
2021-01-18 06:02:29 +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 |
Swastik Baranwal
|
334b66b311
|
checker/cgen: add checks and fix cgen for [typedef] for C structs (#8169)
|
2021-01-17 17:18:07 +02:00 |
Alexander Medvednikov
|
2b058edc98
|
checker: do not require ref field init with update expr
|
2021-01-17 06:24:03 +01:00 |
yuyi
|
9376c57a51
|
cgen: fix for_in_mut_val (fix #8087) (#8129)
|
2021-01-17 05:32:34 +01:00 |
Swastik Baranwal
|
ef627c9d21
|
checker: improve message and positioning for operator overloading (#8133)
|
2021-01-17 03:37:44 +01:00 |
Delyan Angelov
|
5ae55731b9
|
embed: move to `v.embed_file`, fix CI failing test
|
2021-01-16 20:03:07 +02:00 |
Daniel Däschle
|
53941c4a0a
|
fmt: fix if cond break readability (#8132)
|
2021-01-16 02:12:17 +01:00 |
Delyan Angelov
|
c4c4b9c7b1
|
gen,checker: implement g.trace/2 and c.trace/2, similar to p.trace/2
|
2021-01-15 20:28:53 +02:00 |
Delyan Angelov
|
263fb7d7a8
|
checker: fix `instance.cb_field(mut arg)`
|
2021-01-15 20:28:42 +02:00 |
Uwe Krüger
|
8d014d4646
|
sync: allow `go` routine join with return value (#8125)
|
2021-01-15 13:45:26 +01:00 |
Swastik Baranwal
|
0ca36aafe2
|
cgen: allow assignment operators for type aliases (#8086)
|
2021-01-15 02:27:19 +01:00 |
Nick Treleaven
|
c80cc917c7
|
checker: check casting struct -> interface; disallow casting struct -> interface pointer (#8110)
|
2021-01-15 01:20:58 +01:00 |
Nick Treleaven
|
127503c77d
|
checker: disallow indexing a voidptr (#8109)
|
2021-01-14 20:51:43 +02:00 |
Nick Treleaven
|
890fb2d09d
|
checker: show signature for interface method on error (#8111)
|
2021-01-14 20:50:06 +02: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 |
Nick Treleaven
|
0f2a770b9c
|
checker: improve errors for interface method compatibility (#8097)
|
2021-01-13 23:44:29 +01:00 |
zakuro
|
47536df2d0
|
table: remove nr_dims from Array (#8053)
|
2021-01-13 23:43:19 +01:00 |
yuyi
|
1d28c4de2a
|
cgen: fix multi fixed arrays with default init (fix #8038) (#8064)
|
2021-01-13 22:57:33 +02:00 |
Nick Treleaven
|
ac85257ea0
|
parser: fix sizeof(mod.Type), fix checking sizeof expression (#8065)
|
2021-01-13 06:13:39 +01:00 |
Swastik Baranwal
|
1e853b0efc
|
cgen: implement argument operator overloading (#8067)
|
2021-01-13 03:31:14 +01:00 |
yuyi
|
03a0534483
|
all: change fixed array init from `[1,2,3]!!` to `[1,2,3]!` (#8068)
|
2021-01-13 03:28:53 +01:00 |
Daniel Däschle
|
3289dff7ff
|
checker: require explicit return none (#8060)
|
2021-01-12 11:43:55 +01:00 |
zakuro
|
33694665f0
|
fmt: align each contiguous field of struct. not the whole. (#7981)
|
2021-01-12 04:38:43 +01:00 |
Swastik Baranwal
|
5a1699dec2
|
checker: add more checks for operator overloading (#8030)
|
2021-01-12 04:37:20 +01:00 |
Uwe Krüger
|
5f95dd54bd
|
builtin: rename `any_*` -> `*_literal` - 2. part (#8032)
|
2021-01-11 22:58:15 +01:00 |
yuyi
|
a1c67232d0
|
checker: fix duplicate variable name (fix #265) (#7982)
|
2021-01-10 21:41:29 +01:00 |
yuyi
|
a97ed55a09
|
checker: check for an unknown struct name (fix #8007) (#8010)
|
2021-01-10 21:16:53 +02: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 |
Ned Palacios
|
256ddcee1f
|
v.ast: add walker submodule for ast walking (#7775)
|
2021-01-09 05:36:38 +01:00 |
Daniel Däschle
|
bbac95a438
|
parser: error on recursive struct (#7964)
|
2021-01-09 01:33:36 +01:00 |
Nick Treleaven
|
141b0cb882
|
checker: fix warning & allow assigning to a union field without unsafe (#7970)
|
2021-01-09 01:32:33 +01:00 |
Swastik Baranwal
|
9291fb5e0c
|
checker: disallow comparison between enum and int (#7886)
|
2021-01-08 17:41:52 +01:00 |
yuyi
|
828120a918
|
checker: check unknown generic type (#7954)
|
2021-01-08 07:04:06 +01:00 |
Alexander Medvednikov
|
0998cbaaba
|
vweb: fix routing test
|
2021-01-08 05:59:23 +01:00 |
Alexander Medvednikov
|
352cf91ba2
|
vweb: remove `return vweb.Result{}` everywhere
|
2021-01-08 04:57:02 +01:00 |
Alexander Medvednikov
|
e3f8d448c1
|
all: [noinit] struct attribute
|
2021-01-08 04:49:16 +01:00 |
Daniel Däschle
|
1ce93536d0
|
checker: fix panic in generic methods (#7944)
|
2021-01-08 00:50:59 +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 |
Alexander Medvednikov
|
15ba53be21
|
checker: handle different pointer levels
|
2021-01-07 07:36:11 +01:00 |
Uwe Krüger
|
ffd753abdc
|
all: implement `ch <- x or {...}` and `ch <- x ?` (#7928)
|
2021-01-06 21:19:40 +01: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 |
Alexander Medvednikov
|
3722e16073
|
builtin: fix byte.str() (part 2)
|
2021-01-05 19:26:50 +01:00 |
Nick Treleaven
|
7a6b160d63
|
checker: fix indexing a type alias instance (#7889)
|
2021-01-05 19:17:18 +01:00 |
Alexander Medvednikov
|
5a70eba8e1
|
all: byte.str() => byte.ascii_str()
|
2021-01-05 19:14:37 +01:00 |
Nick Treleaven
|
8fc33bc27d
|
checker: warn when casting number or a voidptr to reference type outside unsafe (#7900)
|
2021-01-05 20:07:45 +02:00 |
Alexander Medvednikov
|
3e04dfc79f
|
builtin: fix byte.str() (part 1)
|
2021-01-05 18:59:51 +01:00 |
Daniel Däschle
|
c137a79666
|
checker: check if $if left is selector expr (#7897)
|
2021-01-05 18:14:55 +02:00 |
Nick Treleaven
|
3203a124b2
|
checker: warn when casting between reference types outside of `unsafe` (#7892)
|
2021-01-05 17:02:04 +02:00 |
Daniel Däschle
|
5841d5d8e1
|
all: implement basic comptime field selector (#7888)
|
2021-01-05 16:11:43 +02:00 |
zakuro
|
3dae44db73
|
checker: do not allow empty enums (#7848)
|
2021-01-05 01:46:32 +01:00 |
spaceface
|
efb80bdffd
|
all: implement iterators in for loops (#7867)
|
2021-01-05 01:06:44 +01:00 |
Nick Treleaven
|
040b923665
|
checker: warn when accessing `union` fields outside `unsafe` (#7869)
|
2021-01-04 21:44:37 +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 |
Uwe Krüger
|
4a25c2bb6f
|
types: rename `any_*`, `untyped *` -> `* literal` (#7845)
|
2021-01-04 00:11:09 +02:00 |
Delyan Angelov
|
d86304b7d0
|
v.table: use the user readable names inside type_to_str_using_aliases for `any_int` and `any_float`
|
2021-01-03 22:15:18 +02:00 |
zakuro
|
dd516858d4
|
fmt: align struct field comments (#7632)
|
2021-01-03 21:10:25 +01:00 |
Delyan Angelov
|
ff1156cddd
|
ci: run `VAUTOFIX=1 ./v vlib/v/compiler_errors_test.v` to fix ci failures
|
2021-01-03 19:03:20 +02:00 |
Delyan Angelov
|
745a7f8d8f
|
ci: run vfmt over checker.v and types.v
|
2021-01-03 19:02:33 +02:00 |
Joe Conigliaro
|
70b921c49d
|
all: change any_int & any_flt display name
|
2021-01-04 03:20:52 +11: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 |
StunxFS
|
b7f83e2f50
|
checker: more errors for illegal referencing (#7755)
|
2021-01-03 15:56:15 +01:00 |
Nick Treleaven
|
38e0aa350d
|
checker: support non-string map.keys method (#7760)
|
2021-01-03 15:55:06 +01:00 |
Enzo
|
529f46d808
|
checker: don't panic on non-array decomposition (#7836)
|
2021-01-03 15:45:39 +01:00 |
Ned Palacios
|
40b8d9ca3d
|
checker: fix infer_fn_type for generic methods (#7767)
|
2021-01-01 17:33:23 +01:00 |
Nick Treleaven
|
9243e06dba
|
parser: allow integer and rune keys for map literal (#7756)
|
2021-01-01 17:23:32 +01:00 |
Swastik Baranwal
|
24b18f05c4
|
cgen: implement > and < for structs (#7774)
|
2021-01-01 14:54:32 +01:00 |
Daniel Däschle
|
5ae3637d27
|
checker: revert embedded methods fix (#7780)
|
2021-01-01 14:36:07 +01:00 |
clubby789
|
9ac237d9c0
|
match: implement exhaustive match for bool values (#7761)
|
2021-01-01 13:28:23 +02:00 |
Joe Conigliaro
|
8700080c4a
|
checker: fix struct embed with overriden method
|
2021-01-01 09:50:00 +11:00 |
Joe Conigliaro
|
e9f9f27e49
|
checker: fix formatting in tests/web_routing_checks.out
|
2021-01-01 08:01:00 +11:00 |
yuyi
|
c3dafad7ef
|
generics: implement method generics (fix #7638) (#7732)
|
2020-12-31 18:00:22 +01:00 |
Alexander Medvednikov
|
2bc9ee4d88
|
vweb: more updates
|
2020-12-31 17:47:20 +01:00 |
Alexander Medvednikov
|
2533c706ae
|
vweb: migrate all tests and examples to the new syntax
|
2020-12-31 17:22:47 +01:00 |
Uwe Krüger
|
74ea5ac99f
|
checker: check reference return to be really reference (#7739)
|
2020-12-31 12:42:22 +01:00 |
Swastik Baranwal
|
a9ab79d301
|
checker: ban any_int/any_float outside buitlin (#7675)
|
2020-12-31 12:41:30 +01:00 |
Emily Hudson
|
bf9b0c6345
|
compiler: add `[console]` attribute for main function to force console subsystem on windows (#7721)
|
2020-12-31 12:38:55 +01:00 |
Swastik Baranwal
|
a834f33661
|
checker: add checks for operator overloading (#7737)
|
2020-12-31 12:38:10 +01:00 |
Daniel Däschle
|
9a31744255
|
cgen: fix embed generic field access & method call (#7725)
|
2020-12-30 23:49:02 +01:00 |
StunxFS
|
13cd7e88ef
|
checker: error taking the address of a boolean literal (#7716)
|
2020-12-30 17:21:15 +01:00 |
ka-weihe
|
2c65c5c61a
|
ci: sanitize compiler for tests (#7685)
|
2020-12-29 20:27:57 +02:00 |
joe-conigliaro
|
02965e753e
|
all: re-implement variadics using arrays & implement array decomposition to varg (#7689)
|
2020-12-29 16:14:08 +01:00 |
Delyan Angelov
|
6cf3b96a37
|
ci: fix .out files after 40ce18f
|
2020-12-29 16:10:55 +02:00 |
Alexander Medvednikov
|
40ce18fa3c
|
checker: handle unwrapped optionals in infix exprs
|
2020-12-29 13:49:43 +01:00 |
Swastik Baranwal
|
2795f929fa
|
checker: update check for arr=arr1 (#7651)
|
2020-12-28 18:35:34 +01:00 |
Joe Conigliaro
|
64c0645bcb
|
checker: error when trying to propagate optional call in return stmt with ?
|
2020-12-28 20:09:43 +11:00 |
Delyan Angelov
|
df61cf246b
|
cgen: fix `x.interface_field = value_implementing_interface` (closes #7620)
|
2020-12-27 19:12:39 +02:00 |
Lukas Neubert
|
06fdf34214
|
fmt: unwrap long single line ifs (#7608)
|
2020-12-27 14:20:30 +01:00 |
Nick Treleaven
|
e813583bc1
|
checker: support integer and voidptr key types for maps (#7503)
|
2020-12-27 14:18:46 +01:00 |
zakuro
|
21805ea2a5
|
all: make eprint[ln] behave same as print[ln] (#7595)
|
2020-12-27 11:22:16 +01:00 |
spaceface
|
214290d55b
|
fmt: add a space around single-line `unsafe` expressions (#7505)
|
2020-12-23 19:13:42 +01:00 |
Daniel Däschle
|
b27f5c378c
|
all: reimplement struct embedding with methods (#7506)
|
2020-12-23 19:12:49 +01:00 |
yuyi
|
132807d5d1
|
cgen: implement generic `array.index` (#7501)
|
2020-12-23 19:10:16 +01:00 |
yuyi
|
8f4281b790
|
checker: merge minus_op_wrong_type_err tests to just one (#7489)
|
2020-12-23 10:16:04 +02:00 |
yuyi
|
b08fe73614
|
checker: merge mod_op_wrong_type_err tests to just one (#7490)
|
2020-12-23 10:15:25 +02:00 |
yuyi
|
0dd385d480
|
checker: merge mul_op_wrong_type_err tests to just one (#7491)
|
2020-12-23 10:14:32 +02:00 |
yuyi
|
36cc70983e
|
checker: merge div_op_wrong_type_err tests to just one (#7493)
|
2020-12-23 10:14:08 +02:00 |
yuyi
|
5283811055
|
checker: merge add_op_wrong_type_err tests to just one (#7488)
|
2020-12-23 10:13:46 +02:00 |
yuyi
|
1c64635d61
|
checker: fix multi_array type mismatch check (#7486)
|
2020-12-23 08:05:44 +02:00 |
Ned Palacios
|
06369a27c2
|
parser: return incomplete selector expr stmt (#7465)
|
2020-12-22 13:00:23 +01:00 |
Lukas Neubert
|
5cd2dffafb
|
checker: error, when same type is used multiple times in a sum type (#7432)
|
2020-12-21 22:05:50 +02:00 |
Lukas Neubert
|
304aafdc50
|
fmt: add a space after + operator/method overload (#7453)
|
2020-12-21 21:20:00 +02:00 |
yuyi
|
21cd765eaa
|
cgen: fix `in` multi_array, generate `.contains()` (fix #7427) (#7448)
|
2020-12-21 16:59:43 +01: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
|
583c02316a
|
checker: more arr1=arr2 fixes
|
2020-12-20 15:21:32 +01:00 |
Alexander Medvednikov
|
875f7a77a9
|
checker: arr1=arr2 warning
|
2020-12-20 10:42:46 +01:00 |
Alexander Medvednikov
|
4fc5e83771
|
checker: never allow taking the address of map values
|
2020-12-20 07:55:23 +01:00 |
Delyan Angelov
|
19bfd5ffb5
|
ci: fix building
|
2020-12-19 13:16:18 +02:00 |
Delyan Angelov
|
2f1cc2bd08
|
v.util: simplify the sorting of v's timing output
|
2020-12-19 12:55:42 +02:00 |
Delyan Angelov
|
a1c81aa49d
|
v,gen,checker: implement `-d time_checking -d time_cgening -d time_v`
|
2020-12-19 12:36:08 +02:00 |
Alexander Medvednikov
|
1f74f83bc6
|
parser: map or block; checker: require ref field init
|
2020-12-19 10:28:17 +01:00 |
yuyi
|
ff2cfd4f38
|
checker: fix fn_array types check (#7376)
|
2020-12-19 01:10:11 +02:00 |
Swastik Baranwal
|
1a2c7cd336
|
checker: add more casts checks (#7355)
|
2020-12-16 17:50:39 +01: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 |
Swastik Baranwal
|
da9588c1a5
|
checker: fix struct cast (#7308)
|
2020-12-15 04:30:51 +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 |
LilEnvy
|
0aacc9a80a
|
array: [].map(fn...) return type can be different than original type (#7300)
|
2020-12-13 03:29:48 +01:00 |
Daniel Däschle
|
b76c91ec05
|
parser: silent mode fixes (#7286)
|
2020-12-12 13:52:22 +01:00 |
Nick Treleaven
|
d785e22a6e
|
checker: disallow assigning number to pointer (#7267)
|
2020-12-12 10:42:07 +01:00 |
joe-conigliaro
|
0aa9f5a007
|
all: optimize scope usage in checker & parser. store scope in ast nodes (#7281)
|
2020-12-12 19:01:12 +11:00 |
Delyan Angelov
|
f2ea21b571
|
vfmt: run over vlib/v/checker/checker.v
|
2020-12-11 15:16:26 +02:00 |
Delyan Angelov
|
df4ec89a03
|
checker: fix `L1: for{ for{} }` incorrectly setting c.loop_label to '' after the inner loop
|
2020-12-11 13:14:15 +02:00 |
joe-conigliaro
|
90b5f6f4e0
|
checker: add tests for assign sum type to non sum type error
|
2020-12-11 21:52:25 +11:00 |
joe-conigliaro
|
5c213de003
|
checker: fix assign error assigning sum type to non sum type. closes #7233
|
2020-12-11 21:38:53 +11:00 |
joe-conigliaro
|
6f474913cf
|
table: properly detect duplicate types
|
2020-12-11 17:39:51 +11:00 |
Daniel Däschle
|
8823430c71
|
parser: small fixes to make silent mod work with example/json (#7246)
|
2020-12-11 06:55:39 +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
|
c4e76e6a59
|
checker: check div/mod by zero (#7256)
|
2020-12-11 04:44:07 +01:00 |
Daniel Däschle
|
916a64935a
|
checker: fix sumtype matching test (#7235)
|
2020-12-10 17:22:54 +02:00 |
Daniel Däschle
|
f6a2dba7ff
|
parser: refactor args count error (#7238)
|
2020-12-10 16:42:30 +02:00 |
Daniel Däschle
|
1f952330c4
|
parser: fix fn args eol errors (#7222)
|
2020-12-10 11:56:08 +02:00 |
Daniel Däschle
|
0bf679a7aa
|
checker: correct underline for unknown type in method type (#7223)
|
2020-12-10 11:51:22 +02:00 |
Daniel Däschle
|
a38fe4fca9
|
checker: fix smartcast inside smartcast (#7215)
|
2020-12-10 00:59:39 +01:00 |
Nick Treleaven
|
cf755d40b7
|
checker: allow ++, -- on byteptr, charptr (#7218)
|
2020-12-09 19:58:02 +01:00 |
Nick Treleaven
|
92a8db5b2b
|
checker: remove duplicated unsafe tests (#7216)
|
2020-12-09 19:57:15 +01:00 |
Delyan Angelov
|
8caf3829d7
|
checker: fix interface checking of array arguments; closes #2377
|
2020-12-09 18:51:37 +02:00 |
joe-conigliaro
|
8931d3d39c
|
checker: include built-in pointer types when checking fn expects non reference. closes #7133
|
2020-12-08 17:11:15 +11:00 |
Nick Treleaven
|
63557d0d02
|
checker: disallow op= and infix on a voidptr (#7175)
|
2020-12-07 22:43:38 +02:00 |
Nick Treleaven
|
a100b05647
|
checker: improve 'operator not defined on right operand type' error (#7185)
|
2020-12-07 18:37:17 +01:00 |
Delyan Angelov
|
d38bca5958
|
checker: tweak the import private function message a little
|
2020-12-07 19:22:37 +02:00 |
joe-conigliaro
|
78a6795319
|
all: change the way import symbols work & support consts (#7182)
|
2020-12-07 19:13:03 +02:00 |
joe-conigliaro
|
a05408b49a
|
all: make type system use source name & cleanup storing name in fields
|
2020-12-06 14:55:08 +11:00 |
yuyi
|
29857cb9d6
|
checker: fix interpolation recursive str (fix #1905) (#7141)
|
2020-12-05 21:41:54 +01:00 |
joe-conigliaro
|
865c30118f
|
checker: add fix & better comment for previous commit
|
2020-12-06 01:37:00 +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 |
yuyi
|
595efbac5b
|
checker: fix or_block return &type mismatch (#7138)
|
2020-12-05 08:06:51 +02:00 |
spaceface777
|
76ed8e3750
|
checker: don't disallow method call chains (#7128)
|
2020-12-04 21:27:38 +01:00 |
spaceface777
|
6a47deb3f8
|
checker: ensure array init matches the array's type (#7118)
|
2020-12-04 20:39:32 +02:00 |
Daniel Däschle
|
47d0ed308d
|
parser: prepare for better VLS integration, more accurate parser errors (#7119)
|
2020-12-04 20:34:05 +02:00 |
spaceface777
|
50a3009113
|
fmt: make single-stmt `or` blocks single-line (#7126)
|
2020-12-04 13:25:23 +02:00 |
Lukas Neubert
|
02ba923ba7
|
fmt: do not add braces for trailing struct arg (#7072)
|
2020-12-04 11:22:26 +02:00 |
joe-conigliaro
|
cf7b45b074
|
checker: correctly check arrays with element that is an alias. fixes #6735
|
2020-12-04 14:26:25 +11:00 |
yuyi
|
9b6a1552e9
|
checker: check match return mismatch type (fix #6826) (#7109)
|
2020-12-03 21:14:23 +02:00 |
Daniel Däschle
|
558a756431
|
parser: fix position offset by 1 (#7099)
|
2020-12-03 11:25:06 +02:00 |
yuyi
|
30da85a4d5
|
checker: fix optional or_block {none} (#7095)
|
2020-12-03 01:03:17 +01:00 |
Alexander Medvednikov
|
1037d3a383
|
checker: make missing `mut` before an argument a warning
|
2020-12-02 23:58:06 +01:00 |
Lukas Neubert
|
2691163a7e
|
scope: remove redundant name arg from register() (#7077)
|
2020-12-02 14:40:25 +01:00 |
joe-conigliaro
|
cd46eb42d7
|
checker: fix generic os.fn call (script) without mod prefix. fixes #7073
|
2020-12-02 21:40:44 +11:00 |
Lukas Neubert
|
8adc8ed103
|
parser: do not fail on comment direct after import (#7071)
|
2020-12-01 22:32:34 +02:00 |
Daniel Däschle
|
5b6eb7b2c9
|
cgen: simplify .str() generation (#7038)
|
2020-12-01 16:09:03 +01:00 |
joe-conigliaro
|
34e124d5f7
|
cgen: auto cast sum type in array init. fixes #6907
|
2020-12-01 20:03:45 +11:00 |
joe-conigliaro
|
a7d917474d
|
checker: simplify generic fn post processing
|
2020-12-01 16:43:10 +11:00 |
joe-conigliaro
|
0e54b9acb5
|
checker: remove debug println introduced in 4f658ec
|
2020-12-01 15:14:30 +11:00 |
joe-conigliaro
|
4f658ec292
|
fix auto inferred generic call of mod.func(). closes #6263
|
2020-12-01 15:10:06 +11:00 |
Daniel Däschle
|
879d238887
|
cgen: initial option auto str support (#7004)
|
2020-12-01 04:00:23 +01:00 |
joe-conigliaro
|
ff63fb74d9
|
dont allow method on non-local types & no mod for arrays. closes #6971
|
2020-11-30 11:43:22 +11:00 |
yuyi
|
0b96cd50e1
|
scanner: fix escape `\u` (fix #6849) (#7012)
|
2020-11-29 17:01:40 +02:00 |
joe-conigliaro
|
91eca539d0
|
all: -usecache fixes and self compilation & some type cname optimisation (#7015)
|
2020-11-29 14:10:45 +01:00 |
Delyan Angelov
|
a6f1667bce
|
checker: make `sym == typ` an error
|
2020-11-29 00:43:06 +02:00 |
yuyi
|
f336c2c5cc
|
scanner: fix error of backslash escaping x in ident_string(fix #6850) (#6994)
|
2020-11-29 00:39:45 +02:00 |
Daniel Däschle
|
32c027a0bf
|
parser: disallow ptr type as sum type variant (#6996)
|
2020-11-28 23:40:40 +02:00 |
Delyan Angelov
|
321daede1d
|
cgen: fix a buggy comparison, add ability to do println(sym.debug())
|
2020-11-28 19:48:53 +02:00 |
Alexander Medvednikov
|
fcd127ed87
|
autofree: make -experimental the default
|
2020-11-27 20:49:48 +01:00 |
spaceface777
|
bbea7fb91f
|
docs: document the `[required]` struct attribute (#6956)
|
2020-11-27 15:37:12 +02:00 |
Daniel Däschle
|
966b95ca4e
|
parser: move mut in if/match to expr (#6973)
|
2020-11-27 03:08:42 +01:00 |
Alexander Medvednikov
|
62ee436944
|
all: remove broken escape sequences after $ in strings
|
2020-11-27 03:07:37 +01:00 |
Alexander Medvednikov
|
5efd393af2
|
all: make comptime templates usable outside of vweb via $tmpl
|
2020-11-26 18:40:35 +01:00 |
Daniel Däschle
|
52b627feb3
|
checker: check filter, map and sort left type (#6952)
|
2020-11-26 11:28:54 +01: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
|
aa6303f0b2
|
all: use the new types with old syntax (#6922)
|
2020-11-24 13:58:29 +01:00 |
Daniel Däschle
|
96539e43b5
|
all: nested sum types (#6913)
|
2020-11-23 16:16:13 +01:00 |
Nick Treleaven
|
51c737669d
|
checker: check labelled break/continue is inside a matching `for` loop (#6910)
|
2020-11-22 20:51:07 +01:00 |
Alexander Medvednikov
|
ed7413ee51
|
autofree: handle SelectorExpr receivers
|
2020-11-21 23:19:04 +01:00 |
Daniel Däschle
|
22fdf76db5
|
gen: unwrap optional on if guard expr (#6903)
|
2020-11-21 22:40:05 +01:00 |
Alexander Medvednikov
|
2afb9b30e9
|
autofree: minor fixes; skip in consts
|
2020-11-21 19:07:47 +01:00 |
Swastik Baranwal
|
650cdef8b4
|
checker: disallow array sum types without default field (#6892)
|
2020-11-21 00:07:25 +01:00 |
Daniel Däschle
|
838ad16296
|
all: refactor ast.Expr to use the new sum type implementation (#6792)
|
2020-11-21 00:05:57 +01:00 |
Alexander Medvednikov
|
99bdb87a01
|
all: remove #objc for good
|
2020-11-20 23:49:52 +01: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 |
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
|
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
|
ed874ffc5b
|
checker: fix sum type operator check (#6815)
|
2020-11-17 21:26:40 +01:00 |
Swastik Baranwal
|
4415feb2df
|
checker: disallow string(bool) (#6863)
|
2020-11-17 21:23:17 +01:00 |
Nick Treleaven
|
4882d338f0
|
checker: improve array literal element type mismatch error (#6825)
|
2020-11-16 00:41:24 +02:00 |
Daniel Däschle
|
20bec81678
|
checker: smartcast only if type is not mut (#6841)
|
2020-11-15 16:53:51 +02:00 |
Delyan Angelov
|
f995aa35ea
|
checker: add a check for `x := math.sin<f64>(0)`
|
2020-11-15 11:51:12 +02:00 |
Nick Treleaven
|
50163508f8
|
gen: implement type_name method for sum type instances (#6802)
|
2020-11-14 13:59:03 +02:00 |
Delyan Angelov
|
df385799a2
|
checker: fix `invalid type (typ=0 idx=0)` when x,y := gfn(), and gfn returns (Abc,T)
|
2020-11-14 10:42:56 +02:00 |
Luke Edwards
|
a525397022
|
checker: improve wording on error messages (#6799)
|
2020-11-11 23:11:27 +02:00 |
Delyan Angelov
|
dd1717af34
|
checker: add a missing return regression test for if branches too
|
2020-11-11 18:06:13 +02:00 |
Delyan Angelov
|
8c241cb745
|
checker: check that fns with return values, and matches, do return
|
2020-11-11 17:23:57 +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
|
baf2ff1a91
|
checker: unify invalid argument errors, use argument position (#6785)
|
2020-11-10 10:40:50 +01:00 |
Nick Treleaven
|
c76e486765
|
parser: implement `T.name` for generic types (#6783)
|
2020-11-09 14:35:26 +01:00 |
pancake
|
2994e7150f
|
vweb: check function and route parameter count (#6761)
|
2020-11-08 09:14:24 +01:00 |
Delyan Angelov
|
0ba5544446
|
checker: add a check for `ptr = Abc{}`
|
2020-11-07 21:19:46 +02:00 |