Commit Graph

3065 Commits (7bf46c36bb01891b21fab0b8425cd58be2f11203)

Author SHA1 Message Date
Daniel Däschle 8e2b7fe3d6
tests: cleanup sum type tests (#6950) 2020-11-25 20:40:29 +01:00
Delyan Angelov fa126b950a cgen: prevent `undefined symbol: tcc_backtrace` errors with tcc and `-shared -d no_backtrace` 2020-11-25 15:47:55 +02:00
Daniel Däschle 8446433bcf
parser: remove __type (#6946) 2020-11-25 14:27:15 +01:00
Delyan Angelov 35a0fe79f9 cgen: generate an unique sort comparator function for each .sort() call 2020-11-25 13:48:42 +02:00
Ekopalypse a46eda7c44
builder: fix dll generation on Windows (#6939) 2020-11-25 12:18:58 +01:00
Daniel Däschle 7d6f97259f
all: refactor UnionSumType to SumType (#6944) 2020-11-25 13:09:40 +02:00
Leah Lundqvist 96b73acad7
jsgen: optional "or blocks" (#6938) 2020-11-24 22:52:23 +01:00
Alexander Medvednikov 98034e5504 http: make download_file() return an optional 2020-11-24 18:07:08 +01: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
Lukas Neubert 8be9bdacd1
fmt: do not wrap real multiline comments into single line in arrays (#6923) 2020-11-24 12:55:39 +01:00
pancake aa90625819
js: initial support for optional return unwrapping (#6926) 2020-11-24 12:54:26 +01:00
Daniel Däschle 789912238f
gen: generate typedef first on sum types (#6930) 2020-11-24 12:53:39 +01:00
Daniel Däschle 9fbf38c798
parser: fix generic structs from other modules (#6921) 2020-11-23 23:21:11 +01:00
Alexander Medvednikov e0d64903f8 table: rename atypes.v to types.v now that the order of the files is irrelevant 2020-11-23 18:19:51 +01:00
Nick Treleaven 380e3640e3
gen: add panic message when using '?' with `none` (#6919) 2020-11-23 16:16:38 +01:00
Daniel Däschle 96539e43b5
all: nested sum types (#6913) 2020-11-23 16:16:13 +01:00
Takahiro Yaota 2f9b7fe0f7
vfmt: fix error with `return // comment` (#6914) 2020-11-23 11:36:20 +02: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 a1827d7f98 autofree: handle array set/get 2020-11-22 20:48:23 +01:00
Alexander Medvednikov 311b5e8188 autofree: string.clone() fix 2020-11-22 13:45:12 +01:00
Alexander Medvednikov 65005fdae8 builtin: same fix for array.insert 2020-11-22 13:30:48 +01:00
Alexander Medvednikov f8827c3fe5 builtin: clone the strings correctly in array.push 2020-11-22 13:22:42 +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 9a51f4e3c2 autofree: builtin fixes 2020-11-21 22:33:31 +01:00
Alexander Medvednikov 2afb9b30e9 autofree: minor fixes; skip in consts 2020-11-21 19:07:47 +01:00
Alexander Medvednikov ad940ff40e autofree: free parent scope vars only before fn returns 2020-11-21 18:23:50 +01:00
Delyan Angelov 2228d75657 ci: fix formatting of comptime.v 2020-11-21 19:04:31 +02:00
Delyan Angelov fa55c247a2 parser: add `-d print_vweb_template_expansions` to ease vweb template debugging 2020-11-21 17:59:02 +02:00
pancake 4b19a6e00d
js: fix code generation for `$if js` statements (#6896) 2020-11-21 15:40:37 +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 ff1752dfff gg: vfmt gg.v 2020-11-21 00:04:29 +01:00
Alexander Medvednikov c1486925d5 autofree: enable free_before_return test 2020-11-21 00:00:27 +01:00
Alexander Medvednikov 99bdb87a01 all: remove #objc for good 2020-11-20 23:49:52 +01:00
Delyan Angelov 9673d40bb9 ci: fix failing windows test run_v_code_from_stdin_test.v (2) 2020-11-20 16:57:44 +02:00
Delyan Angelov 93d460f8fc ci: fix failing windows tests for `v run -` 2020-11-20 16:14:04 +02:00
Lukas Neubert 5d76e85a23
vfmt: fix extra whitspace in fn type decl with type-only args (#6888) 2020-11-20 15:00:40 +01:00
Delyan Angelov 3c4b87bfec checker: add check against `fn test_opt() ?{}` 2020-11-20 15:12:53 +02:00
Nick Treleaven 9871d24929
fmt: fix labelled break & continue (#6889) 2020-11-20 14:12:40 +01:00
Nick Treleaven d5242e0bf5
gen: implement labelled break and continue (retry) (#6887) 2020-11-20 12:23:48 +01:00
Ned Palacios 7c2c187743
vdoc: fix markdown and plaintext rendering (#6882) 2020-11-20 12:02:52 +02:00
Lukas Neubert ef3e8d2c84
vfmt: handle comments after type declarations (#6874) 2020-11-20 11:51:50 +02:00
Ned Palacios b957c64905
scanner: store errors and warnings on silent mode (#6883) 2020-11-20 11:44:19 +02:00
Nicolas Sauzede 159932d59b
v: run code from stdin `echo println(2+2) | v run -`, with no repl limits (#6884) 2020-11-20 10:25:59 +02:00
Alexander Medvednikov 4328233504 Revert "gen: implement labelled break and continue (#6880)"
This reverts commit e798326a1a.
2020-11-20 02:51:35 +01:00
Delyan Angelov 1b8609c318 builder: fix for `v -o x.exe run examples/hello_world.v` 2020-11-20 02:38:24 +02:00
Lukas Neubert a67873f6cf
jsgen: tests: ensure output deletion on fail (#6875) 2020-11-20 01:15:32 +01:00
Nick Treleaven e798326a1a
gen: implement labelled break and continue (#6880) 2020-11-19 21:13:15 +01:00
Daniel Däschle 41ba942369
parser: smartcast mutable selector (#6881) 2020-11-19 21:05:10 +01:00
Daniel Däschle 9feb010355
all: mutable smartcasts (#6878) 2020-11-19 17:28:46 +01:00
Larpon f807fd973e
compile: infer source file if a binary by the same name exists in same dir #6877 2020-11-19 16:23:55 +01:00
Delyan Angelov 69bb0891c7 vfmt: fix ^A keep.vv test too 2020-11-19 16:25:52 +02:00
Delyan Angelov 92a75c80db vfmt: trim ^A from embedded inline comments too 2020-11-19 15:32:51 +02:00
Daniel Däschle e06756ef58
all: match multi aggregate for union sum types (#6868) 2020-11-18 20:52:00 +01:00
pancake d8f64f516b
js: fix codegen for multiline strings (#6791) 2020-11-18 18:23:44 +01:00
Daniel Däschle ed874ffc5b
checker: fix sum type operator check (#6815) 2020-11-17 21:26:40 +01:00
Lukas Neubert ee5ad2a653
parser: fix duplicated struct attrs on first field (#6859) 2020-11-17 21:25:54 +01:00
Swastik Baranwal 4415feb2df
checker: disallow string(bool) (#6863) 2020-11-17 21:23:17 +01:00
Lukas Neubert dbdcef5166
quote_path: also quote ampersands (#6846) 2020-11-16 19:26:44 +02:00
Alexander Medvednikov 8e473181ed autofree: remove old logic 2020-11-16 17:31:34 +01:00
Alexander Medvednikov 68077b7dbf autofree: handle early returns (part 1) 2020-11-16 17:26:54 +01:00
Delyan Angelov b3e19c7247 tests: restore skipped return_missing_comp_if.vv and return_missing_comp_if_nested.vv 2020-11-16 10:07:53 +02:00
Nick Treleaven 4882d338f0
checker: improve array literal element type mismatch error (#6825) 2020-11-16 00:41:24 +02:00
Emily Hudson cd2a2cef25
vlib/net: add buffered IO, x.net -> net (#6754) 2020-11-15 22:54:47 +02:00
Daniel Däschle 20bec81678
checker: smartcast only if type is not mut (#6841) 2020-11-15 16:53:51 +02:00
Alexander Medvednikov 5fb4d77764
doc: use fixed-width symbol name at start of comment (#6840) 2020-11-15 15:16:41 +01:00
Alexander Medvednikov 26785668c0 autofree: more tests; gg: fix draw_circle with hidpi 2020-11-15 15:09:44 +01:00
Nick Treleaven 40e7b0eeb3 doc: use fixed-width symbol name at start of comment 2020-11-15 12:58:58 +00: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 2dc9a45e06 vfmt: fix eating of `app.$method(vars)`; format vlib/vweb/vweb.v 2020-11-14 13:55:10 +02:00
Delyan Angelov ba8cdb2977 vfmt: fix `$for method in App.methods {}` turning to App(methods) 2020-11-14 12:24:46 +02:00
Delyan Angelov d6d202341a table: add a helper `pub fn (t Type) debug() []string {}` 2020-11-14 11:39:58 +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
Delyan Angelov 023cddb160 cgen: remove .replace('T', ...) 2020-11-14 10:36:59 +02:00
Delyan Angelov 01579957b8 builder: move -c right before the .c thirdparty file 2020-11-13 20:42:26 +02:00
Delyan Angelov 8cb1714255 builder: fix building sqlite3 on windows 2020-11-13 20:35:21 +02:00
Delyan Angelov 7feb1742d3 cgen: skip deleted map entries in the auto generated .str() method 2020-11-13 13:37:11 +02:00
Daniel Däschle 9c569246ef
cgen: fix typeof union sum type (#6794) 2020-11-12 12:27:54 +01:00
Luke Edwards a525397022
checker: improve wording on error messages (#6799) 2020-11-11 23:11:27 +02:00
Delyan Angelov f42a44abec vfmt: fix `match x { 10 /* ... */ {} }` and `a := [1/* x */, /* y */2, 3]` 2020-11-11 22:59:43 +02:00
Delyan Angelov e6cc967ac8 vfmt: small cleanup 2020-11-11 21:43:47 +02:00
Delyan Angelov 8197463b08 vfmt: fix `x := Repo<User,Permission>{}` 2020-11-11 21:41:04 +02:00
Daniel Däschle 43ce098043
cgen: fix default value init for union sum types (#6795) 2020-11-11 19:56:13 +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 ebfd259333 vfmt: support `struct Repo <T, U> { }` 2020-11-11 17:50:03 +02:00
Delyan Angelov 7d472d887e scanner: vfmt scanner.v 2020-11-11 17:25:58 +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
Alexander Medvednikov 2254f41722 autofree: free all vars in parent scopes recursively 2020-11-09 15:56:28 +01:00
Nick Treleaven c76e486765
parser: implement `T.name` for generic types (#6783) 2020-11-09 14:35:26 +01:00
Alexander Medvednikov 1c257abc23 autofree: simplify: merge tmp arg logic with scope vars 2020-11-09 14:24:46 +01:00
Alexander Medvednikov 507d724ee6 autofree: free before return tests 2020-11-09 11:54:45 +01:00
spaceface777 3c83551dfe
parser: fix treating JS fn calls as type casts (#6779) 2020-11-08 20:33:55 +02:00
pancake af5836202c
js: fix wrong filename and invalid backend selected when using -o .js (#6777) 2020-11-08 17:45:32 +01:00
pancake 2994e7150f
vweb: check function and route parameter count (#6761) 2020-11-08 09:14:24 +01:00
Delyan Angelov 6da8454b3b builder: a small -usecache fix, when v is run in subfolders 2020-11-08 09:18:05 +02:00
Delyan Angelov 4b35495fbe all: support VMODULES environment variable (defaulting to ~/.vmodules) 2020-11-08 08:07:17 +02:00
Delyan Angelov 0ba5544446 checker: add a check for `ptr = Abc{}` 2020-11-07 21:19:46 +02:00
Nick Treleaven 931882d720
checker: support ?T, &T generic return types (#6772) 2020-11-07 18:27:10 +02:00
Swastik Baranwal 6354fa031c
checker: add more checks for index_expr (#6737) 2020-11-07 14:55:05 +01:00
Nick Treleaven 125650c986
cgen: fix using brackets for match expression (#6768) 2020-11-07 14:47:27 +01:00
Alexander Medvednikov 0e8c7ca2e3 autofree: fix string reassignment 2020-11-07 04:00:45 +01:00
Nick Treleaven 62cae1ba00
parser: parse func<T>() when T is a map or array type (#6765) 2020-11-07 02:55:28 +01:00
spaceface777 1d706674f2
cgen: don't generate a default expr if a function ends with `return` (#6766) 2020-11-06 18:46:41 +02:00
Ned Palacios 6d8a7ced24
cgen: fix setting nested map elements fields (#6744) 2020-11-06 16:32:44 +02:00
spaceface777 a9e9554b11
all: fix most C warnings (#6758) 2020-11-06 16:26:59 +02:00
Alexander Medvednikov 3e5871ffb3 autofree: disable optional_return test for now 2020-11-06 10:30:27 +01:00
Alexander Medvednikov 212e6fe52c autofree: do not run in `builtin` 2020-11-06 10:13:05 +01:00
Delyan Angelov d34c5b767b vfmt: keep the source fn type alias names, instead of the expanded fn declarations 2020-11-05 20:21:37 +02:00
Delyan Angelov 26c2654632 parser: vfmt vlib/v/parser/struct.v 2020-11-05 19:55:20 +02:00
Delyan Angelov 953d102996 parser: prevent a segfault, when compiling cmd/tools/vtest-vet.v in PR 6754 2020-11-05 19:40:15 +02:00
Delyan Angelov 3f9b05a876 vfmt: skip {} for pure fn declarations (let the bodies hit the floor) 2020-11-05 18:59:36 +02:00
Delyan Angelov e80487b35c vfmt: support inline comments before fields in struct initializations 2020-11-05 18:49:52 +02:00
Delyan Angelov 4bf1c2fdcc vfmt: support `match a { x...y {} }` 2020-11-05 18:35:14 +02:00
Delyan Angelov 35096cda3f vfmt: support comments after interface methods 2020-11-05 18:23:45 +02:00
Larpon 4051ce869c
all: remove unused enum value and improve error message for `@` tokens in scanner (#6751) 2020-11-05 12:59:49 +02:00
Larpon 785bf40f67
all: remove comp time '@' expansion from scanner (#6746) 2020-11-05 10:12:32 +02:00
Alexander Medvednikov 1b1d17cfb5 os: basic proof of concept stdout capture; autofree: small fixes 2020-11-05 08:44:37 +01:00
Nick Treleaven ca8d23acab
table: make Table.type_to_str generate proper function type, not fn name (#6716) 2020-11-05 06:34:56 +01:00
Daniel Däschle a2fc19880a
parser: fixes or block position (#6736) 2020-11-04 16:02:01 +02:00
Delyan Angelov 9eb655e65c all: add .pos fields to all AST nodes, to avoid wrong positions in error messages 2020-11-04 13:34:12 +02:00
Daniel Däschle 25912673a9
cgen: fix generic json bug (#6731) 2020-11-04 10:21:30 +02:00
Daniel Däschle 9d5be12517
gen: add prefix when printing type aliases (#6701) 2020-11-03 14:13:35 +01:00
Delyan Angelov 18f5ed671d builder: fix -showcc with msvc 2020-11-03 12:37:04 +02:00
Delyan Angelov 204fd8be03 builder: improve the function redefinition detector 2020-11-03 10:00:06 +02:00
Delyan Angelov 2c3f695469 checker,parser: treat C.Struct fields as public by default 2020-11-03 09:35:44 +02:00
Delyan Angelov ae241785bf vfmt: fix `union {}` declarations 2020-11-03 00:35:12 +02:00
Nick Treleaven 788de9938a
cgen: fix typeof(expr).name for generic type, pointers, etc (#6712) 2020-11-02 22:59:48 +01:00
Delyan Angelov 2202ee5d66 tests: add tests for continue/break in last statement of an `or{}` 2020-11-02 12:54:45 +02:00
Delyan Angelov 4e760c703e checker: disallow `opt_returning_string() or { ... 123 }` (closes #6711) 2020-11-02 05:29:37 +02:00
pancake d040af4939
checker: improve error message for: `a := foo() or { println(err) }` (#6710) 2020-11-02 04:52:35 +02:00
Alexander Medvednikov 613d6c043b autofree: fix the tests 2020-11-02 01:39:10 +01:00
Alexander Medvednikov 06e4c45350 tests: re-enable valgrind tests 2020-11-02 01:25:16 +01:00
Daniel Däschle d5a421e3f5
checker: add alias cast type check (closes #6705) (#6709) 2020-11-02 01:17:35 +01:00
Delyan Angelov 3c0f4c46fa checker: add check preventing `if x:=non_optional() {}` 2020-11-02 01:58:07 +02:00
Alexander Medvednikov a0bf796926 autofree: handle SelectorExpr and fix json 2020-11-02 00:57:45 +01:00
Delyan Angelov e2505479ee cgen: encode newlines as \n in the assert meta information 2020-11-01 17:01:45 +02:00
Delyan Angelov e72d9c0f88 parser: protect against infinite loops in -silent mode over invalid .v files 2020-11-01 14:02:32 +02:00
Daniel Däschle 9fdf04b7ff
cgen: make generics printable (#6700) 2020-10-31 19:43:06 +02:00
Ned Palacios a2a0765eff
cgen: fix setting map elements' fields (#6699) 2020-10-31 13:00:04 +01:00
Alexander Medvednikov b59c5fd82b autofree: do not free tmp vars twice 2020-10-31 08:26:54 +01:00
Delyan Angelov 70cbf56655 cgen: show more informative errors, instead of a `invalid type (typ=0 idx=0)` verror panic 2020-10-30 20:26:08 +02:00
Alexander Medvednikov 791fda16d3 fmt: handle "it" in lambdas 2020-10-30 07:35:44 +01:00
Alexander Medvednikov 2c75b1397c all: struct embedding 2020-10-30 07:09:26 +01:00
Alexander Medvednikov dca3d13606 autofree: another lambda fix 2020-10-30 00:43:04 +01:00
Ned Palacios ccc0cb23ed
doc: store source content, restructure module directory (#6692) 2020-10-29 17:21:37 +01:00
Ned Palacios 7b5a580c0c
util: split bom checking to a separate fn (#6694) 2020-10-29 17:21:08 +01:00
pancake 367067dfff
pkgconfig: improve and fix the parser; move to v.pkgconfig (#6695) 2020-10-29 11:57:23 +02:00
Alexander Medvednikov 423044d4d6 autofree: skip lambda for now 2020-10-29 08:59:13 +01:00
Alexander Medvednikov 71dfec3c4d autofree: generate unique names for each arg 2020-10-29 08:26:45 +01:00
Ned Palacios ce7da85166
parser: make .parse() public (#6693) 2020-10-29 07:10:45 +01:00
Alexander Medvednikov 21002bf2de autofree: fix re-assigning an optional 2020-10-29 07:06:58 +01:00
Alexander Medvednikov f19ca6b411 autofree: simplify, use more scoping, fix expressions inside or blocks 2020-10-29 01:09:38 +01:00
Delyan Angelov b7121786a5 table: run vfmt over atypes.v 2020-10-28 08:46:54 +02:00
Delyan Angelov 7fb739ebcf table: make mut/not mut aggregate fields equal (for read only access) 2020-10-28 08:43:18 +02:00
pancake 36c5eab799
all: add #pkgconfig directive using the new vlib modules (#6673) 2020-10-26 18:05:18 +01:00
Delyan Angelov cf21c63183 v.vcache: extract v.vcache to a separate module, to test it and reuse it 2020-10-26 18:37:37 +02:00
Delyan Angelov 0c192cfd64 tests: fix warnings when doing `./v -W -progress -check-syntax test-fixed` 2020-10-26 14:41:57 +02:00
Delyan Angelov 535c4ed0d6 builder: return early in run_compiled_executable_and_exit, when -check-syntax is passed 2020-10-26 11:23:28 +02:00
Delyan Angelov 60cc8ac39c vcache: use 2x wyhash.sum64_string(hk,x).hex_full(), instead of md5.sum(hk.bytes()).hex() 2020-10-25 09:22:31 +02:00
Delyan Angelov 5cb31c2c8f builder: fix support for tcc on windows (openlibm.o) 2020-10-25 03:35:34 +03:00
Delyan Angelov 5f6259dde6 v: add VCACHE support for thirdparty object files and for `v build-module` 2020-10-25 03:09:07 +03:00
Delyan Angelov 89daec4e93 ci: run vfmt over compile.v and checker.v 2020-10-24 20:41:52 +03:00
Delyan Angelov 8b01146b90 compiler: implement -W and -reuse-tmpc 2020-10-24 20:34:50 +03:00
Alexander Medvednikov 42da37e900 autofree: fix if expressions 2020-10-24 19:06:31 +02:00
Delyan Angelov 23ee3018c3 tools: add `v test-vet` 2020-10-24 16:37:58 +03:00
Delyan Angelov 296a6095a4 builder: vfmt compile.v 2020-10-24 15:48:11 +03:00
Delyan Angelov 8f85396a31 builder: use unique .tmp.c and .tmp.c.rsp files, and rm them on successfull non debug builds. 2020-10-24 15:08:45 +03:00
Delyan Angelov ac6fad6a63 checker: fix comptime custom defines usages, add tests 2020-10-24 15:06:51 +03:00
Alexander Medvednikov c2e9be5a45 cgen: use even more efficient array.delete_last() 2020-10-23 23:04:22 +02:00
Alexander Medvednikov 334497fdc0 cgen: use more efficient array.pop() 2020-10-23 22:52:50 +02:00
Alexander Medvednikov 3b3501cf09 autofree: if expression fixes 2020-10-23 22:50:22 +02:00
Delyan Angelov 8ffbcdc553 cgen: extract g.new_ctemp_var/2, g.new_ctemp_var_then_gen/2 and g.gen_ctemp_var from gen_assert_stmt 2020-10-22 19:48:06 +03:00
Delyan Angelov 66787b05d6 cgen: support most kinds of ast.PrefixExpr in gen_assert_metainfo 2020-10-22 19:25:07 +03:00
Alexander Medvednikov 66b8462d7a autofree: handle method chains 2020-10-22 03:51:28 +02:00
Delyan Angelov ab137e4164
cgen: print results of failed callexprs in `assert fn() == fn2()` (#6665) 2020-10-21 21:58:40 +02:00
Alexander Medvednikov 6d11caf784 autofree: string.replace() test 2020-10-21 19:44:31 +02:00
Swastik Baranwal 019e3b2f4a
checker: add error for ast.PrefixExpr on the left side of decl_assign (#6660) 2020-10-21 17:37:30 +02:00
Delyan Angelov 9322e91d1b v test-fmt: add 1 sec sleep before rebuilding vfmt, to avoid its parallel recompilation afterwards 2020-10-21 15:20:07 +03:00
Delyan Angelov 87f659a0dc ci: fix should_recompile_tool/2 2020-10-21 15:07:57 +03:00
Delyan Angelov 1aa6c125d9 ci: fix `v self` 2020-10-21 13:43:18 +03:00
Delyan Angelov 02db94c4bc v test-fmt: reuse v.util.should_recompile_tool/2, extracted from v.util.launch_tool/3 2020-10-21 12:54:10 +03:00
Ned Palacios 5b1ab3b0bb
vdoc: use maps, enum-based categorization; fixes (#6659) 2020-10-21 11:26:33 +03:00
Enzo 21db4b338b
parser: clean error when nesting `unsafe` (#6656) 2020-10-20 22:57:24 +03:00
Delyan Angelov 5c93f942be docs,tests: add project_with_c_code_2 (passing structs from C to V to C) 2020-10-20 17:59:48 +03:00
Delyan Angelov 0e55534c6e cgen: fix spurious autoref bug, for struct init of a &C.type field, with a byteptr value 2020-10-20 16:28:33 +03:00
Alexey 74ebce6b1f
vdoc: fix generating documentation for 3rd-party modules (#6651) 2020-10-20 02:52:56 +02:00
Alexander Medvednikov 37d6503437 parser: do not allow fn consts 2020-10-19 13:48:39 +02:00
Delyan Angelov 0d31b39f11 cgen: improve error message for <inttypes.h> 2020-10-19 12:44:53 +03:00
Delyan Angelov d89986dd5e cgen: use a guarded include for <inttypes.h> too 2020-10-19 12:18:22 +03:00
Delyan Angelov 92d9569d5d checker: fix #include with @VROOT 2020-10-18 22:31:21 +03:00
Alexander Medvednikov 396dca7f48 checker: handle bad `$if` values 2020-10-18 21:22:37 +02:00
Alexander Medvednikov 30214a7700 Revert "cgen: enable new if expression implementation everywhere"
This reverts commit 958577b98b.
2020-10-18 20:19:52 +02:00
Alexander Medvednikov 958577b98b cgen: enable new if expression implementation everywhere 2020-10-18 20:14:58 +02:00
Delyan Angelov 9cf5c9ac43 tests: simplify print mode logic 2020-10-18 20:49:25 +03:00
Delyan Angelov 2440413310 tests: turn off live_test.v on macos for now (due to frequent false positives) 2020-10-18 19:45:49 +03:00
Delyan Angelov 7bc94fff9a tests: implement compact progress mode (the old one is available with -expand) 2020-10-18 19:27:29 +03:00
Alexander Medvednikov 8a68714095 cgen: new experimental simple if expression implementation 2020-10-18 15:55:18 +02:00
Delyan Angelov 44753e62ab builder: enable `v run x_test.v` to allow universal make/compile commands in vim/emacs 2020-10-18 10:34:40 +03:00
Delyan Angelov dd96ba0d24 vfmt: fix `type TwoSameArgs = fn (i int, j int) string` formatting 2020-10-18 08:54:29 +03:00
Delyan Angelov 5c4ba3474b vfmt: fix `init_fn gg.FNCb = voidptr(0)` when vfmt-ing gg.v 2020-10-18 08:42:08 +03:00
Alexander Medvednikov 55536bb364 autofree: handle more statements 2020-10-18 00:48:06 +02:00
Swastik Baranwal acc85be5ae
checker: disallow type casting to `none` (#6635) 2020-10-17 20:02:30 +03:00
Lukas Neubert dea8662d6b
cli: show help for empty root command (#6636) 2020-10-17 19:06:27 +03:00
Delyan Angelov 3c2202572b
cgen: produce cleaner error on missing C headers (with optional explanation) (#6637)
Implements support for `#include <openssl/rand.h> # Please install OpenSSL`.
2020-10-17 18:27:06 +03:00
Delyan Angelov 8d88b73512 parser: fix formatting 2020-10-16 17:47:23 +03:00
Delyan Angelov 140166e1cd interpolation: support '' (rounding like in C) 2020-10-16 17:28:11 +03:00
Delyan Angelov 11ee68e799 cgen: fix an interface index generation bug 2020-10-16 15:22:25 +03:00
Delyan Angelov 6cea20e427 tests: fix warnings in live_test.v 2020-10-15 23:15:00 +03:00
Enzo b083f4014b
fmt: fix multiple things and format most of the compiler (#6631)
Format expressions inside string interpolation like the rest (it used to be a+b instead of a + b, not too sure why)
Fix formatting some match branches when there were only one statement inside (it was inlined)
Fix parsing and formatting some comments edge case on struct field init. You should check out this test because the result is a bit different from before. I personally find it more logical but I would understand if the former format was to stay
Fix formatting of void-returning function signature
2020-10-15 22:12:59 +02:00
Nick Treleaven 3c336b566d
checker: add check_expected() which returns an optional error (#6623) 2020-10-15 17:30:36 +02:00
Alexander Medvednikov 0dfd51408e autofree: use scopes to avoid dups 2020-10-15 16:26:59 +02:00
Delyan Angelov 31ef921ef2 ci: fix warnings/errors due to the vfmt change 2020-10-15 16:17:52 +03:00
Delyan Angelov 50a2b033b7 ci: fix failing tests on windows too 2020-10-15 15:54:44 +03:00
Delyan Angelov 5d4cce3e95 ci: fix failing tests 2020-10-15 15:42:16 +03:00
Alexander Medvednikov 8b13f3b53f fmt: fix tests 2020-10-15 12:45:34 +02:00
Alexander Medvednikov 3d4ab7de1e checker: update tests 2020-10-15 12:39:32 +02:00
Alexander Medvednikov 7da1afa140 all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests 2020-10-15 12:32:28 +02:00
Alexander Medvednikov 982056894e fmt: use `f(x int, y int)` instead of `f(x, y int)` 2020-10-15 12:00:46 +02:00
Swastik Baranwal 314fae7446
checker: add more checks for hash_stmt (#6615) 2020-10-15 11:58:01 +03:00
Delyan Angelov 44a42b7273 ci: fix parser.v formatting 2020-10-15 11:41:43 +03:00
Delyan Angelov 6326b6d58e parser: add helper method p.trace/2 2020-10-15 11:09:19 +03:00
JalonSolov a4cc1ab7e3
all: cleanup more match statements (#6616) 2020-10-15 08:08:27 +03:00
Delyan Angelov 3795aaab5c v test-fmt: reformat some skipped files, comment on the remaining ones 2020-10-15 00:39:09 +03:00
Delyan Angelov c33a748344 vfmt: handle more comments in interface/struct init/match branches 2020-10-14 22:52:33 +03:00
Alexander Medvednikov 6ad5ecf569 table: add "please create a gh issue" to the "compiler bug" error 2020-10-14 21:09:10 +02:00
Delyan Angelov 3c48a6e4ce tests: rename _test.v files with dup names (temp workaround for highly parallel testing) 2020-10-14 18:25:26 +03:00
Alexander Medvednikov 9355c60b4d cgen: fix for mut val and enable the test 2020-10-14 13:34:49 +02:00
Alexander Medvednikov 25947a7b23 autofree: handle args in optional returns 2020-10-14 13:23:58 +02:00
Alexander Medvednikov ea09bd5e45 checker/fmt: `for mut val` fixes 2020-10-14 12:50:19 +02:00
Delyan Angelov ee0baf62ad vdoc: fix for `v doc log` 2020-10-13 18:11:57 +03:00
Alexander Medvednikov 194c2c926e doc: use the new table.type_to_str 2020-10-13 16:46:56 +02:00
Alexander Medvednikov a07f31feae all: `for mut val in vals {` (part 1) 2020-10-13 16:27:30 +02:00
Delyan Angelov d316f78f94 vfmt: remove the buggy f.type_to_str, use f.table.type_to_str from now on 2020-10-13 16:17:02 +03:00
Delyan Angelov 1123f4fcc9 vfmt: fix deep nested map types, using f.table.type_to_str 2020-10-13 16:08:25 +03:00
Nick Treleaven 78bcda14c4
checker: infer T from parameter of type `[]T` (#6611) 2020-10-13 15:15:25 +03:00
JalonSolov 57d705e265
ast: minor code cleanup (#6608) 2020-10-12 23:11:51 +02:00
Enzo da7d531f8f
fmt: refactor `type_to_str` (#6607) 2020-10-12 18:41:42 +03:00
Enzo 93bb7564dc
fmt: fix multiple problems with types (#6603) 2020-10-12 09:27:55 +03:00
Delyan Angelov 62f6e65509 repl: fix `reset`; make `echo "print(2.0 * 3.14159)" | ./v` print only the result 2020-10-11 10:50:24 +03:00
Delyan Angelov c7e0a27e0d ci: fix v fmt test, by formatting cgen.v and atypes.v 2020-10-11 10:00:53 +03:00
Delyan Angelov 604b28b1c5 cgen: fix for `type FdfFn = fn(...) (x,y)` 2020-10-11 09:53:35 +03:00
Nick Treleaven b677ad9ca5
checker: fix panic on match expression without results (#6597) 2020-10-10 15:42:40 +02:00
Enzo 6038264a4c
gen: fix slicing mutable arguments (#6596) 2020-10-10 12:03:23 +02:00
Alexander Medvednikov 1332bba7af autofree: wrap up optionals 2020-10-10 10:34:51 +02:00
Delyan Angelov e862fad917 parser: support `mut static x := y` in -translated mode 2020-10-09 22:24:21 +03:00
Nick Treleaven 36706126fd
checker - improve error for `as` casting on non-sum type (#6587) 2020-10-09 16:12:12 +02:00
Ned Palacios fc375a40f8
x.json2: add fast_raw_decode; support for i64 and f32 (#6586) 2020-10-09 16:11:55 +02:00
Nick Treleaven f734f8167b
checker: improve error message for match branch type mismatch (#6588) 2020-10-09 16:11:11 +02:00
Alexander Medvednikov c463c26983 autofree: optionals fix 2020-10-09 01:13:31 +02:00
Nick Treleaven 92630a2821
checker: error if assigning to a function (#6581) 2020-10-09 00:48:39 +02:00
Alexander Medvednikov 7d65e4cb10 autofree: fix and test var declarations 2020-10-08 17:10:20 +02:00
Delyan Angelov c3626bf2e6 vfmt: prepare for using .source_name in type_to_str 2020-10-08 14:26:12 +03:00
Swastik Baranwal aea52af9ae
checker: add is_mut check for disallowing taking address of map's key and array's element outside unsafe (#6573) 2020-10-08 09:37:18 +03:00
Delyan Angelov efce448b23 parser: always treat MainLetter(x) as a cast, even when the type is not yet known 2020-10-07 15:50:54 +03:00
Delyan Angelov d46d607334 backporting: remove C typedef redefinitions of map_int/map_string/array_byte/array_string 2020-10-07 11:32:50 +03:00
Delyan Angelov 317a9bae5f backporting: remove redefinition of strconv__Float64u 2020-10-07 11:06:52 +03:00
Delyan Angelov 3d0f4fd756 backporting: cleanup Makefile, use -std=gnu99 by default, honor CFLAGS and LDFLAGS (CentOS 6.9) 2020-10-07 07:05:59 +00:00
shnorbluk b940dc4f8a
cli: help displayed when a Command has no execute function (fix #6530) (#6567) 2020-10-07 05:39:13 +02:00
Nick Treleaven f7decfe399
checker: infer generic type T from matching fn call argument (#6298) 2020-10-06 15:34:02 +02:00
Delyan Angelov 8e5067421f vet: accumulate the collected errors manually (fixes CI) 2020-10-06 10:02:35 +03:00
Delyan Angelov 70826914a7 ci: fix mut_args_warning.vv error 2020-10-06 09:38:07 +03:00
Alexander Medvednikov 256a572cbe vet: fix vet_errors 2020-10-06 07:07:50 +02:00
Alexander Medvednikov ed15b40529 parser: do not allow array references + explain why 2020-10-06 06:53:48 +02:00
Alexander Medvednikov 63c9b88e7f vet: remove unnecessary &[]string 2020-10-06 06:43:28 +02:00
Alexander Medvednikov a51c445df8 ci: vfmt -verify more important files 2020-10-06 06:32:39 +02:00
Alexander Medvednikov d2d3289a2a all: mark pref.Preferences field as immutable 2020-10-06 06:24:50 +02:00
Delyan Angelov 06a02c41c3 tests: reduce probability of locks during macos runs of live_test.v 2020-10-05 21:20:42 +03:00
Swastik Baranwal d77669da80
test: add tests for disallowing map/array get element/key address (#6568) 2020-10-05 18:40:51 +03:00
kalapalo 4b410534dd
cgen: add C fn memfreedup to cheaders.v (#6563) 2020-10-05 13:14:41 +02:00
Swastik Baranwal 5f07b255bd
checker: disallow address of array and map index outside unsafe (#6557) 2020-10-05 13:08:30 +02:00
Ned Palacios 2b1a5d7a56
vdoc: move local scope-based doc generation to its own function (#6565) 2020-10-05 07:59:17 +02:00
Enzo 35a83464d0
gen: separate sumtype from classic match (#6547) 2020-10-04 19:50:23 +02:00
Delyan Angelov 0c174104fc checker: allow &=,|=,^=,%= on an integer number type aliases 2020-10-04 15:29:09 +03:00
Delyan Angelov 628b136e85 checker: allow casting from floats/enums to byte 2020-10-04 14:46:24 +03:00
Marcin aa81ebb600
scanner: fix double quotes escape (#6474) 2020-10-04 10:34:04 +02:00
Enzo fd88bfbac8
fmt: fix formatting of anon args (#6545) 2020-10-04 06:32:47 +02:00
Enzo c84848c417
fmt: fix formatting enum with attributes (#6551) 2020-10-03 21:33:02 +03:00
Henrixounez c324169af0
all: remove intermediate handling for both global definition syntaxes (#6546) 2020-10-03 15:41:45 +02:00
Swastik Baranwal 7e13518cc2
parser: disallow match expr at certain places (#6490) 2020-10-03 16:30:58 +03:00
Henrixounez a9da4dd437
parser: fix indentation to tabs (#6548) 2020-10-03 14:20:41 +02:00
Delyan Angelov de77f0ba0f vfmt: make vlib/v/table/table.v vfmt-able 2020-10-03 12:57:21 +03:00
Enzo 677b0ba2d2
gen: access fields in multi-type sumtype match (#6541) 2020-10-03 11:19:43 +02:00
Delyan Angelov 7b034a54e3 vfmt: make vlib/v/table/atypes.v vfmt-able 2020-10-03 11:48:12 +03:00
Henrixounez c9574ae7d7
syntax: new global variable declaration syntax (#6540) 2020-10-03 07:03:44 +02:00
Swastik Baranwal c8a884f57f
checker: fix typos in chan (#6539) 2020-10-03 06:59:30 +02:00
kalapalo eefe067c27
cgen: fix `as` cast when sumtype is the result of a function call (#6537) 2020-10-03 05:04:15 +02:00
Daniel Däschle 2204bad7cf
gen: removes space on struct printing (#6535) 2020-10-02 13:06:02 +02:00
Delyan Angelov 70c87137a9 live_test.v: wait 5 times more on macos 2020-10-02 11:38:49 +03:00
Nick Treleaven 7c86b03505
checker: don't error if last statement in match branch produces a value (#6523) 2020-10-02 09:33:04 +02:00
Daniel Däschle 8e8e808fc9
gen: fix sumtype custom str (#6534) 2020-10-02 09:32:07 +02:00
Nicolas Sauzede c825275f7f
pref: fix whitespace in compiler message (#6529) 2020-10-02 05:16:16 +02:00
Henrixounez 8152b86652
checker: detect correct len expression for multidimensional array init (#6521) 2020-10-02 03:12:33 +02:00
Nick Treleaven 7e720a1253
pref: do not check arguments after 'run' command (#6524) 2020-10-01 23:30:39 +03:00
Henrixounez a57e01fee7
parser: dont allow single letter enums (#6526) 2020-10-01 23:29:49 +03:00
spaceface777 f55f2fb9d1
gen: optimize `str == ''` to `str.len == 0` for performance (#6527) 2020-10-01 23:28:44 +03:00
Delyan Angelov ac384db71f builder: cleanup .timing_message/2 2020-10-01 18:21:34 +03:00
Delyan Angelov a0e4be04be compiler: print more suggestions, without a good specific match 2020-10-01 17:27:31 +03:00
Henrixounez 0f1ed1ca09
scanner: add an error for unfinished string literals (#6519) 2020-10-01 16:40:59 +03:00
Delyan Angelov 11b16a63cf checker: add a suggestion for misspelled struct field name errors 2020-10-01 15:36:47 +03:00
Alexander Medvednikov f534edc371 doc: replace os.base_dir with os.dir 2020-10-01 01:30:22 +02:00
Alexander Medvednikov 4879661f5a os: remove base_dir(); dir() and base() fixes 2020-10-01 01:25:52 +02:00
Enzo 324d547cdb
parser: allow multiple types in match branch (#6505) 2020-10-01 01:07:36 +02:00
Nick Treleaven 18be7b115a
checker: disallow most statements in if/match expression branches (#6509) 2020-09-30 16:06:22 +02:00
Lukas Neubert 3a8be4d8d9
os: home_dir() remove trailing slash (#6512) 2020-09-30 16:02:54 +02:00
Larpon 4cd5153b32
android: enable autofree (#6503) 2020-09-30 07:40:05 +02:00
Alexander Medvednikov ae7689f739 autofree: simplify, clean up, and fix complex arg exprs 2020-09-30 07:27:24 +02:00
Daniel Däschle c38a050125
cgen: fix array and map printing (#6508) 2020-09-30 01:26:27 +02:00
Delyan Angelov dc954bbb03 all: use `macos` consistently in os.user_os and the compiler 2020-09-29 22:32:20 +03:00
Ned Palacios 1aec041371
json: fix encode/decode support for generic structs (#6489) 2020-09-29 03:15:00 +02:00
Nick Treleaven 05dcdfd267
pref: error if unknown argument passed to `v` (#6487) 2020-09-29 03:13:54 +02:00
Nick Treleaven 9f33b33803
parser: warn about ambiguous infix/prefix op token (#6491) 2020-09-29 03:13:10 +02:00
Alexander Medvednikov 9e31335744 pref: remove obsolete flags 2020-09-29 02:54:05 +02:00
Daniel Däschle 06cade6c31
all: change .ReturnType and .Type to .return_type and .typ (#6494) 2020-09-28 06:13:38 +02:00
Delyan Angelov f9ce7f3542 vfmt: fix formatting for [4][4]int static arrays 2020-09-27 22:46:33 +03:00
Delyan Angelov cbd7c7d8c6 tests: support VTEST_ONLY in vlib/v/fmt/fmt_keep_test.v too 2020-09-27 22:01:46 +03:00
Delyan Angelov cfdf66c129 ci: run vfmt over checker.v 2020-09-27 17:08:28 +03:00
Delyan Angelov a6d525eb92 ci: fix `is not a variable and cannot be locked` failing tests 2020-09-27 16:32:46 +03:00
Delyan Angelov 7c6695317c Revert "ci: fix building v from vc"
This reverts commit b3f503e0ce.
2020-09-27 10:36:26 +03:00
Delyan Angelov b3f503e0ce ci: fix building v from vc 2020-09-27 10:34:11 +03:00
Alexander Medvednikov c5dc792c5d fmt: args => params 2020-09-27 03:46:15 +02:00
Alexander Medvednikov 3d5292b63f tcp/udp: fix mutability 2020-09-27 03:40:59 +02:00
Alexander Medvednikov fca344d1fb all: fn args => params 2020-09-27 03:32:56 +02:00
Alexander Medvednikov e2c7126d11 checker: verify mutability of method args 2020-09-27 03:14:24 +02:00
Daniel Däschle d782de5b00
gen: struct str fixes (#6483) 2020-09-25 23:12:33 +02:00
Nick Treleaven fbae0a7274
checker: warn if fn looks like a test fn but filename doesn't end in `_test.v` (#6469) 2020-09-25 19:26:11 +03:00
Daniel Däschle abc98c273c
parser: require assign on type alias (#6477) 2020-09-25 12:02:32 +02:00
spaceface777 0b95d72354
checker: comp. if branch logic fix (#6473) 2020-09-25 12:48:27 +03:00
Daniel Däschle 90d1a689db
gen: fix str gen for pointers in structs (#6462) 2020-09-24 21:14:16 +02:00
Daniel Däschle e384dea8ac
checker: add error for amp on literals (#6467) 2020-09-24 21:13:46 +02:00
Alexander Medvednikov 47a62b12d4 autofree: advanced expr test 2020-09-24 19:22:16 +02:00
Alexander Medvednikov 403cd0d915 Revert "gen: scape string function in gen/str.v (#6452)"
This reverts commit 60fbcc37fc.
2020-09-24 18:19:18 +02:00
Marcin 60fbcc37fc
gen: scape string function in gen/str.v (#6452) 2020-09-24 18:18:10 +02:00
Nick Treleaven be2ac0ba89
fmt: fix writing ConcatExpr (#6466) 2020-09-24 18:04:39 +02:00
Nick Treleaven 3925c3fa20
parser: disallow index variable with range `for` (#6464) 2020-09-24 15:52:44 +03:00
Uwe Krüger 72ecc222ee
fmt: support `select` expressions (#6460) 2020-09-23 22:22:39 +02:00
Daniel Däschle 4f09ddccb4
cgen: implement sum type str gen (#6454) 2020-09-23 20:51:51 +02:00
Nick Treleaven 2886b1c67d
checker: require binary operands for &&, || (#6449) 2020-09-23 20:48:25 +02:00
Uwe Krüger 9c0758639b
cgen: fix `for match {...} {` and `for select {...} {` (#6441) 2020-09-23 06:05:12 +02:00
Alexander Medvednikov 624f22e27e all: mutability check (part 1); enable mutable sumtype args 2020-09-22 05:28:29 +02:00
Delyan Angelov a9ef7d173f doctor: suggest `v doctor` in issue templates and C builder errors 2020-09-21 18:29:52 +03:00
Ned Palacios 744f685973
vdoc: document variables in a specific pos/scope; support `v doc os File` (#6354) 2020-09-21 17:40:39 +03:00
Swastik Baranwal 077b597bd8
scanner/parser: change error msgs for `\0` and `\x00` and add error for r`byte` and c`byte` (#6436) 2020-09-21 17:34:24 +03:00
Uwe Krüger 0f1c484ad1
parser/checker: `if select { ... } {` (#6434) 2020-09-21 07:34:04 +02:00
Henrixounez e429a77de2
gen: named imported structs operator overloading and str methods (#6433) 2020-09-20 19:51:14 +02:00
Henrixounez 5086fd537c
checker: prompt error on implicit int overflow by literal (#6410) 2020-09-20 16:29:01 +02:00
Uwe Krüger 4ae88c69ac
sync/select: allow push of literals and calculated expressions (#6429) 2020-09-20 03:50:09 +02:00
Nick Treleaven 9958881cbe
parser: support parsing unsafe (as first token) as UnsafeExpr (#6032) 2020-09-19 19:18:36 +03:00
Swastik Baranwal 1c886ad067
scanner: add check for `!is_raw` for null `\0` (#6427) 2020-09-19 19:09:18 +03:00
Henrixounez 4b0e7fc979
checker: check if imported struct is public (#6425) 2020-09-19 18:16:43 +03:00
Henrixounez 4121ba9ea9
parser: fix error about multiple modules showing when eof (#6423) 2020-09-19 02:15:47 +02:00
Uwe Krüger 31a52cdf21
cgen: implement channel `select` block code generation (#6424) 2020-09-19 02:14:35 +02:00
Enzo 3126ae305c
checker: verify use of blank identifier (#6412) 2020-09-18 23:47:50 +02:00
Delyan Angelov 78e6ddee75 tests: enable running `v test .` inside vlib/v/ too 2020-09-18 19:20:01 +03:00
Daniel Däschle 1b9711edde
gen: fix C warnings by cleaning up skip_struct_init (#6416)
* gen: removes struct name from list which shouldn't be initialized

* gen: vfmt

* cgen: remove the skip_struct_init list

* Revert "cgen: remove the skip_struct_init list"

This reverts commit d9e1fdbb4c.

* fix ci

* vfmt vlib/v/gen/cgen.v

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-18 16:36:40 +03:00
Henrixounez 46dc6cc24b
repl: fix ctrl+z job to background on linux (#6417) 2020-09-18 16:34:00 +03:00
Daniel Däschle ffc8cf3925
gen: c don't generate x >= 0 check for unsigned ints in range exprs in matches (#6414) 2020-09-18 12:53:19 +03:00
Daniel Däschle f7aa9cb0c5
vlib: fix C warning for UNICODE macro redefinition on windows (#6415) 2020-09-18 12:51:55 +03:00
Henrixounez c02a0f90df
checker: prompt error on script expression while inside a file with main (#6400) 2020-09-18 01:14:14 +02:00
Henrixounez 4038ac463c
gen: bytes array print not ending prematurely when null byte (#6401) 2020-09-18 01:12:32 +02:00
Nick Treleaven 14743458e5
checker: tweak error messages for `or` block; use proper type names (#6377) 2020-09-18 01:09:00 +02:00
Daniel Däschle f59b771c76
parser: fix nested amp (#6402) 2020-09-18 01:04:56 +02:00
Nick Treleaven 69c592e0d6
checker: disallow infix op on an optional type (#6406) 2020-09-18 01:03:55 +02:00
Henrixounez 99574e465d
scanner: allow escape on null character (#6404) 2020-09-18 01:02:06 +02:00
Enzo a1e127ae46
checker: check type in `is` InfixExpr (#6407) 2020-09-18 01:01:05 +02:00
spaceface777 ff92c3409d
ast: merge `IfExpr` and `CompIf` (#6011) 2020-09-18 00:58:54 +02:00
Henrixounez 608df40058
checker: fix error declaration on a value (#6390) 2020-09-16 22:01:15 +02:00
Uwe Krüger 1bc9063573
parser: implement parsing of `select` block (#6379) 2020-09-16 15:34:57 +02:00
Daniel Däschle 3a795e6d9b
gen: fixes C warnings by appending U after unsigned integer literals (#6384) 2020-09-16 15:50:41 +03:00
Delyan Angelov 5da698b4bf tests: add support for skipping tests in vlib/v/compiler_errors_test.v too 2020-09-15 19:56:52 +03:00
Delyan Angelov bbf4983524 autofree: add option_reassigned.v and option_simple.v tests. 2020-09-14 13:04:24 +03:00
Alexander Medvednikov bffa100aa6 autofree: optional fix 2020-09-13 21:36:33 +02:00
Alexander Medvednikov 68948c7947 checker: vfmt checker.v 2020-09-13 16:21:40 +02:00
Vasilis Katsifolis 43942057a4
checker: fix a type check that caused a C error #6238 (#6358) 2020-09-13 15:19:53 +02:00
Alexander Medvednikov fc88f43e50 autofree: make optional methods work 2020-09-13 03:20:34 +02:00
Alexander Medvednikov f337980e52 autofree: move tmp var generation to a separate method 2020-09-13 03:18:13 +02:00
Alexander Medvednikov 9149d8ecb5 autofree: a small simplification 2020-09-13 03:12:09 +02:00
Alexander Medvednikov f074d766e5 ci: disable gitly autofree build for now 2020-09-13 03:06:16 +02:00
Alexander Medvednikov db51ee08ea autofree: more fixes in optionals 2020-09-13 03:00:45 +02:00
Alexander Medvednikov b74c1805d7 cgen/autofree: fix and simplify optionals 2020-09-12 16:40:52 +02:00
Delyan Angelov 37311883c1 tests: add optional_method_err.vv 2020-09-12 13:12:06 +03:00
Delyan Angelov 0801f88d0a tests: cleanup vlib/v/checker/tests/run ; add unused_variable_warning.vv 2020-09-12 12:33:17 +03:00
Delyan Angelov 96c22a26b9 tests: cleanup if_smartcast_test.v 2020-09-11 22:00:13 +03:00
Delyan Angelov d46c1f0f20 tests: fix sporadic waitgroup failure on slow windows VMs in anon_fn_test.v 2020-09-11 16:00:24 +03:00
Daniel Däschle ce62f997f3
all: better type error positions (#6345) 2020-09-11 14:37:14 +02:00
Alexander Medvednikov 62a692b29c checker: make the "unnecessary default" error a warning for now 2020-09-11 13:59:28 +02:00
Alexander Medvednikov 53bed596e7 autofree: do not free _ vars 2020-09-11 13:58:12 +02:00
Alexander Medvednikov e0d20eadff autofree: free strings on re-assignments 2020-09-11 13:55:20 +02:00
Alexander Medvednikov 17882db635 autofree: disable ?string test for now 2020-09-10 22:19:18 +02:00
Alexander Medvednikov 67cc515e74 autofree: ?string test 2020-09-10 13:41:30 +02:00
Alexander Medvednikov 03327e5161 time: minor fixes + vfmt 2020-09-10 13:26:01 +02:00
Alexander Medvednikov bc8aab4775 checker: fix := test 2020-09-09 17:59:51 +02:00
Alexander Medvednikov 3956ea4665 Revert "checker: fix := test"
This reverts commit 818220de45.
2020-09-09 17:55:48 +02:00
Alexander Medvednikov 818220de45 checker: fix := test 2020-09-09 17:50:14 +02:00
Alexander Medvednikov 5d484bf022 checker: better error message for incorrect `mut x :=` 2020-09-09 17:27:16 +02:00