Commit Graph

358 Commits (2fbacd0e795709bd65821a20f69e01196578546c)

Author SHA1 Message Date
spaceface f1469a8761
checker: allow accessing fields common to all sumtype members (#9201) 2021-03-09 19:16:18 +02:00
Delyan Angelov 64bc2fb40a
v: fix `[if debug] fn abc(){} ... abc()` 2021-03-07 12:05:07 +02:00
Lukas Neubert 6048d0e974
fmt: fix backslash doubling in attribute string args (#9175) 2021-03-07 09:44:58 +02:00
Lukas Neubert fdcfe397d4
fmt: write empty or blocks the same as empty fn bodies, empty structs, etc (#9136) 2021-03-06 21:04:51 +02:00
Delyan Angelov 849cde245c
v: support dump(expr) (#9160) 2021-03-06 18:09:28 +01:00
joe-conigliaro 2d73411396
checker: define missing C fn args & check C & JS args (#8770) 2021-03-05 17:41:11 +03:00
Delyan Angelov 0f042124cb
tests: support `fn test_fn() ? { opt()? }` 2021-03-05 14:18:21 +02:00
Joe Conigliaro a50f2ca5e8
interfaces: error on implemention of own interface method & on duplicate normal methods 2021-03-03 15:02:10 +11:00
spaceface 2b53992c01
checker, cgen: allow implementing an interface with an embedded struct (#9042) 2021-03-01 21:47:00 +01:00
spaceface d63b7bc35a
all: update repo to use the new error handling syntax (#8950) 2021-02-28 23:20:21 +03:00
spaceface b9a381f101
all: migrate to the new Option (p. 1) (#8924) 2021-02-28 22:24:29 +03:00
Uwe Krüger f67bff1696
all: support `thread` handles and `wait()` for functions returning optionals (#8990) 2021-02-27 10:16:55 +02:00
Uwe Krüger 5674d46965
table,cgen: fix bug preventing `t := []thread{}` to compile (#8913) 2021-02-23 09:37:29 +02:00
Delyan Angelov 467dce6be6
v.table: minimize re-allocations on << to table.types 2021-02-22 16:24:57 +02:00
Uwe Krüger 5306b2788c
all: extend `wait()` method to array of `thread` handles (#8840) 2021-02-22 15:08:52 +02:00
zakuro f54c1a5cc2
all: add strings.Builder.write_string and use write_string instead of write (#8892) 2021-02-22 13:18:11 +02:00
yuyi 783cee98d9
table/parser: minor optimization of anon_fn names (#8851) 2021-02-20 15:54:47 +02:00
Swastik Baranwal ad162cd6fc
checker: stricter `unknown type` checks, show better suggestions (#8816) 2021-02-19 11:23:13 +02:00
zakuro a34a1ab864
checker/table: minor cleanup by removing unnecessary `_` variable (#8801) 2021-02-18 11:30:43 +02:00
yuyi a9c2045dbd
cgen: fix var name clash of array/map (fix #1994) (#8765) 2021-02-15 15:51:57 +02:00
Uwe Krüger 374739b804
all: rename `[ref_only]` -> `[heap]` (#8718) 2021-02-13 16:52:01 +02:00
Swastik Baranwal 09cff69919
all: allow using aliases as keys in map (#8589) 2021-02-08 18:51:05 +01:00
Lukas Neubert 5abd49d9bc
cgen: cast default struct field value to correct SumType/interface (#8619) 2021-02-08 17:33:05 +02:00
Delyan Angelov d77bb2f606
all: improve -skip-unused, track consts, walk all AST nodes, support tests 2021-02-07 02:51:45 +02:00
Uwe Krüger cf230644b6
fmt: enable shared return types (#8614) 2021-02-06 21:25:06 +01: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
Alexander Medvednikov 1084b43ffb all: ast walker for marking unused fns 2021-02-05 08:05:35 +01:00
yuyi 1be7cc14d3
checker: check duplicate of a const name (#8396) 2021-01-28 18:34:55 +01: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 dbaccd4272
vfmt: shorten `main.const_name` to just `const_name` 2021-01-25 20:57:33 +02:00
Delyan Angelov 728344ff65
ci: fix `v test-cleancode` 2021-01-25 12:55:01 +02: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
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
joe-conigliaro 97ebecc5f4
usecache: get all tests running with -usecache enabled by default (p.1) (#7699) 2021-01-20 06:04:59 +01:00
Lukas Neubert b44c08aff0
fmt: wrap match branch expressions (#8190) 2021-01-19 06:16:42 +01: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
Swastik Baranwal ef627c9d21
checker: improve message and positioning for operator overloading (#8133) 2021-01-17 03:37:44 +01: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 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
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
Daniel Däschle bbac95a438
parser: error on recursive struct (#7964) 2021-01-09 01:33:36 +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