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 |