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 |