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
|
82650ee813
|
parser: fix parsing attribute after fn prototype with no return type (#8727)
|
2021-02-14 08:05:20 +01:00 |
Uwe Krüger
|
374739b804
|
all: rename `[ref_only]` -> `[heap]` (#8718)
|
2021-02-13 16:52:01 +02:00 |
Delyan Angelov
|
1675b6f3e0
|
ci: fix code-formatting job
|
2021-02-12 15:44:12 +02: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
|
d37fb5641f
|
parser: improve printing of unexpected tokens (#8654)
|
2021-02-09 17:07:30 +02:00 |
Swastik Baranwal
|
09cff69919
|
all: allow using aliases as keys in map (#8589)
|
2021-02-08 18:51:05 +01:00 |
Lukas Neubert
|
8cb01ba8db
|
fmt: keep comments between and after imports (#8637)
|
2021-02-08 19:48:48 +02:00 |
Lukas Neubert
|
cb1f63f765
|
parser: replace eat_line_end_comments() with configurable eat_comments() (#8636)
|
2021-02-08 18:16:02 +02:00 |
Swastik Baranwal
|
e2ff26a066
|
cgen: fix gen of .sort method for `>` operator and improve grammar of error (#8615)
|
2021-02-08 17:19:54 +02:00 |
Nick Treleaven
|
e2ff2a5405
|
parser: deprecate `{var |` struct update (#8618)
|
2021-02-08 17:03:05 +02:00 |
zakuro
|
8ae23cd89e
|
parser: make `v := f(v)' an undefined variable error (#8634)
|
2021-02-08 16:55:01 +02: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 |
Nick Treleaven
|
ff1aa06455
|
parser: require ++/-- to be on the same line as the previous token (#8621)
|
2021-02-07 23:10:16 +01:00 |
Nick Treleaven
|
cd4f7101f7
|
parser: support short struct update syntax `{...ident,` (#8613)
|
2021-02-07 03:43:51 +01:00 |
Nick Treleaven
|
b92f980274
|
token: fix Token.str() for punctuation and operators (#8610)
|
2021-02-07 03:40:00 +01:00 |
Nick Treleaven
|
f5f65f929f
|
parser: parse `map{key_expr: val_expr}` (#8608)
|
2021-02-06 22:13:24 +01:00 |
Uwe Krüger
|
5343f1374b
|
all: allow functions to return `shared` object (#8606)
|
2021-02-06 19:41:52 +01:00 |
zakuro
|
6b776e686e
|
parser: display correct position on boolean expression error (#8563)
|
2021-02-05 16:52:35 +01:00 |
Lukas Neubert
|
9ab1d17cbc
|
fmt: keep __global in struct declarations (#8584)
|
2021-02-05 16:46:43 +01:00 |
Delyan Angelov
|
25a3873019
|
parser,checker: support @METHOD, replaced by 'ReceiverType.MethodName'
|
2021-02-05 16:32:43 +02:00 |
Alexander Medvednikov
|
1084b43ffb
|
all: ast walker for marking unused fns
|
2021-02-05 08:05:35 +01:00 |
Delyan Angelov
|
119dfc0bb0
|
all: support map[f32]string and map[f64]string (float map keys) too (#8556)
|
2021-02-04 23:59:49 +01:00 |
Alexander Medvednikov
|
97e36cd97a
|
parser: fix method name test
|
2021-02-04 22:25:58 +01:00 |
Alexander Medvednikov
|
fdd8c86fdb
|
parser: make sure methods have names
|
2021-02-04 22:15:16 +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 |
Lukas Neubert
|
ea06966fd4
|
fmt: hide ´[]Type{} instead of []Type´ and ´(f mut Foo)´ warnings (#8528)
|
2021-02-03 11:25:08 +02:00 |
zakuro
|
e30e794884
|
checker: add check for using a private const in another module (#8501)
|
2021-02-03 10:17:13 +02:00 |
joe-conigliaro
|
ffedbe4b81
|
cgen: move cgen from v.gen to v.gen.c (#8515)
|
2021-02-02 15:41:51 +01:00 |
Daniel Däschle
|
d477e525bb
|
checker/gen: fix generic struct init (#8322)
|
2021-02-03 00:42:00 +11:00 |
Lukas Neubert
|
8755f40430
|
fmt: keep comments after imports (#8483)
|
2021-02-01 14:45:08 +01: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 |
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 |
Lukas Neubert
|
e47c13903b
|
fmt: keep newlines between toplevel stmts (#8383)
|
2021-01-29 12:17:59 +02: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 |
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 |
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 |
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 |
Lukas Neubert
|
522eac200f
|
fmt: keep `arr << if x {} else {}` on a single line (#8289)
|
2021-01-24 08:02:35 +01:00 |
Uwe Krüger
|
79b4b0e6c8
|
parser: assure explicit `map` init contains no parameters (#8299)
|
2021-01-24 01:06:43 +02:00 |
Uwe Krüger
|
1ea5cedd03
|
parser/cgen: fix explicit array/map shared/reference initializers (#8307)
|
2021-01-23 23:54:57 +02:00 |
Daniel Däschle
|
35432c5e92
|
gen: fix generic multi return (#8303)
|
2021-01-23 23:41:32 +02:00 |
Uwe Krüger
|
74115fe70a
|
parser: auto-import `sync` when `shared` objects are used (#8294)
|
2021-01-23 16:03:21 +01:00 |
yuyi
|
b8857baa98
|
parser: fix map_init position (#8293)
|
2021-01-23 13:33:19 +01:00 |
Alexander Medvednikov
|
ba2a15c9d7
|
parser: fix const check
|
2021-01-23 10:46:00 +01:00 |
Delyan Angelov
|
d4f6f5eec4
|
sokol,fontstash: move f_d_use_freetype.v to vlib/fontstash/a_d_use_freetype.v
|
2021-01-23 11:39:17 +02:00 |
Alexander Medvednikov
|
45cc3ec664
|
sokol: remove an absolute import
|
2021-01-23 10:32:00 +01:00 |
Alexander Medvednikov
|
d991712b3c
|
gg: native rendering mode on macOS
|
2021-01-23 10:25:43 +01:00 |
Lukas Neubert
|
8b61891348
|
fmt: smarter if condition wrapping (#8201)
|
2021-01-23 10:33:22 +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 |
zakuro
|
522d875489
|
checker: make it an error, to use ident outside of anon fn (#8232)
|
2021-01-22 09:24:49 +02:00 |
yuyi
|
f399c17e3d
|
parser: check for_in mut key (#8235)
|
2021-01-21 12:46:15 +01: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 |
yuyi
|
190bb38087
|
checker: check fixed array size (#8224)
|
2021-01-20 23:17:49 +02:00 |
Enzo
|
55efd8309a
|
parser: fix parsing interface methods with varargs (#8229)
|
2021-01-20 23:15:02 +02:00 |
joe-conigliaro
|
97ebecc5f4
|
usecache: get all tests running with -usecache enabled by default (p.1) (#7699)
|
2021-01-20 06:04:59 +01:00 |
Tim Basel
|
129eee346b
|
fmt: keep single empty lines (#8189)
|
2021-01-19 14:49:40 +01:00 |
Uwe Krüger
|
5067046538
|
parser: support `x = a[k] ?` propagation for arrays and maps (#8199)
|
2021-01-19 14:46:47 +02:00 |
Lukas Neubert
|
ca70d815b6
|
fmt: move StructDecl comments handling into functions (#8191)
|
2021-01-19 10:43:48 +01:00 |
Delyan Angelov
|
7037965973
|
parser: cleanup unused `p.os_from_string`
|
2021-01-19 08:33:03 +02:00 |
Swastik Baranwal
|
6f1ae65811
|
parser: add a warning for only else branch in match (#8185)
|
2021-01-18 18:31:36 +02:00 |
Delyan Angelov
|
f375418847
|
parser: remove forgotten eprintln statement
|
2021-01-18 14:57:10 +02:00 |
Lukas Neubert
|
ac2c3847af
|
all: update copyright to 2019-2021 (#8029)
|
2021-01-18 13:20:06 +01:00 |
yuyi
|
73fd4396c3
|
parser: fix fixed array using const size (fix #8144) (#8161)
|
2021-01-18 06:03:03 +01:00 |
Lukas Neubert
|
16c9cbce7c
|
fmt: correctly increase f.line_len for write_indent (#8174)
|
2021-01-18 06:02:29 +01:00 |
Alexander Medvednikov
|
a008c8254c
|
parser: comptime: update tmpl_path
|
2021-01-17 06:42:21 +01:00 |
Alexander Medvednikov
|
ac8a7ac901
|
parser: bootstrap the new struct init check
|
2021-01-17 06:30:30 +01:00 |
Alexander Medvednikov
|
2b058edc98
|
checker: do not require ref field init with update expr
|
2021-01-17 06:24:03 +01:00 |
Nick Treleaven
|
df39e7001c
|
parser: support `module:` for immutable private struct fields (#8140)
|
2021-01-17 05:39:44 +01:00 |
Nick Treleaven
|
5185a59ac7
|
parser: use Parser.builtin_mod instead of checking p.mod (#8137)
|
2021-01-17 05:31:41 +01:00 |
Nick Treleaven
|
8ee67d1c1c
|
parser: disallow indexing on next line at top-level (#8128)
|
2021-01-17 05:30:41 +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 |
Uwe Krüger
|
1c6fe83408
|
parser: fix parsing of `go` call expression (#8138)
|
2021-01-15 19:47:49 +02:00 |
Uwe Krüger
|
8d014d4646
|
sync: allow `go` routine join with return value (#8125)
|
2021-01-15 13:45:26 +01:00 |
Larpon
|
f73500f2fe
|
all: add support for the `x := $embed_file('v.png')` compile time call (#8048)
|
2021-01-14 16:20:11 +02:00 |
yuyi
|
a2efb5319d
|
all: change `[1,2,3]!!` to `[1,2,3]!` (#8101)
|
2021-01-14 03:51:13 +01:00 |
zakuro
|
47536df2d0
|
table: remove nr_dims from Array (#8053)
|
2021-01-13 23:43:19 +01:00 |
Lukas Neubert
|
8a8978fb01
|
fmt: keep same line comments after arr.sort() in vsh files (#8026)
|
2021-01-13 20:10:17 +02:00 |
Ruofan XU
|
245ed9160a
|
gen: fix `mut arr [3]int` as a fn argument (#8085)
|
2021-01-13 15:52:46 +02:00 |
Nick Treleaven
|
ac85257ea0
|
parser: fix sizeof(mod.Type), fix checking sizeof expression (#8065)
|
2021-01-13 06:13:39 +01:00 |
zakuro
|
3e3d45b2b1
|
parser: improve array init warning (#8024)
|
2021-01-13 06:03:23 +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 |
zakuro
|
33694665f0
|
fmt: align each contiguous field of struct. not the whole. (#7981)
|
2021-01-12 04:38:43 +01:00 |
Uwe Krüger
|
5f95dd54bd
|
builtin: rename `any_*` -> `*_literal` - 2. part (#8032)
|
2021-01-11 22:58:15 +01:00 |
Uwe Krüger
|
91f87c03cf
|
all: rename `any_*` -> `*_literal` - 1. part (#8031)
|
2021-01-11 22:20:16 +01:00 |
Lukas Neubert
|
d96a1b8a5f
|
fmt: intelligent newlines for trailing arg syntax (#7748)
|
2021-01-10 17:39:37 +01:00 |
Swastik Baranwal
|
1f5255c2bb
|
cgen: implement `>=` and `<=` (#7991)
|
2021-01-10 12:24:46 +02:00 |
yuyi
|
704f38d87f
|
parser: fix multi fixed arrays init (#7996)
|
2021-01-10 06:58:31 +01:00 |
Daniel Däschle
|
a8dd13f086
|
parser: change array decompose syntax (#7965)
|
2021-01-09 22:48:23 +01:00 |
Lukas Neubert
|
e79695e8fc
|
fmt: keep comments after call_expr in vscript (#7990)
|
2021-01-09 22:47:33 +01:00 |
Larpon
|
8f315d226b
|
vvet: move to own subdir, prepare richer suggestions (#7989)
|
2021-01-09 16:11:49 +02: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 |
zakuro
|
8d3069f643
|
parser: avoid value receiver (#7975)
|
2021-01-09 01:32:08 +01:00 |
Uwe Krüger
|
cbe7740d97
|
fmt: do not generate `import` statements for auto imports (#7966)
|
2021-01-08 17:42:40 +01:00 |
Swastik Baranwal
|
9291fb5e0c
|
checker: disallow comparison between enum and int (#7886)
|
2021-01-08 17:41:52 +01:00 |
Delyan Angelov
|
46a5c487c1
|
parser,fmt: implement `[manualfree] module abc` for opting out *all* fns in a given .v from autofree
|
2021-01-08 17:24:42 +02:00 |
Delyan Angelov
|
083dc23db8
|
gen: implement a `[manualfree]` tag, for functions, that want to do their own memory management
|
2021-01-08 16:22:27 +02:00 |
Alexander Medvednikov
|
e3f8d448c1
|
all: [noinit] struct attribute
|
2021-01-08 04:49:16 +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 |
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 |
Daniel Däschle
|
8a0fc2e3c2
|
parser: proper error when declaring struct embedding at the wrong pos (#7920)
|
2021-01-06 15:46:36 +01:00 |
Daniel Däschle
|
5841d5d8e1
|
all: implement basic comptime field selector (#7888)
|
2021-01-05 16:11:43 +02:00 |
zakuro
|
5c1981379e
|
parser: fix a bug when using some types like map in generic methods (#7872)
|
2021-01-05 02:59:36 +01:00 |
Nick Treleaven
|
c0e56d10c3
|
parser: add errors for invalid anonymous function (#7786)
|
2021-01-05 01:32:24 +01:00 |
Daniel Däschle
|
7c9fb73b3f
|
vfmt: fix comments before ...f in Abc{...f} (#7870)
|
2021-01-04 21:01:35 +02:00 |
Daniel Däschle
|
164d7bf5fb
|
parser: struct updating syntax with `Abc{...oldabc newfield: val}` (#7865)
|
2021-01-04 20:19:03 +02:00 |
Nick Treleaven
|
b9c6011602
|
parser: support casting to a pointer to array (#7861)
|
2021-01-04 18:22:04 +02:00 |
Uwe Krüger
|
4a25c2bb6f
|
types: rename `any_*`, `untyped *` -> `* literal` (#7845)
|
2021-01-04 00:11:09 +02:00 |
zakuro
|
dd516858d4
|
fmt: align struct field comments (#7632)
|
2021-01-03 21:10:25 +01: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 |
Alexander Medvednikov
|
fc6d45b2d7
|
fmt: fix mut_pos in structs with embeds
|
2021-01-02 19:24:12 +01:00 |
zakuro
|
6bd35505a2
|
parser: fix error when using imported types in short fn signature (#7795)
|
2021-01-02 15:09:54 +02: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 |
Nick Treleaven
|
d15d13674c
|
parser: parse non-identifier expressions for sizeof too (#7781)
|
2021-01-01 15:38:11 +02:00 |
yuyi
|
c3dafad7ef
|
generics: implement method generics (fix #7638) (#7732)
|
2020-12-31 18:00:22 +01:00 |