Commit Graph

8403 Commits (76f70d51f3a412f56db8ff0e80d972f49a3ee734)

Author SHA1 Message Date
Ned Palacios b9cbb4f177
scanner: fix eof token position (#9432) 2021-03-23 08:51:09 +01:00
Ned Palacios aa4e22c287
scanner, token: add column information to tokens (#9407) 2021-03-23 06:23:46 +01:00
ka-weihe 3753a58ce0
parser: fix if-guard redefinition (#9425) 2021-03-23 04:38:36 +01:00
Lukas Neubert 1b572f75e8
fmt: minor array wrap improvement (#9420) 2021-03-22 23:06:12 +01:00
Delyan Angelov a00c80b98f
v: support compiler notices. Use them for `[deprecated_after: '2021-05-01']` tags
Compiler notices are like warnings, with these differences:
   a) notices use a different color.
   b) notices use a different label.
   c) notices do not prevent compilation with -prod.
   (warnings are converted to errors with -prod)
2021-03-22 19:59:00 +02:00
Delyan Angelov c76c69ec35
all: simplify `return if ...` constructs to make more code compatible with -autofree 2021-03-22 16:45:29 +02:00
Alexander Medvednikov a53aaaf9e7 os: fix a leak in read_lines() 2021-03-22 12:20:55 +03:00
yuyi 320cd00203
string: fix replace_each() (#9415) 2021-03-22 09:46:45 +01:00
Delyan Angelov 400b4027c9
strings: comment deprecation of Builder.write_bytes temporarily 2021-03-22 09:01:22 +02:00
Delyan Angelov 1eb3ed9818
flag: return error on .finalize() on CLI arguments with unknown short options too 2021-03-22 08:21:13 +02:00
zakuro 0258482caf
cgen: auto eq method for sumtype (#9408) 2021-03-22 06:39:07 +01:00
yuyi cf6faaf215
parser: fix anon_fn with array arguments (#9414) 2021-03-22 03:22:29 +01:00
Subhomoy Haldar c5bc349edb
rand: update documentation (#9406) 2021-03-21 19:36:17 +02:00
zakuro dfd58293ef
parser: fix parse error when using `f<Foo<int> >` (#9401) 2021-03-21 13:09:43 +02:00
Subhomoy Haldar 0e80e57aa5
rand.dist: add exponential distribution function and unit tests (#9402) 2021-03-21 13:04:43 +02:00
Alexander Medvednikov 4d77f3810f gc: enable on macos and add leak detection fns 2021-03-21 05:31:10 +03:00
spaceface 5873149c77
builtin: allow libgc to be used on windows as well (#9393) 2021-03-21 01:01:21 +01:00
yuyi 246c09db96
checker: fix generics in big_struct (fix #9373) (#9383) 2021-03-20 17:29:13 +01:00
zakuro f9bbc119aa
checker: make optional arguments in func call an error (#9362) 2021-03-20 17:27:16 +01:00
zakuro c8416f9a54
all: deprecate write_str and replace it with write_string (#9369) 2021-03-20 17:25:51 +01:00
Larpon b7a0c44f39
builder: allow running symlinked .vsh files (#9385) 2021-03-20 17:25:09 +01:00
Delyan Angelov 517c1841c1
time: fix .sleep() with `-gc boehm` 2021-03-20 16:24:46 +02:00
Delyan Angelov 8810af76df
all: support `-gc boehm` on systems with libgc-dev installed (#9382) 2021-03-20 14:16:36 +01:00
Delyan Angelov a6ddd24f5c
v.embed_file: add .to_string() and .to_bytes() utility methods 2021-03-20 09:30:38 +02:00
zakuro e3c0f305b2
os: deprecate `os.File.write_bytes` and add `os.File.write_ptr` (#9370) 2021-03-20 09:02:28 +02:00
yuyi ead0dff55a
cgen: fix return if_guard expr (#9375) 2021-03-20 03:53:47 +01:00
spaceface 3f9e921c95
builtin: add a proper str() method to IError (#9379) 2021-03-20 01:55:16 +02:00
penguindark 59f95170b3
regex: bug fix in replace using function, added tests (#9381) 2021-03-20 01:54:12 +02:00
Delyan Angelov b0e225ac2d
dl: fix `v -cflags "-Werror" use_test.v` 2021-03-19 23:27:14 +02:00
Delyan Angelov a386be6505
v.table: correct `table.types` to `table.type_symbols` 2021-03-19 22:51:52 +02:00
Delyan Angelov 4a12546971
cgen,fmt: improve sizeof(), fix `type PPType = &&Type` 2021-03-19 22:49:46 +02:00
Delyan Angelov c5884a5f4d
v.ast: improve Expr.str() for `sizeof(Type)` 2021-03-19 20:56:49 +02:00
zakuro 95a748e8b0
checker: cleanup call_method (#9365) 2021-03-19 14:19:38 +02:00
Delyan Angelov 4f6306f6d4
examples: fix `v -cflags "-Werror" test examples/` 2021-03-19 13:13:56 +02:00
Lukas Neubert 82c4daa4b7
fmt: fail keep test when bin2v_keep preparation step fails (#9361) 2021-03-19 13:13:03 +02:00
Emeric MARTINEAU 125236694f
cli: improve multiple value management (#8310) 2021-03-19 13:09:56 +02:00
zakuro 29884fa2a9
os: deprecate read_at and add read_from to implement RandomReader (#9371) 2021-03-19 12:35:08 +02:00
Lukas Neubert f8fcf3ff66
fmt: reorder and sort methods into section (#9363) 2021-03-19 11:26:34 +02:00
Delyan Angelov 04095f4088
ci: fix failing `v -W build-tools` and `v -W build-examples`; run vfmt. 2021-03-19 09:49:26 +02:00
Delyan Angelov ea3d1405ee
ci: fix failing -Werror job with tcc 2021-03-19 09:34:41 +02:00
JalonSolov 9ea88c090b
os: fix warning write_str -> write_string (#9368) 2021-03-19 03:36:27 +01:00
Alexander Medvednikov bb79df932b net/os: deprecate write_str() in favor of write_string() 2021-03-19 04:51:31 +03:00
Delyan Angelov 8fa7e67000
builtin: use `return s.clone()` instead of `return s` consistently, to make manual free easier 2021-03-18 22:23:36 +02:00
Delyan Angelov 00651c8deb
builtin: free all elements in a `[]string` with -autofree too 2021-03-18 21:10:42 +02:00
Delyan Angelov d4e16b6ddd
builtin: reduce memory allocations for s.trim, s.trim_left and s.trim_right 2021-03-18 19:52:33 +02:00
Delyan Angelov 09802707b1
tests: move rlock and shared array tests from `builtin` to `sync` 2021-03-18 19:51:11 +02:00
Delyan Angelov b7a5fa7fbe
os: fix `v -cflags "-Werror" test vlib/os/` 2021-03-18 19:45:04 +02:00
Miccah 7222ee476b
all: implement array .any and .all (#9347) 2021-03-18 15:24:16 +01:00
spaceface 624c1f3bcf
cgen: make `bool`s take up a single byte, not 4 (#9352) 2021-03-18 15:23:29 +01:00
zakuro 4ae2c22c18
checker: make optional array element an error (#9343) 2021-03-18 15:11:51 +02:00
yuyi a6c2c5ba88
parser: minor cleanup in call_args() (#9344) 2021-03-18 15:06:48 +02:00
Swastik Baranwal f28e67d526
cmd/tools/v/vdoc: keep `_` sep in numeric literals and highlight modules properly (#9358) 2021-03-18 15:06:16 +02:00
Ned Palacios eccf707270
vdoc: improve error message for non-existing symbols (#9359) 2021-03-18 15:04:53 +02:00
Delyan Angelov 7bbcf02134
ci: fix failing -Werror steps for code generated by json.encode(map{'a': []string{}}) 2021-03-18 12:13:06 +02:00
Delyan Angelov f7a8a460f6
v.parser: add a test for db46ad5 2021-03-18 11:31:17 +02:00
Delyan Angelov db46ad5481
v.parser: fix `xxx.fncall(map{x: []string{}})` treatment as `[]xxx.string{}` 2021-03-18 11:07:25 +02:00
Alexander Medvednikov 4e62bc0b81 autofree: fix free before return 2021-03-18 05:41:50 +03:00
Alexander Medvednikov 88097125f7 checker: remove "use `++` instead of `+= 1`" 2021-03-18 01:37:36 +03:00
zakuro 6cfc2c217b
checker: fix #9330 (#9342) 2021-03-17 20:57:14 +02:00
Lukas Neubert 49eeddcd1c
parser: set correct last line for struct inits (#9349) 2021-03-17 20:46:08 +02:00
Lukas Neubert 0a06a83d9b
fmt: fix possible removal of PrefixExpr or blocks (#9351) 2021-03-17 20:43:28 +02:00
Delyan Angelov e8df8bc8c3
ci: fix for `-autofree vlib/v/tests/option_test.v` 2021-03-17 14:44:45 +02:00
Delyan Angelov 99cc02685b
cgen: implement IError.free() and use it for the builtin `none` const 2021-03-17 12:38:24 +02:00
Delyan Angelov ae401bd930
ci: fix the `./v -g -autofree -o v2 cmd/v` step 2021-03-17 09:48:56 +02:00
crthpl fafb035fb5
all: reimplement inline assembly (#8645) 2021-03-17 01:43:17 +01:00
yuyi dd9f9c2718
checker: check array.sort(a < b) (#9321) 2021-03-17 01:42:51 +01:00
ka-weihe 2991cad4e8
map: fix delete in for-in (#9336) 2021-03-17 01:42:33 +01:00
Alexander Medvednikov 149151b1e8 cgen: minor vfmt 2021-03-17 03:41:52 +03:00
Alexander Medvednikov 091a1bab27 autofree: free global map consts and some vweb fixes 2021-03-17 01:33:35 +01:00
shadowninja55 b4f7a975e8
builtin.string: optimize string.count where substr.len == 1 (#9337) 2021-03-17 00:19:48 +02:00
Enzo 4b6244c9c1
gen: fix generic variadic (#9333) 2021-03-17 00:18:43 +02:00
Lukas Neubert 05b51c5b01
parser: correctly set pos of sql blocks (#9334) 2021-03-16 23:00:50 +02:00
Delyan Angelov 1753445a64
builtin: make panics more IDE friendly 2021-03-16 20:50:11 +02:00
Lukas Neubert e554415123
fmt: allow ascii art block comments (#9332) 2021-03-16 20:49:55 +02:00
shadowninja55 d92f9e77b0
builtin.string: optimize string.split_nth() for len == 1 delim (#9325) 2021-03-16 20:30:27 +02:00
JalonSolov 6f550ebbdc
string: fix fields method when no whitespace (#9326) 2021-03-16 19:45:27 +02:00
Delyan Angelov 0547a0a9cd
ci: comment the `dump(fixed_array)` call in crypto_rand_read_test.v 2021-03-16 12:04:50 +02:00
Delyan Angelov c09e85fa90
crypto.rand: add a test for rand.read/1 2021-03-16 11:37:05 +02:00
Delyan Angelov 0363206bac
crypto.rand: correct the error message in the shim 2021-03-16 11:25:59 +02:00
Delyan Angelov 5777706a58
crypto.rand: add a shim for `fn read(bytes_needed int) ?[]byte` in rand_default.c.v, so that it shows with `v doc` 2021-03-16 11:23:50 +02:00
Delyan Angelov 506561c792
cgen: fix a bug (deleting a map key while iterating on the same map) detected by `-d debug_realloc` 2021-03-16 09:20:45 +02:00
Alexander Medvednikov 93df560cf9 builtin: deprecate string.split_by_whitespace in favor of fields() 2021-03-16 08:29:14 +03:00
Alexander Medvednikov 138da8e130 stbi/sokol: fix png loading bug 2021-03-16 01:39:35 +03:00
Alexander Medvednikov 852d302b87 io: BufferedReader.free() 2021-03-15 21:25:19 +01:00
Alexander Medvednikov 667a26335f builtin: fix substr() 2021-03-15 21:16:23 +01:00
Alexander Medvednikov 77d5fcca59 urllib: a temporary autofree fix 2021-03-15 21:12:11 +01:00
Leah Lundqvist 0823ea4af1
builder: produce an iOS binary instead of a bundle (#9316) 2021-03-15 19:03:05 +01:00
Delyan Angelov 7f0c8d1eec
builtin: fix a compilation warning with `-d debug_malloc` 2021-03-15 17:37:06 +02:00
Nick Treleaven 446631ceb5
checker: fixed array cannot implicitly convert to fooptr (again) (#9302) 2021-03-15 15:55:07 +02:00
Uwe Krüger 9d168895ed
checker: check write access to shared elements of `struct` and `array` (#9314) 2021-03-15 15:54:06 +02:00
Anton Zavodchikov 1ad4623fb8
tmpl: move to v/parser (#9052) 2021-03-15 13:35:55 +02:00
yuyi 2d2e4610e7
cgen: make use of mut_rec in method consistent (#9308) 2021-03-15 12:22:52 +02:00
yuyi e235022e10
cgen: fix error of for_in map_literal (#9310) 2021-03-15 12:22:32 +02:00
Delyan Angelov 3951c351c6
os: simplify Process (remove chainability of Process method calls) 2021-03-15 09:23:43 +02:00
Delyan Angelov 25c07c2f43
v.ast: handle more expressions in Expr.str() 2021-03-15 06:27:56 +02:00
zakuro 80ac1aaf93
fmt: use type_to_str_using_aliases (#9306) 2021-03-15 06:27:08 +02:00
yuyi 945769a4f6
all: implement reference receiver optimization for big structs (#9268) 2021-03-14 18:11:21 +01:00
StunxFS 92e95f127a
checker: correct type check for generic function with ternary if return (#9296) 2021-03-14 19:01:32 +02:00
yuyi e677daf608
cgen: fix array_sort and format array_filter/map generated codes (#9303) 2021-03-14 18:47:43 +02:00
Delyan Angelov 2f4a49994a
builtin: implement support for `-d debug_malloc` too 2021-03-14 18:29:00 +02:00
Delyan Angelov d65ad68e77
builtin: add 0 terminators for strings returned by .to_lower, .to_upper, utf32_to_str_no_malloc/2 2021-03-14 18:21:45 +02:00
Delyan Angelov b6d089b605
v.depgraph: ensure `v -d debug_realloc -o v cmd/v` works 2021-03-14 16:15:33 +02:00
Enzo db152868c0
fix: fix infering int and float literal in generic fn calls (#9287) 2021-03-14 15:00:47 +02:00
yuyi c0779e8455
cgen: fix return_statement generated redundant `;` (#9299) 2021-03-14 14:58:17 +02:00
Delyan Angelov 125be84e3d
builtin: fix `-d debug_realloc`, add realloc_data/3 2021-03-14 14:54:35 +02:00
Delyan Angelov ddbe57e00a
v test-cleancode: ensure more .v files are kept vmft-ed 2021-03-14 12:17:31 +02:00
spaceface eebc8a9d7a
builtin: cleanup option names (part 2) (#9294) 2021-03-14 12:11:52 +02:00
zakuro 8dc0e4d150
v.scanner: decode \uXXXX in scanner (#9298) 2021-03-14 12:09:17 +02:00
Delyan Angelov 69f1e7c9c3
v: fixes for `v -autofree -o v2 cmd/v` 2021-03-14 09:37:38 +02:00
Leah Lundqvist 64d0006ff9
jsgen: fix string and array for loops and improve casting (#9295) 2021-03-14 08:20:01 +02:00
Nick Treleaven df46fe1373
builder: warn when using tcc with -prod (#9288) 2021-03-14 01:55:14 +01:00
spaceface 9ed9e7aff0
builtin: cleanup option names (part 1) (#9293) 2021-03-14 01:54:46 +01:00
yuyi 5a6b321656
cgen: format if_guard_expr generated c codes (#9290) 2021-03-14 01:54:05 +01:00
spaceface e9797c618a
all: implement error interfaces (#9291) 2021-03-13 18:13:50 +01:00
Alexander Medvednikov 167dcc415d tests: fix a generic init test 2021-03-13 18:46:02 +03:00
Alexander Medvednikov f86233c41f autofree: fix [manualfree] 2021-03-13 18:43:02 +03:00
Alexander Medvednikov 2f1810634e checker: do not allow direct initialization of builtin types (s := string{}) 2021-03-13 18:20:46 +03:00
Lukas Neubert f648e3f10d
fmt: use iembed cmts in arrays at line start when exprs come afterwards (#9285) 2021-03-13 09:58:50 +02:00
Ulises Jeremias Cornejo Fandos 5e02f6358c
math: add a test suite taken from vsl/vmath (#9280) 2021-03-13 09:05:02 +02:00
Nick Treleaven c06e58d418
gen: fix generating `$if expr || expr` (#9270) 2021-03-13 08:45:50 +02:00
Lukas Neubert fecf4a6f58
os: fix rmdir_all panic with hidden dirs (#9271) 2021-03-13 08:43:38 +02:00
Andréas Livet 603012be94
gg: add draw_image_part (#9277) 2021-03-13 08:39:10 +02:00
Vitalie Lazu cccca51788
pg: support for copy sql commands (#9272) 2021-03-13 08:06:53 +02:00
zakuro 00dedaf6c1
scanner: replace ascii unicode(\u0020) with hex(\x20) (#9259) 2021-03-13 08:02:42 +02:00
Subhomoy Haldar 08da33fa5a
rand: add non uniform distributions in the `rand.dist` module (#9274) 2021-03-12 21:24:43 +02:00
Delyan Angelov 0c33656a19
ci: fix failing option_print_errors_test.v 2021-03-12 20:36:19 +02:00
spaceface be409b52e9
builtin: prepare for error interfaces (#9043) 2021-03-12 20:05:05 +02:00
Delyan Angelov c474106511
cgen: fix match expression with complex boolean conditions 2021-03-12 19:55:33 +02:00
StunxFS 3cb1bb7c36
checker: check the amount of parameters passed to `json.decode()` (#9267) 2021-03-12 19:02:09 +02:00
StunxFS 90d942e2ec
os: add missing '.exe' in os_test.v (#9269) 2021-03-12 18:05:29 +02:00
Nick Treleaven 9db8a61b92
checker: disallow array append in an expression (#9265) 2021-03-12 16:09:01 +01:00
Uwe Krüger dbbf96702b
checker: require `shared a` to be `rlocked` to read `a[i]` or `a.e` (#9266) 2021-03-12 16:08:39 +01:00
Delyan Angelov def53fd73f
os: prevent os.exists_in_system_path() from panicing 2021-03-12 17:05:26 +02:00
Delyan Angelov 995db65471
os: fix os.cp_all, by making the dst folder, if it does not exist already 2021-03-12 16:29:27 +02:00
Nick Treleaven e229d0c1c3
checker: improve error message for invalid property (#9263) 2021-03-12 14:18:52 +02:00
Nick Treleaven 3be78d6777
parser: require anonymous fn to use `_` for unused parameters (#9262)
Fixes a C error with gcc.
2021-03-12 14:17:37 +02:00
yuyi 504b87bcfd
checker: minor cleanup in if_expr() (#9258) 2021-03-12 13:40:05 +02:00
Lukas Neubert cfbb783649
fmt: fix linebreak in non-block consts (#9260) 2021-03-12 12:27:05 +02:00
Lukas Neubert a67d49050c
math: add a pure V `math.mathutil`, with generic `min`, `max` and `abs` functions (#9176), and use it consistently 2021-03-12 11:28:04 +02:00
Alexander Medvednikov 530b981765 vweb: mark send_response_to_client with [manualfree] 2021-03-12 01:11:43 +03:00
Lukas Neubert c40ab0db72
fmt: fix removal of attrs with comments afterwards (#9255) 2021-03-11 21:44:33 +01:00
StunxFS 04c4f16f75
checker: minor changes to `Checker.hash_stmt()` (#9249) 2021-03-11 21:43:42 +01:00
StunxFS 8f08795689
checker: warn/error about empty const blocks (#9252) 2021-03-11 21:43:04 +01:00
yuyi 9fbb139e29
checker: check map copy error in fn_mut_arg (#9242) 2021-03-11 15:19:36 +01:00
Miccah f26d2f02b7
ast, cgen, checker, parser: support method arguments in comptime $for (#9208) 2021-03-11 15:04:34 +02:00
StunxFS 8de6511056
cgen: minor optimization to `for ch in "StringLiteral"` (#9240) 2021-03-11 15:01:53 +02:00
yuyi a547e889af
checker: check array literal modify error (#9243) 2021-03-11 14:57:04 +02:00
Lukas Neubert f69cef397c
fmt: do not insert a space before struct declaration generics (#9239) 2021-03-11 14:54:40 +02:00
spaceface 7d0cba5e96
v.ast: remove the `stmt.position()` method (#9233) 2021-03-11 14:50:02 +02:00
Delyan Angelov 6628bbc690
cgen: use the new __offsetof_ptr macro 2021-03-11 13:14:36 +02:00
Delyan Angelov 144546543c
cgen: add the __offsetof_ptr C macro 2021-03-11 13:08:45 +02:00
Delyan Angelov 5a231326d7
parser: improve syntax errors in module declarations 2021-03-11 10:42:36 +02:00
StunxFS 6a7ef4f5b2
v.scanner: fix position of hash statements (#9222) 2021-03-10 20:23:17 +02:00
penguindark c554e0b33d
gg.m4: fix a bug on translate, remove abs fn (#9224) 2021-03-10 20:20:17 +02:00
zakuro f280a5c230
checker: extract into call_array_builtin_method to cleanup (#9225) 2021-03-10 20:19:39 +02:00
zakuro ef73e07e62
checker: split fn_decl into functions to cleanup (#9226) 2021-03-10 20:18:48 +02:00
zakuro 791dec7b01
v: support `$if prod` (#9228) 2021-03-10 19:26:34 +02:00
Enzo 99abd46ac9
os: add `(read|write)_raw[_at]` to File (#9171) 2021-03-10 18:45:12 +02:00
Swastik Baranwal 8d84206a8c
cgen: fix match for one branch (#9234) 2021-03-10 18:44:32 +02:00
spaceface eefdad21c7
cgen: cleanup interface/sumtype casts (#9221) 2021-03-10 18:41:11 +02:00
Larpon 0a39c2b9ea
gg: expand C.ANativeActivity struct definition (#9231) 2021-03-10 18:38:20 +02:00
yuyi a187a4abb3
checker: check non-optional fn return or_block (#9227) 2021-03-10 12:53:23 +01:00
Delyan Angelov 0d2bb714bc
checker: disallow `x := [13]SumType{}` too 2021-03-10 11:07:36 +02:00
Delyan Angelov f5ebfefdc9
ci: use a smaller fixed size array for the const eval test (fixes failing windows job) 2021-03-10 10:40:41 +02:00
Joe Conigliaro fd2845e955
v.util: change naming behaviour for modules relative to working dir. closes #9138 2021-03-10 16:28:06 +11:00
Delyan Angelov 96a9e16e64
checker: allow `a := [5*kb]byte{}` where `kb` is a compile time known const too 2021-03-09 20:21:36 +02:00
Delyan Angelov 26cfd0eda9
checker: eval `const a = 1024 * 1024` and other simple integer expressions at compile time 2021-03-09 20:07:08 +02:00
spaceface f1469a8761
checker: allow accessing fields common to all sumtype members (#9201) 2021-03-09 19:16:18 +02:00
yuyi c4b0fdcbaf
cgen: fix for_in fixed_array of fixed_array literal (#9206) 2021-03-09 16:18:07 +02:00
yuyi e67ce5ea7b
cgen: fix error of alias interpolation (#9209) 2021-03-09 13:25:31 +02:00
Ned Palacios 114a7db6e5
vdoc: fix symbol filtering (#9210) 2021-03-09 13:05:50 +02:00
zakuro 00399b49ab
v.util: add util.tabs() (#9211) 2021-03-09 13:03:25 +02:00
yuyi fbc02cbc54
csv: fix reader_test.v (#9204) 2021-03-09 03:53:02 +01:00
Vassilis Panagiotopoulos b893373e63
cgen: make .alias fields in structs use their proper string format, instead of the default %d (#9197) 2021-03-08 23:36:59 +02:00
Delyan Angelov d7049ae2da
os: deprecate os.exec (returning ?os.Result), in favour of os.execute, which returns os.Result (#8974) 2021-03-08 20:52:13 +02:00
yuyi 10c9f61d61
checker: check empty map invalid syntax (fix #9162) (#9186) 2021-03-08 19:48:17 +02:00
StunxFS 9a7d9e047b
dl: move 'example' to 'examples/dynamic_library_loading' (#9187) 2021-03-08 18:21:43 +02:00
Taegon Kim 4d24cb0158
darwin: fix the C. function declarations (#9194) 2021-03-08 17:18:26 +02:00
yuyi b64d781a20
csv: fix error of read() (#9193) 2021-03-08 16:57:02 +02:00
yuyi 568faeed77
cgen: add `expr_string() and remove redundant codes (#9188) 2021-03-08 12:46:39 +02:00
yuyi f2e570d63c
tests: add `for` tests of labelled continue and break (#9189) 2021-03-08 12:45:12 +02:00
Delyan Angelov 33bd22eda9
vlib/v/gen/tests: remove obsolete generation tests (used during the AST migration from v1 to v2) 2021-03-07 18:47:58 +02:00
pancake ed9ca0b7bd
build: add address sanitizer make target (#9044) 2021-03-07 16:44:54 +01:00
zakuro 4c3ce97763
parser: fix Enum.value when Enum is an imported symbol (#9046) 2021-03-07 16:44:38 +01:00
Miccah a1e0f2bc46
gen: add argument names to compile-time method struct (#9174) 2021-03-07 14:28:43 +01:00
yuyi 1b47e2953d
checker: check undefined ident of struct (#9164) 2021-03-07 14:09:38 +01:00
Delyan Angelov f1c4e962f4
tests: add tests for `-d debug`, `-cg`, `-g` in combination for `[if debug]fn` etc 2021-03-07 12:42:30 +02:00
Delyan Angelov 64bc2fb40a
v: fix `[if debug] fn abc(){} ... abc()` 2021-03-07 12:05:07 +02:00
Delyan Angelov c15de57f0f
tests: simplify the profile_test.v example program to not use `net`
(avoids unrelated openssl dependency)
2021-03-07 12:05:06 +02:00
Delyan Angelov d0b89c5675
tests: rename for_c_multi_vars.v to for_c_multi_vars_test.v 2021-03-07 12:05:06 +02:00
nyx-litenite a902178fdb
arrays: implement python-inspired array zip function and test (#8667) 2021-03-07 11:58:13 +02:00
yuyi 82085b0140
cgen: fix for_in map of fixed_array (#9133) 2021-03-07 11:41:08 +02:00
zakuro 45d51c76da
v.util: add an iabs(x) helper (#9172) 2021-03-07 11:24:05 +02:00
Lukas Neubert 6048d0e974
fmt: fix backslash doubling in attribute string args (#9175) 2021-03-07 09:44:58 +02:00
Lukas Neubert 053d6870d2
fmt: respect user choice of empty lines between type declarations (#9135) 2021-03-06 21:05:55 +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
Lukas Neubert 043c29cf95
fmt: fix string interpolation with CastExpr (#9137) 2021-03-06 20:47:19 +02:00
Bartimus ce92bf8da0
os.File: add .read_struct_at and .write_struct_at (#9114) 2021-03-06 20:44:53 +02:00
zakuro 7333b1706c
checker: minor cleanup: clear_flag(.optional) in check_expr_opt_call (#9139) 2021-03-06 20:42:34 +02:00
zakuro b83530e0ed
fmt: extract part of fmt.v into struct.v (#9141) 2021-03-06 20:40:44 +02:00
Lukas Neubert 7f7f9dca6b
parser,fmt: fix regression with non-void arrays in if conditions (#9161) 2021-03-06 20:39:38 +02:00
Delyan Angelov 849cde245c
v: support dump(expr) (#9160) 2021-03-06 18:09:28 +01:00
penguindark 270df58057
gg.m4: fixed some bugs, added ortho projection (#9140) 2021-03-06 12:14:43 +02:00
yuyi c802515e71
cgen: minor optimization in gen_code buffer init (#9143) 2021-03-06 12:03:38 +02:00
R cqls 204f57d227
os: update C apis used in os_android.c.v (#9134) 2021-03-05 19:20:11 +02:00
Larpon 07a1a9b84d
builtin: use fprintf to print to stderr on Android (#9130) 2021-03-05 19:12:42 +02:00
Delyan Angelov fa530683c7
v: fix warnings for `v self` 2021-03-05 17:24:00 +02:00
Alexander Medvednikov 845e8decce x64: basic mach-o and arm64 support 2021-03-05 17:52:39 +03:00
Joe Conigliaro 818be80581
parser: fix [] in if expr. closes #9131 2021-03-06 01:43:34 +11:00
joe-conigliaro 2d73411396
checker: define missing C fn args & check C & JS args (#8770) 2021-03-05 17:41:11 +03:00
Lukas Neubert ead2ba6004
fmt: proper single line check for ConcatExpr (#9121) 2021-03-05 15:36:49 +03:00
yuyi cbbfb460a7
cgen: fix for_in fixed_array (#9129) 2021-03-05 15:35:09 +03:00
zakuro 9ba312066e
fmt: extract type decls code into functions to cleanup (#9126) 2021-03-05 15:34:51 +03:00
Delyan Angelov 0f042124cb
tests: support `fn test_fn() ? { opt()? }` 2021-03-05 14:18:21 +02:00
yuyi f4c03e8ed8
cgen: minor optimization in for_in_array (#9127) 2021-03-05 07:58:09 +02:00
Lukas Neubert 80356edd8c
fmt: combine simple attributes into a single line (#9120) 2021-03-05 07:17:57 +02:00
Gal Pasternak 208cabc994
checker: fix generic type ignores implemented interface (#9124) 2021-03-05 06:59:18 +02:00
Alexander Medvednikov 7446d8dc44 strings: test Builder's cut_last on windows 2021-03-04 20:35:17 +03:00
Miccah 709d7460de
vweb: refactor form parsing and add tests (#9051) 2021-03-04 18:00:03 +02:00
Delyan Angelov 6da66226e5
vfmt: keep `mut:` in interface declarations (#9053) 2021-03-04 15:30:30 +02:00
zakuro 4f02da00ba
checker: check arguments count of sort (#9105) 2021-03-04 15:22:47 +02:00
Leah Lundqvist 65e888230a
jsgen: object equality checks, optimise casting and start builtin implementation (#9068) 2021-03-04 14:02:16 +01:00
Delyan Angelov 5e0e44eb69
os: move file methods to vlib/os/file.c.v, document them, add new file.read_struct and file.write_struct and tests 2021-03-04 14:54:39 +02:00
yuyi 6097045b46
cgen: minor cleanup of cgen.v (#9108) 2021-03-04 14:40:57 +02:00
pancake c65d65a3f5
v: use dash instead of lowerdash for -print-v-files (#9111) 2021-03-04 14:38:05 +02:00
Delyan Angelov eb1e1afbc1
ci: fix failing fn_trailing_arg_syntax_keep.vv 2021-03-04 13:05:14 +02:00
yuyi 7c893895d8
cgen: minor cleanup in infix_expr() (#9086) 2021-03-04 12:50:18 +02:00
zakuro 6b2c7fd53e
fmt: remove tail space when using multiline short arg (#9110) 2021-03-04 12:44:50 +02:00
Lukas Neubert 8ce53b8b55
fmt: prevent code corruption with struct update syntax as trailing function arg (#9091) 2021-03-04 12:44:17 +02:00
Lukas Neubert 28fc91acb7
fmt: minor cleanups (#9090) 2021-03-04 12:43:11 +02:00
spaceface 7663f826e5
cgen: add auto str method generation for interfaces (#9095) 2021-03-04 12:41:42 +02:00
yuyi 5f9af3f594
cgen: fix for_in array of fixed_array (fix #9098) (#9099) 2021-03-04 12:39:39 +02:00
zakuro 5b041db442
fmt: don't prepend mod when cast with selective imported types (#9109) 2021-03-04 12:33:52 +02:00
James Addison a64d9b3e12
termui: add show_cursor() and hide_cursor() (#9087) 2021-03-04 12:31:26 +02:00
zakuro 9bb073580e
checker: replace checking type exists with c.ensure_type_exists (#9100) 2021-03-04 12:28:48 +02:00
yuyi 2870a5a63a
vrepl: fix array_filter (#9104) 2021-03-04 12:24:14 +02:00
yuyi 2b9ffbda42
cgen: fix array_sort by different order of a/b (#9106) 2021-03-04 11:19:02 +01:00
Larpon d08f994e19
clipboard: ensure public method access after #9062. Fixes #9089 (#9107) 2021-03-04 10:49:40 +02:00
Delyan Angelov 2bfa6dfe2f
io: fix not reading the last byte of a stream with `.read(mut buf)` 2021-03-04 08:59:48 +02:00
Lukas Neubert 0f8f8bd90d
fmt: force empty lines after struct declarations and most functions (#9096) 2021-03-03 23:56:40 +01:00
Enzo 3e5a0dfc94
time: minor cleanup of operators (#9097) 2021-03-03 23:56:14 +01:00
yuyi 822d20d2cc
cgen: minor simplification of struct zero init (#9085) 2021-03-03 16:03:50 +01:00
Patrick Hintermayer 38495da07e
docs: add a basic vweb getting started example (#9073) 2021-03-03 14:39:04 +02:00
yuyi 6825b4cb30
cgen: format if_expr generated c codes (#9084) 2021-03-03 14:33:00 +02:00
Subhomoy Haldar a5dd7faf3c
rand: add PRNG interface and unit-tests (#9083) 2021-03-03 13:41:00 +02:00
Nick Treleaven 412c17ccda
checker: check private built-in methods are not accessible (#9062) 2021-03-03 11:12:50 +02:00
Nick Treleaven bd6693efb8
gg/m4: fix unnecessary uses of [direct_array_access], add [unsafe] (#9059) 2021-03-03 10:20:13 +02:00
Lukas Neubert 460e06b9ff
fmt: do not insert a newline before returned $vweb.html() (#9063) 2021-03-03 10:14:05 +02:00
yuyi 97f9abcf82
cgen: fix anon_fn in containers (#9077) 2021-03-03 10:12:08 +02:00
Uwe Krüger dd475f4e37
checker/cgen: enable `IfGuardExpr` for `a[k]` and `<-ch` (#9065) 2021-03-03 10:10:38 +02:00
StunxFS dad7c40306
checker: minor cleanup in `call_method` (#9066) 2021-03-03 10:07:16 +02:00
Delyan Angelov 094936d764
ci: reduce chances of false positives from vweb_test.v on macos 2021-03-03 10:04:12 +02:00
zakuro c74fa9e471
checker: correct pos for type error of `if v is interface` (#9080) 2021-03-03 09:23:39 +02:00
Lukas Neubert 8a0b5bad94
fmt: keep empty lines in const blocks (#9071) 2021-03-03 09:23:11 +02:00
Delyan Angelov b89c6d7826
Revert "rand: use static instead of __global (#9057)"
This reverts commit ec2f731801.
2021-03-03 08:36:56 +02:00
Delyan Angelov ec2f731801
rand: use static instead of __global (#9057) 2021-03-03 07:47:47 +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
StunxFS 0dafdb4cde
dl: minor improvement of get_shared_library_extension (#9070) 2021-03-02 21:38:32 +02:00
Miccah b3a31e7626
vweb: add test for 0 Content-Length hang (#9069) 2021-03-02 21:31:57 +02:00
Delyan Angelov cd423251da
vweb: add .mount_static_folder_at/2 , use it instead of app.handle_static in the server_sent_events example 2021-03-02 21:30:18 +02:00
Delyan Angelov eb4c60877e
vweb: fix timeouting after 30 seconds, when a request with `Content-Length: 0` was processed 2021-03-02 21:02:44 +02:00
Delyan Angelov 488848e904
builtin: simplify copy/2 2021-03-02 18:14:42 +02:00
Delyan Angelov d0e8e8f178
checker: add error for `print( voidfn() )` 2021-03-02 17:54:38 +02:00
yuyi 62ccd740f0
cgen: minor perf fix in index_expr() (#9054) 2021-03-02 12:28:26 +01:00
Delyan Angelov 31321b68ea
v: show help for -h, -help, and --help, in addition to `v help` 2021-03-02 12:22:10 +02:00
yuyi 81dbd72412
cgen: fix anon_fn in containers (fix #8965) (#9049) 2021-03-02 10:26:27 +02:00
Joe Conigliaro 01735c67c6
cgen: fix duplicate method wrapper from interface method call. closes #9018 2021-03-02 19:15:49 +11:00
spaceface 2b53992c01
checker, cgen: allow implementing an interface with an embedded struct (#9042) 2021-03-01 21:47:00 +01:00
yuyi 65900e55e3
cgen: fix if_expr of multi-stmts optional (#9039) 2021-03-01 21:39:04 +01:00
Nick Treleaven dc04c3196b
builder: fix detecting duplicate functions (#9033) 2021-03-01 21:38:31 +01:00
yuyi 6d77594409
cgen: merge cc_type and cc_type2 (#9036) 2021-03-01 21:36:58 +01:00
zakuro db9b523cc9
utf8: deprecate utf8.char_len (#9008) 2021-03-01 15:35:57 +02:00
yuyi f9c8d3d25c
cgen: fix return if true { 0 } else { none } (fix #9005) (#9030) 2021-03-01 13:56:07 +01:00
Miccah d0fab60981
vweb: refactor routing logic (#9025) 2021-03-01 11:50:52 +01:00
makino 8045395cbd
net: document pub structs & functions in http/http.v (#9016) 2021-03-01 10:48:38 +01:00
Ned Palacios ee879f3e41
x.json2: proper string encoding + minor fixes (#9026) 2021-03-01 10:22:36 +01:00
Anton Zavodchikov 506041a15b
tmpl: fix doubling templates folder path and enhancements (#9029) 2021-03-01 11:15:59 +02:00
spaceface 15896beace
cgen: scope `$for` fields/methods independently (#9017) 2021-03-01 01:01:56 +01:00
spaceface b712af56fd
all: bring back `panic(err.msg)` -> `panic(err)` (#9022) 2021-03-01 00:18:14 +01:00
zakuro ce115dcbe0
builtin: correct error underline for unicode wide chars (#9010) 2021-03-01 00:18:02 +01:00
Uwe Krüger e937d6249c
cgen: fix various issues concerning optionals (#9021) 2021-02-28 23:21:03 +01:00
spaceface d7252f4474
builtin: allow passing any argument type to `panic` (#9020) 2021-02-28 22:57:18 +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
Delyan Angelov e354dcefc2
fmt: fix support for `mut static x := 42` 2021-02-28 19:40:21 +02:00
Delyan Angelov 4076e8eaa0
tmpl: add a tmpl_all_in_one_folder.vv test; fix for static_vars_in_translated_mode.vv 2021-02-28 19:14:19 +02:00
Delyan Angelov e564269477
ci: fix static_vars_in_translated_mode.vv 2021-02-28 18:55:25 +02:00
Delyan Angelov 5e87eeb864
tmpl: support for `@include 'file.md'` as well as paths != templates/ 2021-02-28 18:52:31 +02:00
Delyan Angelov 4125bfe401
all: fix references to time.wait -> time.sleep 2021-02-28 18:01:31 +02:00
Delyan Angelov bdce35fd9c
parser: support `static x := 42` in [unsafe] functions too 2021-02-28 14:32:46 +02:00
Delyan Angelov 276c08e7f7
fmt: support static too 2021-02-28 13:08:16 +02:00
Miccah 7e08e84bc1
vweb: refactor HTTP request parsing (#8874) 2021-02-27 23:18:25 +01:00
Miccah 2f9687d29b
net: add HTTP Header struct and methods (#8991) 2021-02-27 22:54:27 +01:00
penguindark 1d69a0bd22
gg: window_size_real_pixels that for 3D without dpi scaling (#9004) 2021-02-27 22:11:26 +01:00
Patrick Hintermayer ae01b480c4
docs: ROADMAP.md instead of roadmap.txt (#9002) 2021-02-27 21:18:47 +03:00
Delyan Angelov 20f9bdfa8e
os: fixes for os.input(), os.get_raw_stdin(), os.get_raw_line() in case of stdin EOF 2021-02-27 20:02:36 +02:00
Alexander Medvednikov e6b4f9ff09 time: fix sleep() on windows 2021-02-27 20:53:27 +03:00
Alexander Medvednikov 3a2d696fac time: time.wait() => time.sleep() 2021-02-27 20:41:06 +03:00
Alexander Medvednikov be4a2e17d3 cgen: always use tmp vars in return_statement() 2021-02-27 20:00:19 +03:00
Alexander Medvednikov d39866d4f7 cgen: optionals/autofree fixes 2021-02-27 17:11:30 +03:00
Delyan Angelov efca21e988
math: cleanup math.v, document math.aprox_cos and math.aprox_sin 2021-02-27 11:18:43 +02:00
Nick Treleaven a1244a9f5f
checker: check that the module `init` fn, should have no params, and no return type (#8988) 2021-02-27 11:11:20 +02:00
zakuro d0a64f2da7
net/openssl/websocket: implement io.Writer (#8980) 2021-02-27 10:29:18 +02:00
Uwe Krüger f67bff1696
all: support `thread` handles and `wait()` for functions returning optionals (#8990) 2021-02-27 10:16:55 +02:00
Nick Treleaven aed348fb80
os: tag some File methods that take voidptr as unsafe - write_bytes, write_bytes_at (#8985) 2021-02-27 10:11:17 +02:00
zakuro 1fd0aceb42
parser: imporve generics detection (#8992) 2021-02-27 10:07:18 +02:00
Delyan Angelov a9e9079e48
gg: make .set_cfg public 2021-02-27 09:15:39 +02:00
Nick Treleaven 23f231ee61
builtin: tag array methods unsafe: *_many, grow_len, pointers (#8983) 2021-02-26 22:55:09 +01:00
Nick Treleaven 8874379c48
checker: check left selector expression in `$if left is right` (#8987) 2021-02-26 21:51:35 +01:00
spaceface 51fae95339
cgen: move the condition of an iterator to a temp var (#8989) 2021-02-26 21:51:01 +01:00
Nick Treleaven 4ad95cfeaf
checker: check types with $for/$if introspection (#8984) 2021-02-26 15:26:50 +01:00
Delyan Angelov 1a8ff9d7dd
v.gen.c: ensure that @continue is escaped in the generated C code 2021-02-26 10:22:35 +02:00
zakuro 995bd66970
encoding.utf8.east_asian: add support for East_Asian_Width (#8978)
See https://www.unicode.org/reports/tr11/
2021-02-26 09:52:07 +02:00
yuyi 524372d49c
parser: fix incorrect comments of expr() (#8979) 2021-02-26 09:21:58 +02:00
zakuro 89c82ff8e2
parser: treat f<mod.Type> as generic call not `<` operator (#8938) 2021-02-26 09:05:00 +02:00
Lukas Neubert 5aebd646bb
fmt: keep some line comments in multi line arrays (#8969) 2021-02-26 09:01:03 +02:00
Lukas Neubert 2c609411dd
fmt: do not write single line or blocks with multi line stmts (#8952) 2021-02-26 08:41:24 +02:00
Ned Palacios 8dff168e01
x.json2: create custom scanner for scanning JSON (#8716) 2021-02-26 08:36:02 +02:00
Nick Treleaven 59d4d0ef1d
checker: detect unknown type to iterate with $for (#8971) 2021-02-26 08:28:19 +02:00
Nick Treleaven 3a082621c9
checker: add a check for casting to an unknown type (#8968) 2021-02-26 08:26:36 +02:00
zakuro bc0507590e
crypto: make digest implement io.Writer (#8975) 2021-02-26 08:24:47 +02:00
Miccah d81b6e7805
encoding.base64: change base64 function signatures to use `[]byte` (#8970) 2021-02-26 08:22:12 +02:00
Nick Treleaven c03798e390
checker: disallow implicit conversion from fixed array to fooptr (#8823) 2021-02-26 00:28:47 +01:00
Delyan Angelov 639061be6c
examples: fix left/right arrows in examples/term.ui/text_editor.v 2021-02-25 21:01:27 +02:00
yuyi c7587c0760
cgen: minor cleanup in for_in_stmt() (#8962) 2021-02-25 13:24:42 +01:00
StunxFS 2e381f427a
net.html: use `or {}` in .writeln() method calls (fix #8942) (#8953) 2021-02-25 13:24:30 +01:00
Ruofan XU 1a8e502e2c
ci: add tcc32 CI on windows (#8922) 2021-02-25 12:52:12 +01:00
yuyi c762d150c6
cgen: fix anon_fn redefinition (#8961) 2021-02-25 12:16:35 +01:00
Delyan Angelov fdc60817d3
sync: fix compilation on latest linux distros (having only gcc-10) with tcc 2021-02-25 12:35:27 +02:00
Lukas Neubert e4beea4268
fmt: restructure comment line break logic inside arrays (#8963) 2021-02-25 11:10:54 +01:00
Delyan Angelov 77b3440e44
builder: make C compilation retrying more uniform 2021-02-25 11:56:54 +02:00
Lukas Neubert 7e27920cf7
fmt: fix inserted empty line before go stmt with anonymus function (#8951) 2021-02-25 01:30:04 +01:00
Uwe Krüger 12a4e7ad90
cgen: fix `type_to_fmt()` for `i64` and `u32` (#8954) 2021-02-25 01:29:44 +01:00
Nick Treleaven 57d1b5b74d
checker: show position for variadic/shared/method argument errors (#8939) 2021-02-24 19:35:32 +01:00
yuyi 3c94a79375
cgen: minor cleanup in gen_assert_xxx() (#8943) 2021-02-24 19:35:11 +01:00
Lukas Neubert 8e69d3629f
parser,fmt: refactor array comment handling to fully rely on the ecmnts field (#8929) 2021-02-24 19:33:59 +01:00
Lukas Neubert b18d091e18
fmt: fix pos of added imports (#8931) 2021-02-24 19:33:17 +01:00
Lukas Neubert e53476d5e1
fmt: do not remove chan type of struct fields (#8948) 2021-02-24 20:26:12 +02:00
Delyan Angelov 1c0eefae38
parser/scanner: replace p.peek_tok2/3 with p.peek_token(2/3) (#8946) 2021-02-24 21:03:53 +03:00
yuyi 1dd1be4400
cgen: fix if_expr with array.map (fix #8925) (#8937) 2021-02-24 15:06:29 +02:00
yuyi 05a08530ff
cgen: implement for_stmt of multi_init_vars or multi_assign_vars (#8917) 2021-02-24 14:58:45 +02:00
StunxFS 0fa2f6d52c
dl: make vdoc ignore submodule "example" (#8927) 2021-02-23 18:32:48 +02:00
Delyan Angelov ecef42832a
tests: make profile_test.v more robust 2021-02-23 18:30:53 +02:00
yuyi 302baaa7b4
cgen: fix error of match in fn_call (#8900) 2021-02-23 09:53:07 +02:00
Lukas Neubert 51125541c7
parser: fix weird minus after comment parse error in arrays (#8912) 2021-02-23 09:51:00 +02:00
StunxFS fcc2094719
dl: add `get_libname` function (#8909) 2021-02-23 09:46:28 +02:00
StunxFS fd59182659
szip: fix doc-comments (#8911) 2021-02-23 09:43:19 +02:00
zakuro c113abe1a4
strings: make builder implement io.Writer (#8914) 2021-02-23 09:42:48 +02:00
Uwe Krüger 5674d46965
table,cgen: fix bug preventing `t := []thread{}` to compile (#8913) 2021-02-23 09:37:29 +02:00
spaceface b4dc6c83cd
gg: handle Android's own native dpi scaling factor (#8908) 2021-02-22 21:24:18 +02:00
Emily Hudson 79edff5c6c
gen: correct indirection difference between reciever and object (#8903) 2021-02-22 20:41:25 +02:00
StunxFS d78c9476e9
szip: use enums instead of constants (#8905) 2021-02-22 20:02:45 +02:00
R cqls 68972fcec6
gg: ensure window_size does not do / 0 (#8907) 2021-02-22 19:00:10 +02:00
spaceface 8033203ef6
builtin: add an Option2 struct (#8890) 2021-02-22 18:44:15 +02:00
Lukas Neubert 18aecde9e5
fmt: cleanup comments code (#8901) 2021-02-22 18:43:54 +02:00
Lukas Neubert 7f6c4caa01
fmt: fix missing space after single line array pre comments (#8904) 2021-02-22 17:53:55 +02:00
Delyan Angelov fb028abc71
net.unix: make unix_test.v more robust 2021-02-22 17:48:31 +02:00
Delyan Angelov fba28d2dcc
ci: increase the timeout for test_os_process (false positives on macos) 2021-02-22 17:24:52 +02:00
Delyan Angelov b01a302a4e
net.http: fix compilation of trivial examples with `v -cflags -Werror` 2021-02-22 17:11:02 +02:00
Delyan Angelov 7c97b0b24d
gitly: fix compilation with -autofree 2021-02-22 17:00:48 +02:00
Delyan Angelov 467dce6be6
v.table: minimize re-allocations on << to table.types 2021-02-22 16:24:57 +02:00
yuyi 7a6fd359d0
checker: check fn_variadic with array_decompose (#8894) 2021-02-22 14:26:54 +01:00
Delyan Angelov 0029d3ca76
ci: fix test-cleancode 2021-02-22 15:22:51 +02:00
Uwe Krüger 5306b2788c
all: extend `wait()` method to array of `thread` handles (#8840) 2021-02-22 15:08:52 +02:00
StunxFS ac1c4932e7
szip: change documentation style (#8883) 2021-02-22 14:59:36 +02:00
Swastik Baranwal b2cdd2cac0
net.http: use .filter in sanitize/2 (#8899) 2021-02-22 14:58:48 +02:00
spaceface 1658c4789f
cgen: fix `match`ing interface types (#8889) 2021-02-22 14:55:43 +02:00
Nick Treleaven 15daeaeafa
cgen: add fixed array bounds checking for non-literal index (#8832) 2021-02-22 14:54:24 +02:00
Nick Treleaven 59446d7051
cgen: use `(void)` parameter list instead of `()` for type safety (#8898) 2021-02-22 14:48:32 +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
Lukas Neubert 9dc770e29c
fmt: do not struggle with comments inside maps (#8897) 2021-02-22 13:04:48 +02:00
Delyan Angelov 5d653a37b6
os: make process_test.v more portable (prepare for windows) 2021-02-22 09:42:00 +02:00
Delyan Angelov c37daba41d
ci: fix the remaining obsolete reference to time.sleep and time.usleep 2021-02-22 09:12:23 +02:00
Delyan Angelov da05c7ed1a
ci: fix a deprecation time.sleep warning in `clipboard` 2021-02-22 09:00:30 +02:00
Delyan Angelov 9ab291319c
builder: fix thirdparty object files compilation with tcc (no -lxyz with -c) 2021-02-22 08:18:24 +02:00
Lukas Neubert f18adf7759
parser,fmt: handle array pre-comments separately from exprs (#8884) 2021-02-21 20:18:19 +02:00
Lukas Neubert 18e88d2fc8
test-cleancode: add more of vlib/v (#8882) 2021-02-21 20:17:12 +02:00
Louis Schmieder 7a35131721
vweb: add handle static root & documentation (#8865) 2021-02-21 20:01:29 +02:00
yuyi 1a838b1f43
checker: fix error of match in map_init (fix #8579) (#8879) 2021-02-21 17:09:42 +02:00
zakuro ac4791045f
time: consolidate the different sleep functions into time.wait(Duration) (#8853) 2021-02-21 17:05:03 +02:00
Delyan Angelov b1209aac1b
ci: fix building of vlib/x/websocket/websocket_test.v 2021-02-21 17:03:25 +02:00
Delyan Angelov f2ce72c2bf
ci: split the websockets tests into their own CI .yml file 2021-02-21 16:35:27 +02:00
zakuro 95e5f68b64
cli: don't sort flags / commands by default (#8813) 2021-02-21 16:17:50 +02:00
spaceface 260f677469
term.ui: use the new `[flag]` enums (#8881) 2021-02-21 16:07:49 +02:00
Joe Conigliaro 0470baafa6
cgen: fix duplicate optional generation for struct field 2021-02-22 00:00:39 +11:00
Delyan Angelov 514cabd7c8
strings: cleanup strings builder, allow reusing it 2021-02-21 13:34:29 +02:00
yuyi 6e46f3850c
ast: change `expr.is_mut_ident()` to `expr.is_auto_deref_var()` (#8869) 2021-02-21 12:15:36 +02:00
zakuro 7928689ee2
parser: set is_public when registering enum type symbols (#8875) 2021-02-21 12:13:52 +02:00
yuyi 9a744b6750
cgen: fix in map_literal (fix #8868) (#8871) 2021-02-21 11:54:30 +02:00
yuyi e106dc3ad5
cgen: fix match_return with complex expr stmts (#8876) 2021-02-21 11:47:46 +02:00
Stanislav Ershov 44177c4e7c
builder: use stable MSVC version instead preview (#8867) 2021-02-21 00:00:44 +02:00
Nicolas Sauzede f67a4c3ee0
checker, cgen: allow | between bitfield enum values, autogenerate a more specific .str method for them too (#8856) 2021-02-20 21:51:54 +02:00
penguindark cc565b22a9
regex: remove [deprecated] functions/methods, code clean, add test for regex_base (#8862) 2021-02-20 21:39:08 +02:00
yuyi 8f486cb8cf
ast: minor cleanup of ast.v (#8859) 2021-02-20 20:50:43 +02:00
Stanislav Ershov c190b6a131
vlib: remove older deprecated functions (#8864) 2021-02-20 20:42:55 +02:00
Stanislav Ershov 30ed201600
cgen: cleanup header for MSVC (#8863) 2021-02-20 20:39:46 +02:00
Delyan Angelov 746dfe6317
ci: make vweb and websocket tests more robust to transient errors 2021-02-20 20:24:21 +02:00
Nick Treleaven 28088cc494
checker: check fixed array index when it's a literal (#8831) 2021-02-20 20:18:47 +02:00
Delyan Angelov 5a333b0fdc
gen,parser: allow enums as map keys 2021-02-20 19:39:25 +02:00
Nick Treleaven 1e71c0eaca
checker: warn for deprecated methods too (#8861) 2021-02-20 19:25:54 +02:00
spaceface adf2aa8760
pref: add a `-debug-tcc` alias option (#8834) 2021-02-20 18:53:22 +02:00
spaceface cc3fd5333b
builder: print tcc output, when the system C compiler also failed (#8835) 2021-02-20 18:52:54 +02:00
yuyi c704a49283
parser: fix error of $tmpl in anon_fn (fix #8847) (#8849) 2021-02-20 18:51:08 +02:00
Delyan Angelov 8327c9afc1
checker: support a custom `[deprecated: 'message']` 2021-02-20 17:35:44 +02:00
Stanislav Ershov 44cb0426f4
cli: fix checking callbacks (#8858) 2021-02-20 17:30:39 +02:00
Lukas Neubert a86bf3254a
fmt: keep empty line between if statement and comment (#8846) 2021-02-20 16:05:05 +02:00
Lukas Neubert 329e3938d9
fmt: respect user choice of newlines between functions without body (#8838) 2021-02-20 16:00:30 +02:00
yuyi 783cee98d9
table/parser: minor optimization of anon_fn names (#8851) 2021-02-20 15:54:47 +02:00
yuyi e8abda189a
cgen: minor optimization in match_expr() (#8848) 2021-02-20 15:51:40 +02:00
Nick Treleaven 2be852e461
arrays: use for/in instead of unsafe `[direct_array_access]` (#8857) 2021-02-20 15:27:36 +02:00
zakuro f381836f9e
fmt: sort names in selective imports (#8827) 2021-02-20 12:22:09 +01:00
yuyi 5e1159e4c3
checker: change non-const size of fixed array error message (#8850) 2021-02-20 12:14:44 +01:00
Lukas Neubert 859d382c6e
fmt: remove a few obsolete comments (#8837) 2021-02-20 09:54:55 +01:00
Nick Treleaven bcb35e15f9
checker: only allow passing integer *literal* to non-integer pointer method parameter (#8825) 2021-02-19 14:14:40 +02:00
Miccah a153ec5951
cli: ensure that required flags are set (#8826) 2021-02-19 12:43:18 +02:00
kristof de spiegeleer 3f3bec45fa
examples: add a template example, update the regex examples (#8829) 2021-02-19 12:39:15 +02:00
zakuro 6e262b5d84
checker: improve error position of infix expr (#8828) 2021-02-19 12:38:41 +02:00
Swastik Baranwal ad162cd6fc
checker: stricter `unknown type` checks, show better suggestions (#8816) 2021-02-19 11:23:13 +02:00
Stanislav Ershov 6a752512b2
os: fix os.real_path on Windows (#8822) 2021-02-19 11:20:06 +02:00
Subhomoy Haldar 745b40c0a3
rand: refactor string sampling functions to remove redundancy (#8830) 2021-02-19 11:16:02 +02:00
yuyi 4878077c62
gen/c: fix gen_str_for_struct with custom ref str (fix #7179) (#8820) 2021-02-18 18:19:42 +02:00
Alexander Medvednikov 0dbc9417e7 builder: vfmt msvc.v 2021-02-18 17:00:07 +03:00
Stanislav Ershov 51dd22bcc0
builder: support -m32/-m64 flags for msvc (#8819) 2021-02-18 14:58:47 +01:00
zakuro 1891ebf22d
scanner: print multibyte char for invalid char error (#8804) 2021-02-18 15:43:39 +02:00
Delyan Angelov 0142d58aa6
v.pref: prevent `Too many targets.` from triggering when the command is an external one 2021-02-18 12:13:28 +02:00
zakuro 0d69d97143
fmt: mark imports as used, when types from them are used in struct declarations (#8810) 2021-02-18 11:32:45 +02:00
zakuro a34a1ab864
checker/table: minor cleanup by removing unnecessary `_` variable (#8801) 2021-02-18 11:30:43 +02:00
zakuro b3a26ca0ce
v.pref: make passing multiple target .v files an error (#8814) 2021-02-18 09:42:00 +02:00
yuyi a119affeba
cgen: check unknown sizeof type (#8815) 2021-02-18 09:38:57 +02:00
Delyan Angelov bf6e9ff95a
Revert "parser: make duplicated functions an error (#8792)"
This reverts commit 21bf8fe14e.
2021-02-18 09:02:56 +02:00
zakuro 21bf8fe14e
parser: make duplicated functions an error (#8792) 2021-02-17 20:50:10 +01:00
Nick Treleaven 33d8074846
crypto.rand: use byteptr.vbytes instead of c_array_to_bytes_tmp (#8786) 2021-02-17 21:47:19 +02:00
Nick Treleaven 4ccf991f61
checker: warn when casting a fixed array (use `&arr[0]` instead) (#8787) 2021-02-17 20:45:11 +01:00
yuyi 177c8bfc78
builtin/array: merge array_eq_test.v into array_test.v (#8796) 2021-02-17 20:44:44 +01:00
yuyi 4fa315edc2
checker: fix for _, mut j in array (#8785) 2021-02-17 20:44:28 +01:00
zakuro 600f6ad2a0
fmt: do not prepend mod to selectively imported types from nested module (#8805) 2021-02-17 20:42:26 +01:00
Delyan Angelov ab6517c5fc
gg: support passing down the state of pressed mouse buttons in mouse moves events 2021-02-17 20:14:37 +02:00
Delyan Angelov aa3d0ea345
vfmt: cleanup spurious printlns, remove obsolete code 2021-02-17 14:59:42 +02:00
Alexander Medvednikov d4a05bebde gg: use gg types for Events instead of sapp 2021-02-17 06:44:01 +01:00
zakuro 3341c17202
fmt: keep one empty line in struct decl (#8782) 2021-02-17 05:45:09 +01:00
Lukas Neubert 55b69a76a6
fmt: minor cleanup of or_expr (#8789) 2021-02-17 05:43:29 +01:00
Nick Treleaven 0f8edd918a
checker: disallow `unsafe` map copy (#8720) 2021-02-17 05:19:25 +01:00
Lukas Neubert e4a67dea37
json2: wrap Builder.free() calls inside unsafe (#8790) 2021-02-17 02:19:26 +02:00
Delyan Angelov 2002d20249
io: remove unused Zzz_CoerceInterfaceTableGeneration struct; add test for `x := Enum{}` 2021-02-17 01:37:05 +02:00
Delyan Angelov 995e1c84a2
ci: fix `./v -cc gcc -cflags "-Werror" vlib/io/os_file_reader_test.v` 2021-02-17 01:08:28 +02:00
Delyan Angelov fb09333a73
ci: fix interface table generation for vlib/io/os_file_reader_test.v with -cflags "-Werror" 2021-02-16 23:36:44 +02:00
Delyan Angelov 4961d3ea17
io: fix detection of end_of_stream, when reading files through io.new_buffered_reader(reader: io.make_reader(f)) 2021-02-16 23:22:17 +02:00
Delyan Angelov 843de10442
parser,gen: fix `arr << map[key] using map_get_and_set_1, leading to double free 2021-02-16 16:39:31 +02:00
yuyi 982e35909d
cgen: fix `mut` var in `for` loop reads as address (fix #8548) (#8745) 2021-02-16 13:24:19 +01:00
Nick Treleaven 01aa09d515
checker: do not allow copying any map lvalue (#8662) 2021-02-16 12:46:12 +01:00
zakuro 51c286df5a
fmt: fix bug that vfmt removes emmbeded struct in struct decl (#8775) 2021-02-16 12:45:56 +01:00
Christopher Dieringer 94429c8fd8
gg: window_size: normalize dpi scaling (#8738) 2021-02-16 12:41:21 +01:00
Uwe Krüger 0520b755f4
checker/cgen: support `print*()`, `.str()` and '$x' for `shared` (#8771) 2021-02-16 12:40:13 +01:00
zakuro 6813866141
fmt: fix bug of disappearing `pub` in struct decl (#8777) 2021-02-16 12:39:50 +01:00
Delyan Angelov 0bbc5a5c6a
fmt: add a small comment about f.line_len 2021-02-16 10:22:39 +02:00
Lukas Neubert ad20b3806f
fmt: fix possible code corruption by unwrapped single line if (#8780) 2021-02-16 10:13:48 +02:00
Delyan Angelov 230372df09
clipboard: fix unsafe warning on windows (affects v-ui) 2021-02-15 20:09:02 +02:00
Nick Treleaven c057b45bb1
checker: check argument count for C fn with attribute (#8728) 2021-02-15 18:56:26 +02:00
zakuro 2911f03627
checker: reject method that have multi-value type receiver (#8696) 2021-02-15 17:55:54 +02:00
zakuro 70a30374b9
parser: cleanup fn_decl (#8700) 2021-02-15 17:55:08 +02:00
Lukas Neubert 848295cdea
scanner: do not warn on \' after string interpolation (#8729) 2021-02-15 17:54:30 +02:00
Quix 486bf8517f
builtin: fix typo (#8747) 2021-02-15 17:54:07 +02:00
Quix 6a21b8cc8b
pg: fix typo (#8750) 2021-02-15 17:53:38 +02:00
Quix 35f45b8e5e
glm: fix typo (#8748) 2021-02-15 17:53:07 +02:00
Quix 49505d4090
hash.crc32: fix typo (#8749) 2021-02-15 17:52:45 +02:00
Quix 64018e6f14
encoding.utf8: fix 'length' typo in two spots (#8746) 2021-02-15 17:52:00 +02:00
zakuro d08a0b5a7c
parser: check not used expression for all exprs in multi-expr (#8733) 2021-02-15 17:41:04 +02:00
spaceface fe007f9b16
gen: fix type_name for sumtype/interface pointers (#8769) 2021-02-15 17:35:31 +02:00
AAAA 4213851e22
cli: fix typo (#8742) 2021-02-15 17:25:30 +02:00
Nick Treleaven 4a0367a63c
vlib: add [unsafe] tag to more functions: tos, string_from_wide, strings.Builder: write_bytes, free (#8766) 2021-02-15 17:15:52 +02:00
Louis Schmieder 4bdbb0cfa8
orm: add type detection of db (#8756) 2021-02-15 17:14:39 +02:00
yuyi a9c2045dbd
cgen: fix var name clash of array/map (fix #1994) (#8765) 2021-02-15 15:51:57 +02:00
Nick Treleaven 629d43caf5
checker: warn when using `goto` outside of `unsafe` (#8741) 2021-02-15 15:48:24 +02:00
Peter Badida 6781f732f4
gen: fix infinite loop when struct's ref field is pointing to self (#8632) (#8641) 2021-02-15 15:43:10 +02:00
penguindark 325aef6d41
gg: add gg.m4, use it in the sokol GLSL examples (#8755) 2021-02-15 15:40:28 +02:00
spaceface e3649ec4d3
all: implement `type_name()` for interfaces too (#8767) 2021-02-15 15:29:44 +02:00
zakuro 4e2418e9cf
os: add test for os.file_name (#8757) 2021-02-15 07:37:35 +01:00
Nick Treleaven b07f373433
builtin: make 5 C functions trusted, tweak signatures (#8730) 2021-02-14 19:37:32 +01:00
Nick Treleaven ea803113c3
checker: check `unsafe` V function calls (#8752) 2021-02-14 19:31:42 +01:00
zakuro d3bcd5d305
fmt: keep single line if in struct init (#8734) 2021-02-14 19:22:24 +01:00
zakuro e534b4397d
checker: report correct position for non-bool cond error (#8735) 2021-02-14 19:19:41 +01:00
Nick Treleaven 82650ee813
parser: fix parsing attribute after fn prototype with no return type (#8727) 2021-02-14 08:05:20 +01:00
zakuro e4f15605c0
checker: reject void type condition (#8737) 2021-02-14 07:33:24 +01:00
Delyan Angelov 3d29f819cf
builder: add markused.mark_used calls to js.v and x64.v 2021-02-13 18:09:04 +02:00
Delyan Angelov e809264f12
builder,checker: split the unused marking into a new `v.markused` module 2021-02-13 18:02:31 +02:00
Uwe Krüger 374739b804
all: rename `[ref_only]` -> `[heap]` (#8718) 2021-02-13 16:52:01 +02:00
Delyan Angelov 2a8d0ddaf5
checker: add os.init_os_args_wide to the -skip-unused whitelist too 2021-02-13 16:33:35 +02:00
Delyan Angelov 60c16313f3
checker: enable `./v -skip-unused self` 2021-02-13 16:08:44 +02:00
Delyan Angelov eaaac220be
checker: make -skip-unused more conservative to make `v test vlib/builtin` pass 2021-02-13 15:47:17 +02:00
Uwe Krüger 835b3b2b81
sync: simplify `WaitGroup` and `PoolProcessor` and use atomic counters (#8715) 2021-02-13 13:52:27 +01:00
Nick Treleaven d03c1d615a
os: improve `rm` error message (#8719) 2021-02-13 13:51:38 +01:00
Delyan Angelov 0b60510c9c
cgen: cleanup generating helper comments with -skip-unused 2021-02-13 10:31:48 +02:00
Ned Palacios db609a0784
checker: skip checking for invalid fn return type (#8703) 2021-02-13 01:21:05 +01:00
Uwe Krüger 40066a5daa
checker: obey [ref_only] tag, allow embedding in other ref struct (#8707) 2021-02-13 00:47:37 +01:00
glebbash aa548f45ea
docs: fix functions in array/map example (#8695) 2021-02-12 21:10:54 +02:00
bettafish04 0b777c68c3
net: fix unix sockets (#8697) 2021-02-12 20:10:06 +02:00
StunxFS 6b431b18f5
vweb.tmpl: fix a little typo (#8704) 2021-02-12 20:06:37 +02:00
Joe Conigliaro c904c9178d
checker: support ParExpr for trying to take address errors & simplify messages 2021-02-13 02:49:22 +11:00
Delyan Angelov 1675b6f3e0
ci: fix code-formatting job 2021-02-12 15:44:12 +02:00
Joe Conigliaro 5d36a59dd8
checker: fix returning [] from fn which retuns optional array 2021-02-12 22:30:30 +11:00
Alexander Medvednikov 0a03856c83 parser: small c2v fixes 2021-02-12 09:12:26 +01:00
yuyi 67c6f24c84
cgen: format match_expr (#8692) 2021-02-12 03:37:31 +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 84a16d8684
map: add `move` method (#8660) 2021-02-12 02:02:33 +02:00
Larpon 65f2420516
os: fix cp_all mkdir panic (#8680) 2021-02-12 01:55:36 +02:00
Nick Treleaven 375efb0953
checker: improve errors for `return` count mismatch (#8686) 2021-02-12 01:47:11 +02:00
Joe Conigliaro 317d450723
checker: add error when trying to take address of call expr 2021-02-12 10:39:02 +11:00
Delyan Angelov 8f6fec4364 ci: fix building examples/concurrency/concurrency.v on macos 2021-02-12 01:18:40 +02:00
Delyan Angelov 58393bd3f9
ci: fix unix_test.v on unix != macos 2021-02-12 01:12:42 +02:00
Delyan Angelov 89521584a2 ci: fix unix sockets test on macos 2021-02-11 22:34:38 +02:00
bettafish04 9b4f2edbfa
net: move unix socket code to net.unix and skip net/unix/unix_test.v … (#8681) 2021-02-11 18:51:12 +02:00
Delyan Angelov ea401b1192
ci: `#include <afunix.h>` in vlib/net/net_windows.c.v 2021-02-11 12:45:25 +02:00
Delyan Angelov 578de634fe
sync: move pool related code to `sync.pool`, cleanup, add a README.md 2021-02-11 10:55:23 +02:00
Delyan Angelov 93c1c1cec3
builder: add generated C lines with -stats too 2021-02-11 08:38:09 +02:00
cbracketdash c636a7080d
rand: add rand.ascii (#8675) 2021-02-11 08:32:40 +02:00
bettafish04 d4f6488afd
net: add better unix socket support (#8651) 2021-02-11 01:24:15 +01:00
zakuro f371803a32
cgen: move comp_if_to_ifdef to comptime.v (#8668) 2021-02-11 01:22:49 +01:00
Delyan Angelov de287c0add
builder: add C source code size info on -stats 2021-02-10 19:12:12 +02:00
zakuro 4305ce1493
checker: extract long match branches in c.stmt(), into separate checker functions (#8666) 2021-02-10 18:51:41 +02:00
SurmanPP f2ad6dd4d9
os: fix os.walk, when passing paths ending with path_separator (#8672) 2021-02-10 18:48:01 +02:00
Delyan Angelov 4646c414d8
checker: fix -skip-unused with struct inits with default expressions 2021-02-10 18:25:57 +02:00
cbracketdash eb7009b60a
rand: generate hexadecimal numbers (#8664) 2021-02-10 11:01:25 +01:00
yuyi f2e74bce7a
checker: fix sumtype assign error (fix #7988) (#8655) 2021-02-10 10:59:56 +01:00
Alexander Medvednikov 035a163454 json: encode_pretty (p. 2) + tests 2021-02-10 10:17:29 +01:00
Alexander Medvednikov f67e4ab57c json: encode_pretty (p. 1) 2021-02-10 10:13:06 +01:00
yuyi 95c3ef3a6a
cgen: minor cleanup in stmt() (#8659) 2021-02-09 23:00:43 +01:00
Uwe Krüger f3c5f24c17
allow `lock` expression to return multiple objects (#8657) 2021-02-09 17:09:10 +02:00
Nick Treleaven d37fb5641f
parser: improve printing of unexpected tokens (#8654) 2021-02-09 17:07:30 +02:00
Bobitsmagic 0f92485698
builtin: fix typo in builtin/array.v (#8658) 2021-02-09 17:04:47 +02:00
Swastik Baranwal 6de78ecb59
term: implement term.clear() for windows (#8650) 2021-02-09 14:25:31 +02:00
Delyan Angelov 5308b63a01
ci: fix the `-cflags "-Werror"` job, by explicit casting to `void**` 2021-02-09 14:22:51 +02:00
Delyan Angelov d110f0de74
tests: add a regression test for 3d2afcf 2021-02-09 14:11:09 +02:00
Delyan Angelov 3d2afcf02e
cgen: fix gohandle_name generation (use .cname) 2021-02-09 12:55:05 +02:00
spaceface 1bb4be17d8
cgen: remove srwlock definition workaround for tcc on windows (#8652) 2021-02-09 12:44:18 +02:00
spaceface 4152c704f3
sokol: remove `.lib` extensions in `#pragma` directives (#8639)
fixes tcc on windows - this kind of fix has been done several times in the past, and should probably be upstreamed to sokol soon to prevent things from breaking every time we update the headers.
2021-02-09 11:36:01 +02:00
Mohammad Ali Chraghi 86e6b4f926
examples: improve the pg and vweb output (#8640) 2021-02-09 11:31:25 +02:00
Alexander Medvednikov bfee8a528c cgen: add "case" to c_reserved 2021-02-09 03:49:19 +01:00
bettafish04 1a2ae0aead
net: add basic unix socket support (#8642) 2021-02-08 23:48:23 +01: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
Lukas Neubert 5abd49d9bc
cgen: cast default struct field value to correct SumType/interface (#8619) 2021-02-08 17:33:05 +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
yuyi f2100166c7
cgen: minor cleanup in gen_str_for_option (#8622) 2021-02-08 17:00:51 +02:00
Nick Treleaven 9e751f72c4
doc, fmt: use `map{key: value}` syntax for map literals (#8623) 2021-02-08 16:57:42 +02:00
zakuro 8ae23cd89e
parser: make `v := f(v)' an undefined variable error (#8634) 2021-02-08 16:55:01 +02:00
zakuro e5839effbc
checker/cgen: allow `<<` operator for aliases (#8561) 2021-02-08 01:41:47 +01: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
yuyi 81e8c3bc1b
cgen: minor optimization in infix_expr (#8625) 2021-02-07 17:22:54 +01:00
Larpon bfd0bd1fb4
builtin: doc chan.v channel stub (#8577) 2021-02-07 12:42:24 +02:00
kristof de spiegeleer 2d875260e8
examples: Process examples (#8598) 2021-02-07 05:19:05 +01:00
Alexander Medvednikov a81ee0e94e tools/fast: measure v.c size and parse/check/cgen steps 2021-02-07 04:48:54 +01:00
zakuro 9f59b04e86
fmt: remove unused selective imports (#8595) 2021-02-07 03:58:43 +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
Delyan Angelov d77bb2f606
all: improve -skip-unused, track consts, walk all AST nodes, support tests 2021-02-07 02:51:45 +02:00
Nick Treleaven f5f65f929f
parser: parse `map{key_expr: val_expr}` (#8608) 2021-02-06 22:13:24 +01:00
Lukas Neubert db0fc8fbc9
fmt: better function call wrapping inside ternary if branches (#8604)
* fmt: better funcation call wrap in singel line ifs

* tests

* format files
2021-02-06 21:46:52 +01:00
Uwe Krüger cf230644b6
fmt: enable shared return types (#8614) 2021-02-06 21:25:06 +01:00
Uwe Krüger 5343f1374b
all: allow functions to return `shared` object (#8606) 2021-02-06 19:41:52 +01:00
zakuro fe9d062b41
gen: fix bug where unreached defer is executed (#8594) 2021-02-06 18:40:39 +02:00
Larpon de9813233f
gg: support getting system font on Android (#8611) 2021-02-06 18:36:43 +02:00
Delyan Angelov e57b73bcfc
ci: fix the using_comptime_env.vv test (execute only on ubuntu-tcc again) 2021-02-06 13:07:21 +02:00
Swastik Baranwal 9b839b3b7d
cgen: fix gen of `>` operator overloading (#8600) 2021-02-06 12:59:20 +02:00
Delyan Angelov 1fcac4098b
tests: use a serial task runner for -skip-unused too 2021-02-06 10:08:59 +02:00
Delyan Angelov 167773dd1c
checker: make -skip-unused process a list of root functions, not just main.main 2021-02-06 09:41:24 +02:00
Larpon e83c39c81a
builtin: document rest of map.v (#8578) 2021-02-06 03:07:42 +01:00
Uwe Krüger ab279dace7
cgen: support `shared` initialization from call returning optional (#8593) 2021-02-06 03:07:05 +01:00
yuyi 1b6efebac7
all: fix map = map2 assignment (#8581) 2021-02-06 03:06:34 +01:00
Larpon 57258c2988
builtin: document remaining pub structs in builtin.v (#8576) 2021-02-05 21:02:29 +01:00
Larpon 1101533dea
crypto: document rest of rand submodule (#8580) 2021-02-05 20:26:34 +02:00
Subhomoy Haldar 9a1da1a97b
rand: move the shuffle function from `arrays` to `rand.util` (#8587) 2021-02-05 20:24:38 +02:00
Delyan Angelov ed6fc79fbe
ci: run the -skip-unused tests on linux (so local testing is easier) 2021-02-05 20:03:24 +02:00
Delyan Angelov 99822e51de
ci: force println_os_executable.vv to have a stable output on all OSes 2021-02-05 20:01:02 +02:00
Larpon e1052a5ec7
semver: document all pub functions (#8586) 2021-02-05 19:57:42 +02:00
Lukas Neubert 58b3a30b47
docs/readmes: format almost all remaining code blocks (#8590) 2021-02-05 19:50:28 +02:00
Delyan Angelov 9a7ecf2807
ci: limit the -skip-unused testing to the ubuntu CI jobs for now 2021-02-05 18:41:46 +02:00
Delyan Angelov a6ecc19040
ci: fix -skip-unused compiler test on windows, using -d no_backtrace 2021-02-05 18:36:57 +02:00
zakuro 6b776e686e
parser: display correct position on boolean expression error (#8563) 2021-02-05 16:52:35 +01:00
Larpon 44ab0154b2
builtin: document last of array.v (#8575) 2021-02-05 16:51:45 +01:00
zakuro a94228bb16
checker: make `[] == ArrayAlias([])` an error (#8562) 2021-02-05 16:49:40 +01:00
Larpon e78c30d181
clipboard: add android variant (#8585) 2021-02-05 16:49:04 +01:00
Lukas Neubert 9ab1d17cbc
fmt: keep __global in struct declarations (#8584) 2021-02-05 16:46:43 +01:00
Delyan Angelov 81789ee106
tests: add vlib/v/tests/skip_unused/ 2021-02-05 17:27:00 +02:00
Delyan Angelov 867d96a077
checker: use @METHOD for util.timing_start in Checker.mark_used/1 2021-02-05 16:41:55 +02:00
Delyan Angelov 16dffc7c1d
compiler: move timing_start/timing_measure to util.timing_start/util.timing_measure 2021-02-05 16:34:56 +02:00
Delyan Angelov 25a3873019
parser,checker: support @METHOD, replaced by 'ReceiverType.MethodName' 2021-02-05 16:32:43 +02:00
Delyan Angelov d30f94507c
checker: enable -skip-unused for more examples 2021-02-05 11:55:40 +02:00
Delyan Angelov 8f160ee3ed
ci: run vfmt over vlib/v/gen/c/fn.v 2021-02-05 11:18:29 +02: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
Delyan Angelov e5c9fcb7e9
ci: fix building vdoc, vls, etc 2021-02-05 09:27:14 +02:00
Alexander Medvednikov 5a183d23a9 cgen: disable the new [if xxx] logic for now 2021-02-05 08:16:16 +01: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
Ekopalypse 5eef730290
builder: make msvc build if v path contains spaces (#8552) 2021-02-04 20:45:59 +01:00
Delyan Angelov 48892a52fa
strings: make valgrind reports for strings builders more usefull (#8553) 2021-02-04 20:45:35 +01:00
Louis Schmieder 97c0ef3505
orm: struct field support (#8517) 2021-02-04 20:28:33 +01:00
Ekopalypse 856246c858
builder: make repl work if path contains spaces (#8550) 2021-02-04 18:18:18 +01:00
Lathanao a0cbe48977
vweb: fix @include (#8535) 2021-02-04 17:07:04 +01:00
yuyi abde1cd73d
cgen: fix array/map of alias to string (#8549) 2021-02-04 17:52:14 +02:00
Subhomoy Haldar c6552d7780
rand.util: add sample_r and sample_nr (#8539) 2021-02-04 14:56:53 +02:00
yuyi a976876211
v.token: correct some comments, and add some missing comments (#8542) 2021-02-04 09:18:38 +02:00
BigBlack 162c42dbe9
ast: fix `new_struct := MyStruct{...(*old_struct)}` (#8544) 2021-02-04 09:14:43 +02:00
pancake 27239db427
builder: show file:line when import fails (#8537) 2021-02-04 09:09:54 +02:00
Uwe Krüger 112c652ace
cgen: auto initialize `chan` that are struct elements (#8541) 2021-02-04 00:07:20 +01:00
Uwe Krüger f013e65670
checker/cgen: support lock expressions `x := rlock s { s.get() }` (#8540) 2021-02-03 23:56:58 +01:00
Uwe Krüger cee00a3551
cgen: create enclosing block on C side for V `lock` blocks (#8538) 2021-02-03 23:25:01 +01:00
Uwe Krüger 2424e2cb02
cgen: fix for `rlock`/`lock` handling (#8536) 2021-02-03 17:33:18 +01:00
Nick Treleaven de37b52d4b
checker: check goto label exists (#8523) 2021-02-03 15:20:10 +01:00
Nick Treleaven 82482167ce
vlib: replace all `goto` statements with labelled break (#8531) 2021-02-03 15:19:42 +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
Delyan Angelov f4b757e47d
examples: add examples/vweb/server_sent_events; implement vweb.sse 2021-02-03 16:03:06 +02:00
Ruofan XU a73c20916d
checker: refactor and clean up c.check_basic() (#8508) 2021-02-03 11:57:06 +02:00
zakuro 4b99d6af95
cgen: fix bug with duplicate defer generation (#8503) 2021-02-03 11:40:21 +02:00
yuyi b40252bd97
checker: merge array_filter_fn_err tests (#8506) 2021-02-03 11:27:11 +02:00
yuyi 9bcb57eb1f
checker: merge array_map_fn_err tests (#8507) 2021-02-03 11:26:26 +02: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
Uwe Krüger df0520b43a
checker,cgen: make `shared` behave like `mut` inside `lock` - and like non-mut inside `rlock` (#8526) 2021-02-03 01:20:19 +02:00
yuyi 91af2418de
ftp: minor optimization in dir() (#8518) 2021-02-02 18:51:55 +01:00
yuyi 7875164d91
cgen: add gen_alias_equlity_fn (#8514) 2021-02-02 18:37:57 +01:00
Delyan Angelov 02bef1ae2b
vdoc: fix segfault on `v doc -m -f html vlib` 2021-02-02 17:38:32 +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 58b37519e0
scanner: fix warning for \" after string interpolation (#8510) 2021-02-02 14:14:06 +02:00
Uwe Krüger 1de299ad22
cgen: allow `shared` initialization from return values of functions (#8512) 2021-02-02 14:13:13 +02:00
Delyan Angelov 17062dc5c8
v.pref: support `-obf` in addition to `-obfuscate`, as described in `v help build` 2021-02-02 12:24:34 +02:00
Lukas Neubert 5aaeac79fa
ci: fix compilation (#8511) 2021-02-02 12:06:54 +02:00
Delyan Angelov d57a9c419d
examples: add net_udp_server_and_client.v 2021-02-02 10:36:56 +02:00
Alexander Medvednikov 2c4674eb42 cgen: obfuscate functions 2021-02-02 09:14:41 +01:00
yuyi 5ec6f7a781
ftp: fix error in dir() (#8504) 2021-02-02 08:22:52 +01:00
yuyi 9a2820fa7b
checker: fix pass fixed array of function as argument (#8502) 2021-02-02 03:58:54 +01:00
Ruofan XU a0a33f7ff1
checker: fix map of function as argument and direct call of function in map (#8494) 2021-02-02 03:58:32 +01:00
Louis Schmieder 969f19daf4
orm: fix null strings (#8497) 2021-02-01 21:44:09 +01:00
Ruofan XU 51f2eb81f4
checker/cgen: fix mut array of fn as argument (#8469) 2021-02-01 20:10:24 +01:00
Lukas Neubert cf1084105c
fmt: allow single line ternary if as function argument (#8486) 2021-02-01 20:08:42 +01:00
Nick Treleaven 79e9084f7b
checker: allow `Struct{...expr}` where `expr` is another struct type (#8495) 2021-02-01 20:08:25 +01:00
Uwe Krüger 17746561f2
cgen: put `shared` arrays and maps always on heap (#8496) 2021-02-01 20:07:01 +01:00
yuyi 4d268d1436
cgen: minor cleanup of gen_fn_decl (#8474) 2021-02-01 20:06:34 +01:00
Delyan Angelov fab7b9d9d9
checker: fix `x := match enumexpr { .case2 { fn1 } .case2 { fn2} }`, where fn1 and fn2 have compatible signature 2021-02-01 21:01:58 +02:00
BigBlack e3c2604338
cgen: fixed array slice in function, add docs (#8481) 2021-02-01 19:11:17 +02:00
Lucas Hernán Tarche 7813ecbb75
gg: add draw_convex_poly/2 and draw_empty_poly/2 methods (#8487) 2021-02-01 18:18:23 +02:00
yuyi 1e07173234
cgen: minor cleanup of array_init (#8477) 2021-02-01 15:56:55 +01:00
Nick Treleaven c537578481
checker: ensure `expr` is an lvalue with `Struct{...expr` (#8489) 2021-02-01 15:18:03 +01:00
Lukas Neubert d660f2cc6f
fmt: insert newline after last HashStmt (#8482) 2021-02-01 14:50:41 +01:00
yuyi 53a5aad855
cgen: fix fixed array of function (#8490) 2021-02-01 14:50:10 +01:00
Lukas Neubert 8755f40430
fmt: keep comments after imports (#8483) 2021-02-01 14:45:08 +01:00
Uwe Krüger 44ec9e3ebc
checker/cgen: put `shared` struct always on heap (#8492) 2021-02-01 14:39:36 +01:00
Delyan Angelov 5b9a7bf6b3
cgen: support `#flag -DWIN32_FULL`, when you do NOT want WIN32_FULL 2021-02-01 14:40:51 +02:00
Lukas Neubert 43676330ba
fmt: keep braces around @ escaped fields in string interpolation (#8488) 2021-02-01 11:04:57 +02:00
Enzo 778b83a132
gen: fix multiple blank param with interface (#8480) 2021-01-31 19:44:55 +02:00
spaceface effa3188dd
cgen: fix type casts to interfaces (#8476) 2021-01-31 19:24:33 +02:00
Larpon d25825df57
all: support compile time `$env('ENV_VAR')` (#8456) 2021-01-31 19:22:42 +02:00
Enzo 2945040a67
gen: fix function with multiple blank params (#8475) 2021-01-31 16:37:26 +02:00
Nick Treleaven f992099726
checker: check s.$method(arg) argument is []string (#8455) 2021-01-31 15:28:23 +01:00
Alexander Medvednikov 9638013203 gg: fix macos C function definitions 2021-01-31 13:57:06 +01:00
Ruofan XU ae60ea4ed5
tests: add regression tests for typeof map and array of fns (#8458) 2021-01-31 12:20:15 +02:00
Seven Du 09c65163b4
cgen: add a destructor caller for the generated _vcleanup, when using -shared (#8464) 2021-01-31 12:10:49 +02:00
Delyan Angelov 5746ac4dd4
vfmt: remove tracing println for match branches 2021-01-31 11:05:49 +02:00
Delyan Angelov 978359a6fc
tests: fix some warnings in preparation for `-W test-self` 2021-01-31 11:05:17 +02:00
Delyan Angelov e066e83041
stbi: add proper declarations for C.stbi_load etc. 2021-01-31 10:23:43 +02:00
yuyi 2963425995
cgen: fix fn_with_mut_args (fix #7139) (#8446) 2021-01-31 02:45:45 +01:00
Nick Treleaven 9c2bd24b4f
tests: add test for s.$method() with T.methods (#8451) 2021-01-30 18:35:41 +01:00
BigBlack c5e7956eb5
checker: fix generic_mutable_arrays in functions (#8445) 2021-01-30 18:35:03 +01:00
Nick Treleaven 64d12cdc8d
checker: check number of C function arguments for some cases (#8444) 2021-01-30 18:33:36 +01:00
Daniel Däschle 2cadb3e4d8
gen: panic with correct type names (#8355) 2021-01-30 18:54:05 +02:00
Nick Treleaven 849bc6c3d8
tests: fix weird CI failure with error details (#8449) 2021-01-30 18:53:39 +02:00
Uwe Krüger 9c82eec529
checker: support nested propagation cases `f(g() ?)` (#8447) 2021-01-30 16:53:31 +01:00
Nick Treleaven 43c3a3b080
checker: fix compile-time call with string identifier expression (#8415) 2021-01-30 15:24:16 +01:00
Uwe Krüger 058f3ba013
sync: rename `m_lock() -> @lock()`, `r_lock() -> @rlock()`, ... (#8443) 2021-01-30 15:23:55 +01:00
Subhomoy Haldar 7e3b3a9efc
rand: update byte() (#8442) 2021-01-30 14:19:14 +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
yuyi 97cb7687a2
cgen: minor cleanup of consts (#8441) 2021-01-30 13:35:25 +02:00
Enzo ced7649bf8
gen: fix `for ... in array` (#8428) 2021-01-30 12:27:11 +01:00
Lukas Neubert a044441224
fmt: keep {} in string interpolation for chained CallExprs (#8422) 2021-01-30 11:58:19 +01:00
Lukas Neubert 2774db077d
fmt: keep user choice for newlines in match branches (#8418) 2021-01-30 11:57:57 +01:00
yuyi 77b3d40f46
checker: fix `map = {}` (#8435) 2021-01-30 11:55:10 +01:00
Uwe Krüger 5e9b528a9d
checker/cgen: support `return` from nested `or` (#8430) 2021-01-30 12:46:36 +02:00
yuyi 5af16f38fc
cgen: correct minor typo (#8438) 2021-01-30 12:39:44 +02:00
Julia Bogdan Filipchuk d26ac0f6cb
vfmt: add ability to use vfmt as a filter from stdin to stdout (#8432) 2021-01-30 12:38:54 +02:00
Delyan Angelov 7f5d654c3a
all: cleanup redundant `.ends_with(_test.v)` calls 2021-01-30 11:08:52 +02:00
Uwe Krüger 6477748e88
sync/waitgroup: use value mutex and semaphore; remove sync.Waiter (#8431) 2021-01-30 11:08:43 +02:00
zakuro 391d62bca5
fmt: remove duplicated imports (#8433) 2021-01-30 11:04:36 +02:00
Delyan Angelov 760b4c37b9
all: support _test.vv files (to test _test.v errors/checks too) 2021-01-30 10:42:18 +02:00
Delyan Angelov 5564a2c1da
tests: fix filter_in_map_test.v (it did not have a `test_` function in it) 2021-01-30 10:29:48 +02:00
Delyan Angelov 948f63b507
checker,builder: rename `details:` to `Details:` 2021-01-30 10:20:09 +02:00
Delyan Angelov 30e0c478d7
checker: add error for _test.v file without test_ functions 2021-01-30 10:19:29 +02:00
Lukas Neubert 974cac2037
fmt: relocate two methods; minor cleanup (#8423) 2021-01-29 23:15:26 +02:00
Swastik Baranwal e03ece2a4b
checker: check the fn decl for anon fns too (#7529) 2021-01-29 23:11:05 +02:00
Uwe Krüger 4a955d9c54
sync: don't force `Mutex` and `Semaphore` to be reference (#8331) 2021-01-29 20:52:14 +02:00
Lukas Neubert 93acc929f7
fmt: keep lines of comments inside an array (#8420) 2021-01-29 20:19:14 +02:00
zakuro 2a32dac40d
checker: fix panic when calling generic function with too few args (#8416) 2021-01-29 20:14:22 +02:00
Delyan Angelov 8398e2f448
ci: fix -usecache for programs using thirdparty C libs 2021-01-29 19:44:33 +02:00
Delyan Angelov 9f31829e0c ci: fix failing clipboard_test.v on macos 2021-01-29 18:59:44 +02:00
Delyan Angelov 2326a3a1e1
builder: small cleanup, use .dump_c_options in Builder.cc_linux_cross/0 too 2021-01-29 18:30:40 +02:00
Delyan Angelov 4d180171ba
builder: implement `-dump-c-flags flags.txt` 2021-01-29 18:05:14 +02:00
Delyan Angelov 49b01549da
v.vcache: improve tracing of vcache usage 2021-01-29 18:05:13 +02:00
yuyi 26c06a56b7
checker: fix array_insert_or_prepend_short_struct_init (#8397) 2021-01-29 14:53:14 +01:00
yuyi 56c4a36cd4
cgen: fix match_in_if_expression (#8407) 2021-01-29 14:51:17 +01:00
Swastik Baranwal c4758c21c6
cgen: println(none) => `<none>` (#8404) 2021-01-29 14:50:48 +01:00
Louis Schmieder 4a6642b79e
vweb: fix vweb upload (#8392) 2021-01-29 14:48:52 +01:00
zakuro f5242890b8
fmt: keep multiline selective import (#8412) 2021-01-29 14:48:28 +01:00
yuyi ddcbc4440b
cgen: fix array_sort_by_references (fix #8390) (#8403) 2021-01-29 12:20:28 +02:00
Lukas Neubert e47c13903b
fmt: keep newlines between toplevel stmts (#8383) 2021-01-29 12:17:59 +02:00
Larpon 85c5df23cf
gg: add window_size() function (#8409) 2021-01-29 12:11:03 +02:00
Subhomoy Haldar c5a18812e2
rand: move constants from rand.util to a new module rand.constants (#8408) 2021-01-29 11:57:30 +02:00
Nick Treleaven d012f2713b
checker: improve errors with compile-time field access (#8373) 2021-01-29 00:45:00 +01:00
spaceface 4aee997689
checker: make implementing an interface with another interface an error (#8398) 2021-01-29 00:41:59 +01:00
Uwe Krüger adb646a1d2
sync: update benchmark results for Windows (#8399) 2021-01-29 00:41:46 +01:00
Alexander Medvednikov 608a4ccccd fmt: fix a bug with an empty module in consts 2021-01-29 00:26:57 +01:00
yuyi 1be7cc14d3
checker: check duplicate of a const name (#8396) 2021-01-28 18:34:55 +01:00
yuyi 684d2e6dbf
checker: merge ambiguous_function_call tests (#8388) 2021-01-28 15:53:54 +02:00
Delyan Angelov 4fcd8d8a98
scanner: fix `' "$var", "$another"'` where `r"`, was treated as start of a raw string 2021-01-28 15:38:42 +02:00
Delyan Angelov 079fbffaf5
scanner: implement s.trace/2 2021-01-28 15:21:19 +02:00
Uwe Krüger 0afe36e153
checker: fix receiver pos for single letter type error message (#8393) 2021-01-28 15:20:07 +02:00
Delyan Angelov 1a29719f16 fontstash: fix snek on big sur, with -d use_truetype 2021-01-28 12:26:48 +02:00
Lukas Neubert 75d85403a6
fmt: better ternary concat wrapping (#8379) 2021-01-28 11:23:48 +01:00
Alexander Medvednikov d86cb67eda checker: add a test for the single letter receiver 2021-01-28 11:13:51 +01:00
Alexander Medvednikov 68dab101d9 checker: fix one letter receiver panic 2021-01-28 11:05:37 +01: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
Tim Basel 5fc7eadd8b
cgen: fix short struct init with `mut` (#8384) 2021-01-28 10:05:09 +02:00
Subhomoy Haldar 5a1f3cd394
math.fractions: fix minor typo (#8386) 2021-01-28 10:02:41 +02:00
Delyan Angelov dceb63b9df
cgen: fix implicit the optional return value to have .ok = true, in anon `fn()?{}` 2021-01-28 02:26:02 +02:00
Delyan Angelov 242d7d0fc0
tools: improve error diagnostic for `v up` and `v self`. Make `v self` more robust. 2021-01-27 23:58:13 +02:00
zakuro 8162396783
checker: deny multi-value in a singe-value context (#8328) 2021-01-27 23:10:51 +02:00
shadowninja55 f4baa3f39c
gg: add draw_square, draw_empty_square, and set_pixel (#8375) 2021-01-27 22:39:11 +02:00
shadowninja55 fccd4f98d5
fixed offset (#8376) 2021-01-27 19:39:53 +02:00
yuyi d1ab22d45f
checker: fix array append short struct init (#8362) 2021-01-27 13:55:53 +01:00
Enzo 2b30c48770
checker: fix ctdefine check in non-main modules (#8332) 2021-01-27 13:54:33 +01:00
StunxFS cb885d30b4
scanner: fix typo (#8345) 2021-01-27 13:53:41 +01:00
Swastik Baranwal 17921f4171
checker: add checks for optional selector_expr (#8330) 2021-01-27 13:53:20 +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
spaceface e233911a7b
term.ui: native Windows console implementation (#8359) 2021-01-27 13:52:39 +01:00
Lukas Neubert 2ada7b730e
sqlite: create_table(): rename rows param to columns (#8361) 2021-01-27 13:52:27 +01:00
yuyi 7a5722c885
parser: check assign_stmt of undefined variable (#8366) 2021-01-27 13:52:10 +01:00
Delyan Angelov 2d86c50d49
ci: fix autobahn integration tests job 2021-01-26 20:12:12 +02:00
Delyan Angelov dd96852515
ci: fix compilation of term.ui examples on windows 2021-01-26 19:26:05 +02:00
Delyan Angelov 4e2b908f21
ci: fix `os` compilation on windows 2021-01-26 17:41:27 +02:00
Delyan Angelov e5a84719ca
all: require calling `optfn() ?` / `optfn() or {...}` for `fn optfn() ? {}` 2021-01-26 16:43:17 +02:00
Subhomoy Haldar 97103f680a
rand: separate rand.util and rand.seed submodules (#8353) 2021-01-26 15:55:09 +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
Lukas Neubert 2007dbc7b5
fmt: put the opening brace on a new line again for infix (#8336) 2021-01-26 11:19:32 +01:00
Lukas Neubert 3790bd67e3
fmt: minor cleanup of sql_expr (#8340) 2021-01-26 10:36:46 +01:00
zakuro 22847d1ec3
fmt: assert (a == b) -> assert a == b (#8351) 2021-01-26 10:36:21 +01:00
Daniel Däschle 7bb9c0e7b3
checker: fix multi generic args (#8347) 2021-01-26 09:37:48 +02:00
Major Taylor 69c37402d4
backtrace: fix tcc backtrace windows compilation error (#8348) 2021-01-26 08:26:54 +02:00
Lukas Neubert c6f98afaba
fmt: minor cleanup of return_stmt (#8341) 2021-01-25 23:22:14 +01:00
Delyan Angelov 4d0dab826b
ci: fix vlib/dl/example/use_test.v in windows-tcc 2021-01-25 21:19:15 +02:00
Delyan Angelov dbaccd4272
vfmt: shorten `main.const_name` to just `const_name` 2021-01-25 20:57:33 +02:00
Delyan Angelov ea11488339
tests: make test more tolerant to windows low precision timer default interval 2021-01-25 20:04:29 +02:00
Delyan Angelov e0ed224a8d
Revert "net: prevent udp_test.v from running on windows without -d network"
This reverts commit 3526bc3d19.
2021-01-25 19:08:45 +02:00
Delyan Angelov 3526bc3d19
net: prevent udp_test.v from running on windows without -d network 2021-01-25 19:02:19 +02:00
spaceface daff085033
checker: fix treating C structs with capitalized fields as embeds (#8343) 2021-01-25 18:47:14 +02:00
Delyan Angelov cb04e6dccc
tests: move is_nodejs_working() to jsgen_test.v 2021-01-25 18:46:28 +02:00
yuyi 3199b982a9
cgen: minor cleanup of comp_for in comptime.v (#8337) 2021-01-25 17:08:48 +01:00
Daniel Däschle 006a11454f
cgen: fix generic type $else $if (#8339) 2021-01-25 17:08:02 +01:00
Swastik Baranwal 21ba0470af
builtin: fix truncating of EOL on windows terminal (#8338) 2021-01-25 17:51:36 +02:00
Delyan Angelov a5b10b5539
parser: improve the error message for unexpected keywords 2021-01-25 15:29:07 +02:00
yuyi 444d49da75
cgen: minor cleanup of gen_assert_stmt (#8334) 2021-01-25 15:28:34 +02:00
Nick Treleaven 02d8ede94d
cgen: fix `$if T !is` (#8311) 2021-01-25 14:25:52 +01:00
Lukas Neubert b2f2f387dc
fmt: cleanup and expand tests for ternary if (#8333) 2021-01-25 14:22:08 +01:00
yuyi 1c9950c84a
cgen: fix map_complex_high_order_fixed_array (#8329) 2021-01-25 14:40:53 +02:00
Delyan Angelov 965ae9cb91
ci: fix formatting in .md files too 2021-01-25 13:20:18 +02:00
Delyan Angelov 728344ff65
ci: fix `v test-cleancode` 2021-01-25 12:55:01 +02:00
Delyan Angelov 94fd3ff431
checker: remove the 'in module main cannot be declared public' error/warning 2021-01-25 12:55:00 +02:00
Delyan Angelov d3d301d8ff
gen: use externally_visible too for VV_EXPORTED_SYMBOL when ARM is defined 2021-01-25 12:40:28 +02:00
Adelar da Silva Queiróz 334554ffb9
strconv: fix typo (#8318) 2021-01-24 23:18:40 +01:00
yuyi d3327ba50f
cgen: fix for_mut_val_in_map_fixed_array (#8314) 2021-01-24 23:18:11 +01:00
Alexander Medvednikov 3dae3f786d gg: Context.resize() 2021-01-24 22:27:27 +01: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 997f56a3dc
fmt: better newline handling in block comments (#8325) 2021-01-24 22:08:24 +01:00
Daniel Däschle 750738aa12
cgen: fix optional sum types (#8319) 2021-01-24 20:56:44 +01:00
Emily Hudson 2e695a8e8f
cgen: free temporary channel arrays (#8324) 2021-01-24 20:02:17 +01:00
Alexander Medvednikov 29d6e40f29 all: vfmt (new const rule) 2021-01-24 10:54:27 +01:00
Alexander Medvednikov 12ff1c2702 doc: document the new const rule 2021-01-24 10:23:52 +01:00
Alexander Medvednikov 80e6b090ea checker: remove an obsolete const test 2021-01-24 10:17:36 +01:00
Alexander Medvednikov 2238bf9a83 fmt: use new const rule in tests 2021-01-24 10:12:49 +01:00
Alexander Medvednikov 8bcb6c10cc checker: remove duplicate const error; fmt: force full path to consts 2021-01-24 10:01:13 +01:00
fnetX (aka fralix) 69e6ba7a64
math: small typo in math.fractions (#8298) 2021-01-24 09:37:00 +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
Adelar da Silva Queiróz 1f99d1e025
strconv: some corrections of typos (#8302) 2021-01-24 00:00:31 +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
Swastik Baranwal 8a59ffb4b7
cgen: allow `==` to be user defined if `!=` is auto generated and vice versa (#8286) 2021-01-23 16:59:39 +01:00
Tomas Hellström 39e5f6e9df
x.websocket: websocket server fix and bring back server autobahn (#8291) 2021-01-23 16:56:38 +01:00
Delyan Angelov 4065a0327a
gen: fix autogeneration of .str() methods for sumtypes that have child types with custom .str() methods 2021-01-23 17:22:19 +02:00
Uwe Krüger 74115fe70a
parser: auto-import `sync` when `shared` objects are used (#8294) 2021-01-23 16:03:21 +01:00
Larpon bce6a35e8f
crypto: add missing documentation to all pub functions (#8251) 2021-01-23 13:33:49 +01:00
Uwe Krüger 38880b23eb
checker: allow `a[i]` for `shared` arrays outside `unsafe` (#8292) 2021-01-23 13:33:32 +01:00
yuyi b8857baa98
parser: fix map_init position (#8293) 2021-01-23 13:33:19 +01:00
R cqls 749d6133a1
v.pkgconfig: handle paths to local .pc files too (needed for homebrew) (#8290) 2021-01-23 13:09:53 +02:00
Alexander Medvednikov ba2a15c9d7 parser: fix const check 2021-01-23 10:46:00 +01:00
yuyi 5ee3fecf60
checker: check for mut val in immutable obj (#8285) 2021-01-23 10:40:17 +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 c21f57ff59 os: vfmt os.v 2021-01-23 10:33:53 +01: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
Delyan Angelov a3908414e4
pref: fix handling of _d_custom.v files, use it in vlib/sokol/f/f_d_use_freetype.v 2021-01-23 11:21:56 +02:00
Lukas Neubert 8b61891348
fmt: smarter if condition wrapping (#8201) 2021-01-23 10:33:22 +02:00
zakuro 9812230847
checker: make the no-body main function a checker error (#8211) 2021-01-23 10:30:26 +02:00
Daniel Däschle c5c7addb88
checker: improve infer generic (#8281) 2021-01-23 10:19:08 +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
Tomas Hellström 970c03987d
ci: temporarily comment the server tests for autobahn (#8272) 2021-01-22 22:30:53 +02:00
Larpon 981b42125f
encoding: document all of the `encoding.base64` module (#8276) 2021-01-22 22:29:05 +02:00
Emeric MARTINEAU 081e3c46b4
cli: allow flag to be set multi time (#8256) 2021-01-22 19:03:02 +02:00
Larpon f2c6735d92
crypto: make Digest.sum() and Digest.write() private in md5 and sha1 (#8270) 2021-01-22 14:14:31 +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
Alexander Medvednikov 46cdf4f1ff 0.2.2 2021-01-22 10:39:44 +01:00
Alexander Medvednikov 43d56cb883 string: update the test 2021-01-22 10:33:06 +01:00
Alexander Medvednikov 216fea1eb3 string: remove left/right (one way!) 2021-01-22 10:26:07 +01:00
Alexander Medvednikov 5815d96418 Revert "builtin: make string.(left|right) pub (#8245)"
This reverts commit 820e684313.
2021-01-22 10:09:31 +01: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
Uwe Krüger 925ffd76f4
sync/channels: expose `ch.closed` as `bool` pseudo attribute (#8244) 2021-01-22 09:37:29 +02:00
zakuro 820e684313
builtin: make string.(left|right) pub (#8245) 2021-01-22 09:35:32 +02:00
yuyi d44c632d11
cgen: fix innermost value of map fixed array (fix #8214) (#8247) 2021-01-22 09:32:56 +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
shadowninja55 a569dc17e8
gg: allow fonts loaded with $embed_file() to be used (#8263) 2021-01-21 23:07:47 +02:00
Daniel Däschle 3ee7bc960f
checker/gen: fix smartcast pointer sumtype (#8260) 2021-01-21 22:31:25 +02:00
Louis Schmieder 6b1956fb60
checker: fix warning at comptime call (#8248) 2021-01-21 21:36:11 +02:00
Louis Schmieder 0d204603d1
gen: fix generic comp time if (#8254) 2021-01-21 21:17:44 +02:00
Louis Schmieder d8c94cd1fd
vweb: make multipart Content-Type header detection case-insensitive (#8255) 2021-01-21 21:16:25 +02:00
Daniel Däschle 6c24e9ba84
tests: automatically add an .out file if not found, with VAUTOFIX=1 (#8250) 2021-01-21 15:48:57 +02:00
yuyi f399c17e3d
parser: check for_in mut key (#8235) 2021-01-21 12:46:15 +01:00
Larpon 62c2168b0b
clipboard: document all pub functions, adhere to vdoc style (#8243) 2021-01-21 12:45:59 +01:00
yuyi 59c3e98c16
cgen: fix complex map_fixed_array (#8209) 2021-01-21 12:45:37 +01:00
yuyi f13ba3a9a8
cgen: fix for_in_mut_val for maps (#8221) 2021-01-21 12:44:22 +01:00
Uwe Krüger 3ecbf78707
cgen: support explicit array handling even in [direct_array_access] functions (#8241) 2021-01-21 12:43:54 +01:00
Daniel Däschle c6d6690064
checker: fix if expr infix (#8215)
* checker: fix if expr infix

* remove debugger code

* fmt

* remove debug

* add test cases
2021-01-21 12:42:24 +01:00
zakuro 29b3077ea1
checker: make negative literal index a checker error (#8242) 2021-01-21 13:27:16 +02:00
zakuro f413c92f2f
v.util: fix bug of mod_path_to_full_name (#8236) 2021-01-21 13:24:32 +02:00
Louis Schmieder 4045ec1ca8
checker: remove vweb unused vars (#8180) 2021-01-21 11:09:19 +01:00
Louis Schmieder f7c251f8f3
vweb: add multipart/form-data parser and file upload (#8160) 2021-01-21 11:08:51 +01:00
Louis Schmieder b44ec4921f
vweb: make vweb async (#8095) 2021-01-21 11:08:38 +01:00
zakuro 0c249fa040
parser: improve anon fn pos (#8210) 2021-01-21 11:01:40 +01:00
Markus F.X.J. Oberhumer d97543605b
pkgconfig: add support for Fedora and CentOS Linux. (#8237) 2021-01-21 11:41:16 +02:00
yuyi 242c5760f1
array: fix array_clone (fix #8220) (#8238) 2021-01-21 10:17:00 +01:00
spaceface f059a9e96c
builtin: fix sorting arrays of primitives (#8204) 2021-01-20 23:19:35 +02:00
yuyi 190bb38087
checker: check fixed array size (#8224) 2021-01-20 23:17:49 +02:00
Larpon c212b4d180
cli: add missing documentation to all pub functionality (#8226) 2021-01-20 23:15:48 +02:00
Enzo 55efd8309a
parser: fix parsing interface methods with varargs (#8229) 2021-01-20 23:15:02 +02:00
Delyan Angelov 94b5e47ba8
ci: fix compilation of projects cloned inside the main repository 2021-01-20 22:44:18 +02:00
Delyan Angelov 071549baae
v.util: fix an out of bounds panic in mod_path_to_full_name/2 2021-01-20 18:22:58 +02:00
Delyan Angelov d92f5c55ba
net: use mut and refs as receivers consistently (#8205) 2021-01-20 11:11:01 +01:00
Alexander Medvednikov 158aefc37f sqlite: create_table() 2021-01-20 09:30:26 +01:00
Alexander Medvednikov 57af8570fe tests: another pointer struct test 2021-01-20 09:24:12 +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
Delyan Angelov b3a4f746a2
clipboard: use a nicer error when X11/Xlib.h is missing 2021-01-19 20:47:09 +02:00
yuyi 985ef52872
cgen: fix child struct's default values not assigned (#8202) 2021-01-19 17:10:22 +01:00
Delyan Angelov d9532eda30
checker: error on a.slice(x,y) outside `builtin` 2021-01-19 15:55:52 +02:00
Tim Basel 129eee346b
fmt: keep single empty lines (#8189) 2021-01-19 14:49:40 +01:00
Ruofan XU 103901a5cb
example/test: add a binary search tree example and test (#8145) 2021-01-19 15:18:38 +02:00
Uwe Krüger 5067046538
parser: support `x = a[k] ?` propagation for arrays and maps (#8199) 2021-01-19 14:46:47 +02:00
yuyi 15cc1cd884
cgen: fix high order map assignment (#8198) 2021-01-19 14:31:24 +02:00
Lukas Neubert ca70d815b6
fmt: move StructDecl comments handling into functions (#8191) 2021-01-19 10:43:48 +01:00
Tomas Hellström da93666cd8
x.websocket: bring back shift operators (#8197) 2021-01-19 10:42:59 +01:00
Delyan Angelov 85bcfdd636
checker: handle `a[i] or { statements expr }` the same as the other or blocks 2021-01-19 09:28:34 +02:00
Delyan Angelov 24d1ec2714
vfmt: support `a[i] or { panic(err) }` too 2021-01-19 08:42:56 +02:00
Delyan Angelov 7037965973
parser: cleanup unused `p.os_from_string` 2021-01-19 08:33:03 +02:00
Lukas Neubert b44c08aff0
fmt: wrap match branch expressions (#8190) 2021-01-19 06:16:42 +01:00
Uwe Krüger b74690cbec
builtin, checker, cgen: implement `x = a[k] or { ... }` for maps and arrays (#8193) 2021-01-19 06:06:57 +01:00
yuyi a65b73d3e4
cgen: fix for_in_fixed_array (fix #8186) (#8195) 2021-01-19 05:50:23 +01:00
Tomas Hellström 874885c87d
x.websocket: fix weird shift operator bug in clang -prod flag (#8192) 2021-01-19 05:49:37 +01:00
Uwe Krüger 5cc591b2b6
all: support generic `chan` (#8188) 2021-01-18 18:37:45 +01: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
Louis Schmieder 38881e4b20
vweb: Implement chunked encoding transfer (#8179) 2021-01-18 13:04:21 +01:00
yuyi 5ddb70940e
cgen: fix map_fixed_arrays str error (fix #8170) (#8178) 2021-01-18 10:34:29 +01:00
Delyan Angelov 17266ecb07
tools: support cmd/tools/.disable_autorecompilation in `v up` and `v self` too 2021-01-18 09:33:33 +02:00
Delyan Angelov 72790cda83
v.util: support cmd/tools/.disable_autorecompilation 2021-01-18 08:43:20 +02:00
yuyi 6c87c25ef1
cgen: fix `for _,mut j in arr` for fixed arrays (fix #8163) (#8167) 2021-01-18 06:05:38 +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
Delyan Angelov 2677fcdf0c
time: add some tolerance for windows's minimum 1ms sleep resolution 2021-01-17 19:16:08 +02:00
Delyan Angelov 3ee78dc961
term: add term.colorize/2, use it in the tests. Support ConEmuANSI = ON too. 2021-01-17 19:09:29 +02:00
Delyan Angelov 75af639721
checker: allow ptr++/ptr-- in unsafe{}, for any kind of pointer, except voidptr 2021-01-17 18:09:25 +02:00
BigBlack 28ed4da1ce
cgen: fix `array_slice(*a, 0, a.len)` C error, generated for `a[..a.len]`, for a `mut a []int` (#8168) 2021-01-17 17:22:23 +02:00
Swastik Baranwal 334b66b311
checker/cgen: add checks and fix cgen for [typedef] for C structs (#8169) 2021-01-17 17:18:07 +02:00
Uwe Krüger e4850cd6dd
cgen: fix `for` iteration over fixed array literal (#8159) 2021-01-17 10:44:15 +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
Tim Basel d16721e5b8
cli: remove flags.get_*_or variants (#8102) 2021-01-17 05:33:39 +01:00
Larpon 512f62b7a1
android: enable custom (e)println output via android log system (#8135) 2021-01-17 05:32:59 +01:00
yuyi 9376c57a51
cgen: fix for_in_mut_val (fix #8087) (#8129) 2021-01-17 05:32:34 +01:00
Lukas Neubert 3e44816e44
fmt: minor code cleanup (#8147) 2021-01-17 05:32:10 +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
Lukas Neubert 371730f8a8
fmt: correct indent for StructDecl multi line default exprs (#8148) 2021-01-17 05:01:55 +01:00
Swastik Baranwal ef627c9d21
checker: improve message and positioning for operator overloading (#8133) 2021-01-17 03:37:44 +01:00
penguindark ee9f9c9d81
x.ttf: add README, some improvements (#8157) 2021-01-17 03:11:47 +01:00
Delyan Angelov 5ae55731b9
embed: move to `v.embed_file`, fix CI failing test 2021-01-16 20:03:07 +02:00
Delyan Angelov d258733752
pkgconfig: add more .pc sample files. `abc,xyz` => `abc xyz` in `Requires:` 2021-01-16 18:03:01 +02:00
Delyan Angelov 5c3ef588c3
live: move to vlib/v/live 2021-01-16 15:05:01 +02:00
Delyan Angelov 8571d9395b
preludes: move to vlib/v/preludes 2021-01-16 14:43:24 +02:00
Delyan Angelov 80d1aadc50
ci: fix check-markdown for vlib/v/pkgconfig/README.md 2021-01-16 14:34:14 +02:00
Delyan Angelov 1a8a1ceb0a
pkgconfig,flag: add tests to pkgconfig, fix bugs and links, improve flag.usage() 2021-01-16 12:04:31 +02:00
Daniel Däschle 53941c4a0a
fmt: fix if cond break readability (#8132) 2021-01-16 02:12:17 +01:00
Uwe Krüger 2f7a66386e
docs: document `go` with handle and `wait()` (#8142) 2021-01-15 23:40:26 +02:00
penguindark 1d1fda9522
x.ttf: fix for the MSVC `get_string` pointer issue (#8139)
* fix tab and spaces in indentation

* fix for glyph not found error

* fix for get_String in ttf.v pointer problems with MSVC

* avoid second return in get_string

* move from u32 to u64 to byteptr in 64 bit systems
2021-01-15 20:40:56 +02: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
Delyan Angelov 263fb7d7a8
checker: fix `instance.cb_field(mut arg)` 2021-01-15 20:28:42 +02:00
Uwe Krüger 1c6fe83408
parser: fix parsing of `go` call expression (#8138) 2021-01-15 19:47:49 +02:00
Ruofan XU 5de287a6e7
tests: add test of sumtype-based binary tree (#8121) 2021-01-15 15:10:30 +02:00
Uwe Krüger 8d014d4646
sync: allow `go` routine join with return value (#8125) 2021-01-15 13:45:26 +01:00
Delyan Angelov 995f27a7c0
builtin,os: use more precise C. declarations for C.fread, C.fwrite and C.qsort 2021-01-15 12:15:31 +02:00
BigBlack 80008a40e2
fix fixed_array slice ommit high_value (#8025) 2021-01-15 10:28:20 +01:00
Lukas Neubert 57dd511c9d
fmt: move all exprs and stmts to their own methods (#8107) 2021-01-15 10:26:33 +01:00
yuyi 0945efebf1
cgen: fix anon_fn_call (#8120) 2021-01-15 10:25:30 +01:00
yuyi c6099df418
cgen: fix c struct str method (#8117) 2021-01-15 07:51:28 +01:00
Lukas Neubert 20c80db426
fmt: move comments related methods to extra file (#8028) 2021-01-15 07:51:07 +01:00
Swastik Baranwal 0ca36aafe2
cgen: allow assignment operators for type aliases (#8086) 2021-01-15 02:27:19 +01:00
yuyi aeddd5b559
string: minor optimization (fix #8100) (#8106) 2021-01-15 02:26:06 +01:00
Nick Treleaven c80cc917c7
checker: check casting struct -> interface; disallow casting struct -> interface pointer (#8110) 2021-01-15 01:20:58 +01:00
zakuro c39f0a7cb7
ast: add str for AssertStmt (#8021) 2021-01-15 00:17:26 +01:00
Nick Treleaven 127503c77d
checker: disallow indexing a voidptr (#8109) 2021-01-14 20:51:43 +02:00
Nick Treleaven 890fb2d09d
checker: show signature for interface method on error (#8111) 2021-01-14 20:50:06 +02: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
Delyan Angelov 9003ea7ca3
builtin: fix a warning for `-d debug_realloc` 2021-01-14 12:28:49 +02:00
Delyan Angelov ca5f88eb7d
builtin: implement `-d debug_realloc` 2021-01-14 11:41:52 +02:00
Delyan Angelov adf084eeed
cgen: fix address violations for `return error(abc)`, reduce leaks in `os` 2021-01-14 04:58:26 +02:00
yuyi a2efb5319d
all: change `[1,2,3]!!` to `[1,2,3]!` (#8101) 2021-01-14 03:51:13 +01:00
zakuro c8bcee9639
ast: add str for comment (#8019) 2021-01-14 02:21:27 +01:00
zakuro fdf5f5003b
ast: add str for ArrayInit (#8022) 2021-01-14 02:21: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
yuyi 1d28c4de2a
cgen: fix multi fixed arrays with default init (fix #8038) (#8064) 2021-01-13 22:57:33 +02:00
Delyan Angelov 0d25091afd
tests: fix random color mismatches in the CI 2021-01-13 21:27:30 +02:00
Delyan Angelov 349eb95a28
time: comment .local() in time_windows.c.v too 2021-01-13 21:27:30 +02:00
Lukas Neubert 8a8978fb01
fmt: keep same line comments after arr.sort() in vsh files (#8026) 2021-01-13 20:10:17 +02:00
Daniel Däschle 2030875c0a
gen: fix go call with generic function (#8093) 2021-01-13 17:35:50 +02:00
Nick Treleaven a1245de25b
gen: fix interface method call name that is a C reserved word (#8091) 2021-01-13 16:37:47 +02:00
crthpl 70ad49e186
time: complete doc (#8070) 2021-01-13 16:30:54 +02:00
zakuro 204cc5fb01
ast: add case for Import in `fn (node Stmt) str()` 2021-01-13 15:56:48 +02:00
zakuro 4923048d95
ast: add case for ConstDecl in `fn (node Stmt) str()` (#8073) 2021-01-13 15:54:41 +02:00
Ruofan XU 245ed9160a
gen: fix `mut arr [3]int` as a fn argument (#8085) 2021-01-13 15:52:46 +02:00
Lukas Neubert 219486f0a5
fmt: cleanup `'` and `"` quotes handling (#8082) 2021-01-13 11:09:03 +02:00
Daniel Däschle a22982d662
tests: colorize failing tests, improve layout (#8066) 2021-01-13 11:07:12 +02:00
zakuro 4cd50ed566
scanner: remove debug_tokens (#8078) 2021-01-13 08:33:37 +01:00
yuyi ae592299dc
cgen: fix fixed arrays literal eq (#8079) 2021-01-13 08:32:41 +01:00
yuyi 7458b699d0
fmt: change `[1,2,3]!!` to `[1,2,3]!` (#8081) 2021-01-13 08:32:17 +01:00
Nick Treleaven ac85257ea0
parser: fix sizeof(mod.Type), fix checking sizeof expression (#8065) 2021-01-13 06:13:39 +01:00
yuyi dd6febf6fa
cgen: fix gen_array_sort() (#8077) 2021-01-13 06:12:22 +01:00
zakuro 254df0ca62
fmt: improve string quotes (#8075) 2021-01-13 06:05:27 +01:00
zakuro 3e3d45b2b1
parser: improve array init warning (#8024) 2021-01-13 06:03:23 +01:00
zakuro e8ab79205f
ast: add str for Module (#8072) 2021-01-13 06:00:53 +01:00
Swastik Baranwal 1e853b0efc
cgen: implement argument operator overloading (#8067) 2021-01-13 03:31:14 +01:00
Lukas Neubert 0e490766df
fmt: do not move single line block comments to previous line (#8046) 2021-01-13 03:30:24 +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
Delyan Angelov ef18fb837c
net.urllib: workaround an autofree bug for `if cond && opt() {` 2021-01-12 16:29:04 +02:00
Daniel Däschle 3289dff7ff
checker: require explicit return none (#8060) 2021-01-12 11:43:55 +01:00
yuyi 33976246c8
cgen: format the generated c code of arrays map and filter (#8016) 2021-01-12 04:39:09 +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 82a5300044
cgen: allow sort with`<` and `>` op overloading (#8042) 2021-01-12 04:38:12 +01:00
Swastik Baranwal 5a1699dec2
checker: add more checks for operator overloading (#8030) 2021-01-12 04:37:20 +01:00
yuyi 1559e72d0d
cgen: add gen_fixed_array_equality_fn (#8006) 2021-01-12 01:35:18 +01:00
penguindark 55e3e50b9b
ttf: improvement on not found glyphs (#8050) 2021-01-12 00:49:58 +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 5d6e9f7bf9
fmt: fix rare extra tab after a SumType (#8035) 2021-01-11 22:19:42 +01:00
yuyi 72317975fc
cgen: minor cleanup of gen_assert_stmt() (#8018) 2021-01-11 09:05:15 +01:00
Tomas Hellström cc17f145c5
websocket: make compile with autofree (#8023) 2021-01-11 09:03:10 +01:00
yuyi a1c67232d0
checker: fix duplicate variable name (fix #265) (#7982) 2021-01-10 21:41:29 +01:00
yuyi 39bb6f0491
array: fix array of multi filter/map in one assignment (fix #7858) (#7976) 2021-01-10 21:08:45 +01:00
zakuro c1b1ec9005
fmt: keep same line comment in array init (#7980) 2021-01-10 21:06:48 +01:00
zakuro 2103d9a6c4
fmt: keep new line at both ends of block comment (#8003) 2021-01-10 21:06:29 +01:00
Swastik Baranwal 8f4238e76a
time: use operator overloading for `>=` and `<=` (#8009) 2021-01-10 21:05:05 +01:00
Lukas Neubert a8378273a5
fmt: fix too many \n if file has only imports (#8012) 2021-01-10 21:19:31 +02:00
yuyi a97ed55a09
checker: check for an unknown struct name (fix #8007) (#8010) 2021-01-10 21:16:53 +02:00
Delyan Angelov 692a718428
examples: use os.resource_abs_path, so `v run examples/ttf_font/example_ttf.v` works 2021-01-10 20:36:50 +02:00
penguindark c067cc0357
vlib: add a TTF font loader and render in `x.ttf` (#7995) 2021-01-10 20:14:41 +02:00
Delyan Angelov a0b8191a94
net: cleanup unused `time` imports in tests 2021-01-10 18:59:06 +02:00
Larpon 93ad595ffb
vet: add suggestions for function documentation (#7890) 2021-01-10 18:48:39 +02:00
Lukas Neubert d96a1b8a5f
fmt: intelligent newlines for trailing arg syntax (#7748) 2021-01-10 17:39:37 +01:00
Delyan Angelov 722a603222
cgen: fix os.args initialization, so that `const x = os.args[0]` works 2021-01-10 15:17:24 +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
Lukas Neubert 73bd63d69d
token: remove // from comment kind string (#7992) 2021-01-10 12:19:59 +02:00
Lukas Neubert 31753f581f
ast: remove redundant InfixExpr.str() (#7993) 2021-01-10 12:19:14 +02:00
pancake 0e016baa34
v.pkgconfig: support Requires.private; handle double spaces in pkgconfig files (#7994) 2021-01-10 12:14:41 +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
Delyan Angelov 561d4f84b3
tests: remove tmp files on OK live_test.v run 2021-01-09 20:56:02 +02:00
zakuro 407da09acf
ast: add str for EnumDecl (#7977) 2021-01-09 19:49:27 +01:00
Delyan Angelov aa37382e8d
tools: let `v fmt` use VTMP too, stabilise `v test-cleancode` 2021-01-09 20:41:15 +02:00
Larpon 8f315d226b
vvet: move to own subdir, prepare richer suggestions (#7989) 2021-01-09 16:11:49 +02:00
Delyan Angelov 7545ed4121
ci: fix union field warnings in `clipboard` module 2021-01-09 11:37:40 +02:00
Don Alfons Nisnoni d645e45752
mysql: add more documentation (#7846) 2021-01-09 10:40:21 +02:00
Ned Palacios 256ddcee1f
v.ast: add walker submodule for ast walking (#7775) 2021-01-09 05:36:38 +01:00
Uwe Krüger eff757d0a1
cgen: fix address violations for error propagation (#7972) 2021-01-09 02:43:48 +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
Delyan Angelov dff36a9947
cgen: fix small g.is_autofree && [manualfree] problem 2021-01-08 23:24:26 +02:00
Uwe Krüger 29c2240aef
fmt: enable `or` block for `ch <- x` (#7969) 2021-01-08 21:39:21 +01:00
Daniel Däschle 687b152318
gen: fix generation of comptime if T is (#7971) 2021-01-08 19:39:58 +02: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
Hitalo de Jesus do Rosário Souza cad4c5ee37
gx: add .rgba8(), .bgra8(), .abgr8() methods to gx.Color (#7911) 2021-01-08 13:40:03 +02:00
yuyi a481c1785b
log: fix log_to_file (#7955) 2021-01-08 12:26:37 +02: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 1b07710ab3 vweb: make html() return Result 2021-01-08 05:05:29 +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
Lukas Neubert 653121bad9
fmt: test bin2v output formatting (#7926) 2021-01-07 21:36:59 +01:00
Daniel Däschle 88d18f3303
checker: smartcast in for loops (#7942) 2021-01-07 21:35:32 +01:00
zakuro 226c918bdd
cli: make execute_help pub (#7938) 2021-01-07 20:33:15 +01:00
Nick Treleaven cbefe6c32f
parser: warn about old use of `typeof` (#7923) 2021-01-07 20:32:02 +01:00
zakuro a2add15558
ast: add params info to str of FnDecl (#7933) 2021-01-07 20:25:55 +01:00
Larpon 41e9a769e9
doc: fix README embedding (#7929) 2021-01-07 20:25:29 +01:00
zakuro af1d28dee7
ast: add str for StructDecl (#7934) 2021-01-07 20:25:04 +01:00
yuyi ad79d55a5c
ftp: fix an error (#7930) 2021-01-07 20:21:47 +01:00
yuyi 2ad2d68d7c
json: fix decoding of null map/array (#7936) 2021-01-07 20:21:22 +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
Delyan Angelov 9593ad20f9
v.util: extend launch_tool with auto recompilation of a folder with several .v files too 2021-01-06 23:48:38 +02:00
Uwe Krüger ffd753abdc
all: implement `ch <- x or {...}` and `ch <- x ?` (#7928) 2021-01-06 21:19:40 +01:00
Larpon 30a2f125ef
doc: add comment example support (#7924) 2021-01-06 19:43:43 +01:00
Hitalo de Jesus do Rosário Souza ea4981df90
vweb.tmpl: update README.md with @js directive (#7791) 2021-01-06 20:05:32 +02:00
Daniel Däschle a8e4d1df40
cgen: fix match comparing with ident of type string (#7921) 2021-01-06 20:03:50 +02:00
Larpon dcc8310bd0
builtin: fix comment examples in int.v (#7902) 2021-01-06 20:02:04 +02: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
yuyi f751271e4e
ftp: fix error of ftp.connect() (fix parts of #7914) (#7915) 2021-01-06 19:53:25 +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
Tomas Hellström f9a873736e
x.websocket: server broadcast plus examples (#7922) 2021-01-06 15:43:54 +01:00
Daniel Däschle 42e60b8e27
vweb: fix array.last usage (#7905) 2021-01-06 01:24:36 +01:00
Larpon e219f954d8
builtin: document all functions in float.v (#7904) 2021-01-05 23:01:10 +01:00
Alexander Medvednikov 5c4c4354b1 byte: more tests 2021-01-05 19:34:42 +01: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
Larpon fdb6f1ab50
builtin: int.v workaround vfmt bug (#7899) 2021-01-05 20:09:20 +02: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
Delyan Angelov 95431cf6b0
builtin: fix the comment example in byte.str_escaped() 2021-01-05 18:22:17 +02:00
yuyi 10e7045bee
cgen: fix array/fixed_array_rune_str (#7881) 2021-01-05 18:16:55 +02:00
Daniel Däschle c137a79666
checker: check if $if left is selector expr (#7897) 2021-01-05 18:14:55 +02:00
Larpon 9b9cab92f0
builtin: document all functions in int.v (#7896) 2021-01-05 17:45:36 +02:00
yuyi 9d9ca0ab5e
builder: auto cleanup xxx.def generated by tcc on windows (#7878) 2021-01-05 17:07:07 +02:00
Nick Treleaven 3203a124b2
checker: warn when casting between reference types outside of `unsafe` (#7892) 2021-01-05 17:02:04 +02:00
Lukas Neubert eaba21d81a
fmt: keep the shebang header in vsh files (#7893) 2021-01-05 16:14:16 +02:00
Daniel Däschle 5841d5d8e1
all: implement basic comptime field selector (#7888) 2021-01-05 16:11:43 +02:00
zakuro e19277352b
cli: add Command.setup() (#7850) 2021-01-05 13:25:25 +02:00
Swastik Baranwal 7c290a7fe8
time: use operator overloading (#7882) 2021-01-05 12:43:34 +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 2fc50a4045
cgen: fix 32-bit voidptr for map key (#7759) 2021-01-05 02:59:01 +01:00
zakuro 3dae44db73
checker: do not allow empty enums (#7848) 2021-01-05 01:46:32 +01:00
Nick Treleaven c0e56d10c3
parser: add errors for invalid anonymous function (#7786) 2021-01-05 01:32:24 +01:00
Daniel Däschle 9f74be4cf6
vweb: route to index dynamically (#7782) 2021-01-05 01:30:27 +01:00
zakuro a7a8e659f6
fmt: keep generic type in method call (#7874) 2021-01-05 01:29:58 +01:00
spaceface efb80bdffd
all: implement iterators in for loops (#7867) 2021-01-05 01:06:44 +01:00
Ned Palacios 82162b8ff8
cgen: interface fix + add more interface tests (#7776) 2021-01-04 21:54:13 +02:00
Nick Treleaven 040b923665
checker: warn when accessing `union` fields outside `unsafe` (#7869) 2021-01-04 21:44:37 +02:00
Daniel Däschle 7c9fb73b3f
vfmt: fix comments before ...f in Abc{...f} (#7870) 2021-01-04 21:01:35 +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
clubby789 0ab6a8cd01
os: add a `posix_set_permission_bit` function (#7754) 2021-01-04 19:57:17 +02:00
yuyi 46d311dcc4
generic: fix return multi array generic (fix #7727 #7753) (#7855) 2021-01-04 18:40:53 +02:00
Don Alfons Nisnoni 7533ffa48f
mysql: add README.md (#7824) 2021-01-04 18:37:10 +02:00
yuyi 52521554ce
time: fix parse_iso8601 on windows (#7853) 2021-01-04 18:26:21 +02:00
Nick Treleaven b9c6011602
parser: support casting to a pointer to array (#7861) 2021-01-04 18:22:04 +02:00
Delyan Angelov 22085041f1
strconv: implement strconv.format_int(n, radix) and strconv.format_uint(n,radix) 2021-01-04 16:02:13 +02:00
Delyan Angelov 3a357d9718
gg: add examples/gg/stars.v 2021-01-04 12:19:05 +02:00
Swastik Baranwal 21d5db43af
cgen: do not generate `!=` and `==` for C types (#7856) 2021-01-04 08:57:31 +01:00
Daniel Däschle 43adbf4b66
cgen: fix filter in map (#7844) 2021-01-04 01:04:53 +01:00
Alexander Medvednikov baae302894 cc: use -g instead of -g3 2021-01-04 00:15:27 +01:00
Delyan Angelov f2bfda4989
ci: skip test_utf8_wide_char on windows with msvc 2021-01-04 00:16:31 +02:00
Uwe Krüger 4a25c2bb6f
types: rename `any_*`, `untyped *` -> `* literal` (#7845) 2021-01-04 00:11:09 +02:00
Delyan Angelov 9b43b6833b
ci: fix clipboard_test.v on windows 2021-01-03 23:46:08 +02:00
Delyan Angelov 760de7c811
ci: use more reliable asserts for test_utf8_wide_char 2021-01-03 22:15:18 +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
Delyan Angelov c84d1841ea
tests: implement `VAUTOFIX=1 ./v vlib/v/compiler_errors_test.v` 2021-01-03 19:00:34 +02:00
Joe Conigliaro 70b921c49d
all: change any_int & any_flt display name 2021-01-04 03:20:52 +11:00
Alexander Medvednikov 89bbbe0ec0 vweb: vfmt vweb.v 2021-01-03 17:03:18 +01:00
penguindark 443ae1d76e
regex: fix a bug in find and find_all (#7839) 2021-01-03 16:59:00 +01:00
Enzo 9332f7cac2
checker: allow `map` method name (#7834) 2021-01-03 16:57:29 +01:00
yuyi 443bf44031
tests: fix ci error in vtest-fixed (fix #7827) (#7830) 2021-01-03 16:38:28 +01:00
Enzo 22e54e6703
fmt: fix formatting array decomposition (#7835) 2021-01-03 16:19:43 +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
zakuro 91a1a2877b
fmt: add a test for struct embed (#7831) 2021-01-03 15:41:19 +01:00
yuyi 60b3658e6f
gen: fix str_gen_test.v (#7826) 2021-01-03 15:40:47 +01:00
penguindark 681ff3cc0d
regex: bug fix on .* cases (#7823) 2021-01-03 01:33:34 +01:00
Swastik Baranwal dee3bbffe9
cgen: support .str() for maps with non string keys (#7806) 2021-01-02 20:25:46 +02:00
Alexander Medvednikov fc6d45b2d7 fmt: fix mut_pos in structs with embeds 2021-01-02 19:24:12 +01:00
zakuro b3de003302
fmt: fix broken formatting in fn struct fields (#7794) 2021-01-02 16:36:31 +01:00
zakuro 6bd35505a2
parser: fix error when using imported types in short fn signature (#7795) 2021-01-02 15:09:54 +02:00
Don Alfons Nisnoni e943d03298
mysql: migrate connection flags to enum instead of const, fix example (#7803) 2021-01-02 15:09:20 +02:00
yuyi 7f776bfd29
utf8: fix utf8_test (#7804) 2021-01-02 14:55:21 +02:00
Delyan Angelov c1e0e01f8f
vweb: simplify the `[post] pub fn` no routing fix check 2021-01-02 13:47:54 +02:00
Delyan Angelov d912ff165b
ci: fix failing vweb test, increase timeout for vweb_test_server.v, add VWEB_LOGFILE 2021-01-02 13:33:26 +02:00
yuyi 01e098aa77
vrepl: fix v repl on Windows (#7798) 2021-01-02 12:17:39 +01:00
Louis Schmieder f7135979f5
vweb: fixed req type without path (#7792) 2021-01-01 21:57:45 +01:00
Alexander Medvednikov 7496c74f7e vweb: add [post] test 2021-01-01 21:29:17 +01:00
Nick Treleaven 0a069dee79
gen: support non-string map equality and speed it up (#7682) 2021-01-01 20:54:49 +01:00
Alexander Medvednikov 0c77bdf8f6 tutorials: fix blog code 2021-01-01 20:38:22 +01:00
Ned Palacios 40b8d9ca3d
checker: fix infer_fn_type for generic methods (#7767) 2021-01-01 17:33:23 +01:00
Daniel Däschle ac22fe998a
vweb: default init methods (#7779) 2021-01-01 17:24:54 +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
Nick Treleaven d15d13674c
parser: parse non-identifier expressions for sizeof too (#7781) 2021-01-01 15:38:11 +02: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
zakuro 73f41f9a2a
scanner: remove unicode operator (#7766) 2021-01-01 13:05:28 +02:00
spaceface 480d78de2e
examples/2048: make tiles have rounded corners (#7763) 2021-01-01 13:04:51 +02:00
yuyi b6136f9f8f
clipboard: fix `to_wide()` in clipboard_windows.c.v (#7768) 2021-01-01 11:07:58 +02:00
clubby789 bf7da14ba1
cgen: make char literals wide (#7769) 2021-01-01 11:06:09 +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
Joe Conigliaro 63afd26c8c
cgen: merge method to write multi return types 2021-01-01 07:45:03 +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
Alexander Medvednikov 3ffdcd8910 vweb: embed context 2020-12-31 17:07:27 +01:00
zakuro 1fb6710c89
build: remove `v build file.v` (#7695) 2020-12-31 15:24:55 +01:00
Alexander Medvednikov f7b3ed2f4a cc: hide a print behind -v 2020-12-31 14:24:34 +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
clubby789 3e44393152
x64: optimize mov <reg>, 0 (#7733) 2020-12-31 12:40:09 +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
Ned Palacios 5597925d58
parser: separate SelectorExpr if name is on another line (#7700) 2020-12-31 12:37:11 +01:00
Joe Conigliaro b2bd2c9337
cgen: make multi return decl order consistant & use typedefs. closes #7728 2020-12-31 21:55:21 +11:00
lydiandy 20f507651e
v.ast: remove unused path and expr fields in Module (#7625) 2020-12-31 12:17:59 +02:00
Bakul Shah 45495c3ebb
clipboard: fix test on freebsd (#7735) 2020-12-31 11:34:46 +02:00
yuyi 7ce3c5e206
os: change os.mv/2 return type to `?` (#7738) 2020-12-31 11:33:39 +02:00
Ryan Prior 64e7c54884
v.util: accomodate reproducible build environments like guix, by not recompiling cmd/tools when mtime < 1024 (#7702) 2020-12-31 10:31:38 +02:00
Alicia Woitte 9f3dd6e18f
cli: fix unused callback in test_if_subcommands_parse_args (#7731) 2020-12-31 10:16:05 +02:00
Joe Conigliaro 3e655d6bf6
cgen: fix multi return auto str methods. closes #7726 2020-12-31 10:21:02 +11:00
Daniel Däschle 9a31744255
cgen: fix embed generic field access & method call (#7725) 2020-12-30 23:49:02 +01:00
Daniel Däschle b4c5fa8ca0
cgen: fix embed field access from reference (#7724) 2020-12-30 21:50:58 +01:00
Daniel Däschle 3ee3c8b3ed
parser: proper error on fn decl in script mode (#7680) 2020-12-30 21:18:36 +02:00
Daniel Däschle e4edc5925a
parser: embed always public and mutable (#7722) 2020-12-30 21:17:48 +02:00
Daniel Däschle b8af81240a
cgen: fix struct embedding method when receiver is ptr (#7710) 2020-12-30 20:44:01 +02:00
StunxFS 13cd7e88ef
checker: error taking the address of a boolean literal (#7716) 2020-12-30 17:21:15 +01:00
Delyan Angelov b4f02adc32
os: add os.execve/3 (extracted from unix_spawn_process); use os.execvp/2 in v.util.launch_tool/3 2020-12-30 18:14:03 +02:00
Larpon c943c8a16e
readline: move get_prompt_offset back to _linux.c.v (#7714) 2020-12-30 17:09:07 +01:00
Larpon 7872b8d911
semver: add input information in error and panic output (#7712) 2020-12-30 17:07:21 +01:00
Larpon b1f16533b1
readline: add missing documentation, fix documentation format, add README.md (#7683) 2020-12-30 15:09:13 +02:00
Alexander Medvednikov 9976641be0 fmt: fix a space in const decl 2020-12-30 02:24:38 +01:00
Alexander Medvednikov ad78875a8c parser: allow `const x = 0` consts outside of const blocks 2020-12-30 02:15:44 +01:00
Alexander Medvednikov e26a690975 0.2.1 2020-12-29 21:24:33 +01:00
zakuro b28b41d069
v run: pass all args after file.v only to script args, do not process them as v flags (#7672) 2020-12-29 21:16:20 +02:00
yuyi f6d64c74c2
cgen: fix minor typos in map_fn_ptrs (#7679) 2020-12-29 21:02:28 +02:00
yuyi 27db4b4c23
cgen: minor cleanup of cgen.v (#7688) 2020-12-29 20:57:34 +02:00
ka-weihe 2c65c5c61a
ci: sanitize compiler for tests (#7685) 2020-12-29 20:27:57 +02:00
Delyan Angelov 81fd49642a
net: restore back the blocking TcpConn.read_line() method for simplicity 2020-12-29 17:51:16 +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
Delyan Angelov 17e0a65611
net: add support for `-d trace_tcp` to ease debugging 2020-12-29 15:41:46 +02:00
Alexander Medvednikov 40ce18fa3c checker: handle unwrapped optionals in infix exprs 2020-12-29 13:49:43 +01:00
yuyi 34c89258a4
cgen: fix array of array/map init (fix #7597) (#7671) 2020-12-29 11:50:25 +01:00
Joe Conigliaro d094baf107
cgen: add temp (TODO) auto str for interfaces 2020-12-29 20:25:38 +11:00
Delyan Angelov 84fc9cec4b
builtin: add string.split_by_whitespace() 2020-12-29 08:46:46 +02:00
yuyi b87283e970
cgen: minor optimization of auto_eq_methods.v (#7668) 2020-12-29 07:48:37 +02:00
Lukas Neubert cf441091f1
fmt: AnonFn with body is not single line (#7659) 2020-12-28 20:27:27 +02:00
Lukas Neubert 2360762a42
fmt: fix unexpected `comment`, expecting struct key for trailing arg syntax (#7658) 2020-12-28 20:26:24 +02:00
Delyan Angelov fe7fa7077e
ci: fix for os.execvp on macos (cargs << charptr(cmdpath.str) too) 2020-12-28 20:20:56 +02:00
Delyan Angelov 8fe85bcc33
ci: fix for os.execvp on macos (<<charptr()) 2020-12-28 20:15:30 +02:00
Delyan Angelov 4c40891d5e
ci: fix for os.execvp on macos (<<) 2020-12-28 20:10:57 +02:00
Delyan Angelov a8b2745019
ci: fix for os.execvp on macos 2020-12-28 20:01:19 +02:00
Delyan Angelov ef786f9a75
os: add os.execvp/2 2020-12-28 19:35:52 +02:00
Swastik Baranwal 2795f929fa
checker: update check for arr=arr1 (#7651) 2020-12-28 18:35:34 +01:00
yuyi 9631eac9c5
cgen: fix `array.index()` of ref struct (#7652) 2020-12-28 18:33:57 +01:00
ka-weihe 93262353d6
cgen: fix map exists bug (#7647) (#7655) 2020-12-28 18:32:51 +01:00
yuyi 32091dd90e
cgen: fix struct equality (#7649) 2020-12-28 18:22:47 +02:00
Lukas Neubert 4783503185
fmt: keep interface comments between methods (#7650) 2020-12-28 18:14:55 +02:00
Lukas Neubert 97bfabf194
fmt: heavily refactor and improve/fix logic for structs that use short args syntax (#7653) 2020-12-28 18:14:08 +02:00
Lukas Neubert ef6011b94c
fmt: keep comments after struct decl default value (#7648) 2020-12-28 15:38:21 +02:00
lydiandy ecc7c27c9c
v.ast: document vlib/v/ast/ast.v (#7624) 2020-12-28 13:52:04 +02:00
Delyan Angelov 3f3ae67b55
Revert "cgen: fix struct_eq (#7639)"
This reverts commit 164dd3000b.
2020-12-28 13:16:00 +02:00
penguindark a98adbb3a4
regex: fix a bug, update docs, explain the assumptions of the `regex` module (#7629) 2020-12-28 12:43:03 +02:00
Ned Palacios 2946673bc2
parser: fix StructInitField pos, when value expr is empty (#7643) 2020-12-28 12:39:02 +02:00
yuyi d46b930c71
cgen: fix `in array_of_ref_structs` (fix #7623) (#7640) 2020-12-28 12:29:56 +02:00
yuyi 07459a77e3
cgen: fix gen_array_equality_fn() (#7633) 2020-12-28 12:26:50 +02:00
yuyi 164dd3000b
cgen: fix struct_eq (#7639) 2020-12-28 12:25:22 +02:00
yuyi 547df57316
cgen: fix gen_map_equality_fn() (#7636) 2020-12-28 12:22:14 +02:00
yuyi dea3d0431d
parser: minor cleanup of `parse_block_no_scope()` (#7644) 2020-12-28 11:58:44 +02: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 100b3704cd
v.pref: fix `-nocache`, add `-no-retry-compilation`, add `-d trace_use_cache` 2020-12-28 09:42:43 +02:00
Delyan Angelov b7a5dbf7b4
test-cleancode: add the rest of vlib/x/websocket/ 2020-12-28 07:25:46 +02:00
Delyan Angelov b65353794c
ci: run vfmt over websocket_client.v and websocket_server.v 2020-12-28 07:14:06 +02:00
Alexander Medvednikov bd67b647f2 websocket: vfmt 2020-12-28 01:06:57 +01:00
Joe Conigliaro dbad60acbf
net: use non versioned paths for openssl on mac arm64 2020-12-28 10:32:35 +11:00
ka-weihe 1d339cff16
map: remove unused code (#7622) 2020-12-27 19:16:45 +01:00
Larpon 9e6575eaab
runtime: document all functions (#7612) 2020-12-27 20:14:43 +02:00
Swastik Baranwal d87011ab78
cgen: fix generic contains method (#7618) 2020-12-27 20:07:53 +02:00
Larpon ed6ba0a2b8
rand: document all functions, document range notation form, fix copy-pasta (#7619) 2020-12-27 20:06:17 +02:00
ka-weihe b9df7aae4d
map: cleanup (#7621) 2020-12-27 18:31:50 +01:00
Delyan Angelov df61cf246b
cgen: fix `x.interface_field = value_implementing_interface` (closes #7620) 2020-12-27 19:12:39 +02:00
Delyan Angelov 8872b0a23b
v.util: fix launch_tool for the vdoc (folder) case 2020-12-27 17:43:44 +02:00
Lukas Neubert 6f194f2fa9
test-cleancode: add `benchmark` and `bitfield` (#7613) 2020-12-27 15:51:55 +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
Daniel Däschle 929a002229
vdoc: move to it's own directory cmd/tools/vdoc/ (#7606) 2020-12-27 14:43:23 +02:00
Lukas Neubert c9081a8df8
fmt: improve conditions for single line if 2020-12-27 12:59:28 +01:00
cbracketdash 0210d1bf24
vrepl, term: return cursor to the top-left corner in vrepl after `clear` (#7600) 2020-12-27 13:43:36 +02:00
Alexander Medvednikov 06e9951224 Revert "map: fix map.clone, refactor, fix map_get_1, map_set_1 non-string keys (#7538)"
This reverts commit bcdf3ca0cf.
2020-12-27 12:04:08 +01:00
Alexander Medvednikov 0d43ff2453 parser: fix `for i, mut val in vals {; examples: vfmt flappybird 2020-12-27 12:02:18 +01:00
Nick Treleaven bcdf3ca0cf
map: fix map.clone, refactor, fix map_get_1, map_set_1 non-string keys (#7538) 2020-12-27 11:54:12 +01:00
yuyi 79117f5581
cgen: move logic from cgen.v to auto_eq_methods.v and array.v (#7572) 2020-12-27 11:24:35 +01:00
zakuro 21805ea2a5
all: make eprint[ln] behave same as print[ln] (#7595) 2020-12-27 11:22:16 +01:00
Delyan Angelov d563261e58
vweb: run vfmt, add it to `v test-cleancode` 2020-12-27 11:38:12 +02:00
penguindark 1b9d514275
regex: fix a bug #7559 (#7601) 2020-12-27 09:16:00 +02:00
Nick Treleaven 1383771423
cgen: fix return type for MapEqFn and add MapCloneFn, MapFreeFn (#7578) 2020-12-26 22:14:31 +02:00
penguindark b7f4e824df
regex: remove undocumented deprecated calls, optimize speed and memory usage (#7582) 2020-12-26 22:08:56 +02:00
Lukas Neubert 13b14ecead
test-cleancode: add the `arrays` module too (#7583) 2020-12-26 20:21:52 +02:00
Swastik Baranwal e27252bef5
parser: fix the position of the multi variable += assign error (#7584) 2020-12-26 19:48:58 +02:00
Lukas Neubert 9a5bbc3101
fmt: use single quotes around fixed string arr default expr (#7581) 2020-12-26 15:12:25 +02:00
Delyan Angelov e26e0c3f72
os: restore some of the deprecated os.File methods 2020-12-26 14:57:51 +02:00
Lukas Neubert 6969300f8a
test-cleancode: add vlib/orm (#7577) 2020-12-26 14:40:22 +02:00
Lukas Neubert 693e5137eb
fmt: cleanup copy pasta for array_init (#7579) 2020-12-26 14:22:50 +02:00
Lukas Neubert f707e13b3f
fmt: keep order by in orm blocks (#7576) 2020-12-26 14:18:09 +02:00
Ned Palacios dfcbf31f65
parser: return node on incomplete module selector (#7574) 2020-12-26 12:23:51 +02:00
yuyi 1558bd1658
parser: minor optimization of `expr()` (#7575) 2020-12-26 12:22:06 +02:00
Bakul Shah 80a9d08505
sokol: fix for freebsd (#7466) 2020-12-26 10:08:16 +02:00
Daniel Däschle 6842c3c1a4
vdoc: add a node type prefix (#7563) 2020-12-26 08:55:35 +02:00
yuyi d66ed46486
parser: minor cleanup of `stmt()` (#7573) 2020-12-26 08:54:13 +02:00
Alexander Medvednikov 13f16b4a82 time: rename to_local_time() to local(); time.offset() 2020-12-26 02:10:47 +01:00
Daniel Däschle 7507403118
cgen: fix zero init bug of embedded structs (#7567) 2020-12-25 22:46:42 +02:00
Lukas Neubert e7ca5dd17a
fmt: update expr_is_single_line for MatchExpr, StructInit and CallExpr with or block (#7564) 2020-12-25 21:43:50 +02:00
Lukas Neubert 2c0fba5480
fmt: keep comment between enum fields (#7566) 2020-12-25 21:41:59 +02:00
Delyan Angelov 270ba07e83 clipboard: add a `clipboard.x11` submodule, use it by default; add a `clipboard.dummy` for solaris 2020-12-25 19:34:21 +02:00
Nick Treleaven 17cccc7b36
gen: add MapHashFn typedef before map struct is declared (#7541) 2020-12-25 19:05:53 +02:00
Lukas Neubert e9affe33ce
ast: fix C error for scope's .str() method (#7561) 2020-12-25 19:03:03 +02:00
yuyi 775d16cce3
array: remove redundant index method in array.v (#7523) 2020-12-25 17:21:23 +02:00
yuyi 3345925883
parser: minor simplification of `stmt` (#7550) 2020-12-25 16:59:13 +02:00
Lukas Neubert 8cd74df2f3
vfmt: keep UnsafeExpr linebreacks as set by developer (#7558) 2020-12-25 16:52:16 +02:00
Daniel Däschle 1605c3b5f8
parser: fix error when accessing module without name after dot (#7530) 2020-12-25 16:50:08 +02:00
Delyan Angelov c6b0ce2a07 ci: disable socket error assertion in profile_test.v 2020-12-25 16:10:18 +02:00
Delyan Angelov a631078d8a tests: add vlib/v/tests/profile/profile_test.v regression test 2020-12-25 14:30:22 +02:00
Delyan Angelov 2c1e545d24 cgen: fix -profile for code outside builtin, that returns options 2020-12-25 14:11:21 +02:00
Lukas Neubert 0caf668e73
parser: error if operators are used as function names (#7532) 2020-12-24 13:38:11 +02:00
Lukas Neubert 691e6f9d3f
fmt: keep any langauge prefix variations in struct fields (#7534) 2020-12-24 13:36:54 +02:00
Delyan Angelov e5d3aa916d ci: fix windows jobs by restoring vlib/readline/readline_windows.c.v 2020-12-24 13:10:39 +02:00
zakuro fec9f1324c
fmt: trim space in embedded comments (#7521) 2020-12-24 11:57:48 +01:00
Delyan Angelov 9d1365ec67 readline: put duplicated code in readline_default.c.v 2020-12-24 12:39:11 +02:00
Delyan Angelov d1223851a2 pref: support _default.c.v , overridable by _platform.c.v 2020-12-24 12:16:20 +02:00
penguindark 2824e07baa
regex: add a find_all_str function (#7517) 2020-12-24 07:27:46 +02:00
Delyan Angelov 36dcace0a7 cgen: fix compiling call expressions with no varargs (tcc bug) 2020-12-23 21:15:00 +02: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 7b9756be72
parser: check for builtin function redefinitions (fix #7499) (#7507) 2020-12-23 18:17:09 +02:00
zakuro a6e6c48c36
fmt: keep _ separator in number literals (#7495) 2020-12-23 14:48:43 +02:00
Delyan Angelov 2c4a51a596 parser: use `v fmt -w "$p.scanner.file_path"` in warns, easing fixing 2020-12-23 14:17:20 +02: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
yuyi d964dedbb2
cgen: use more uniform format for automatic code generation (#7487) 2020-12-23 08:01:41 +02:00
yuyi 70c136441b
cgen: fix in array of struct error (fix #7452) (#7463) 2020-12-23 02:32:19 +01:00
Lukas Neubert a2cd1b163c
fmt: keep empty curlies and parenthesis as they are (#7329) 2020-12-22 23:43:48 +01:00
Lukas Neubert c4aae2b55f
vfmt: do not replace module aliases in fn param and return types (#7472) 2020-12-22 22:38:13 +02:00
penguindark 4069a4c55d
regex: speed optimization 2 (#7473) 2020-12-22 22:34:46 +02:00
Alexander Medvednikov e4f94b6ad5 V 0.2 2020-12-22 20:48:45 +01:00
penguindark b16052db95
regex: speed optimization (#7471) 2020-12-22 18:42:32 +02:00
Delyan Angelov 97855eca93 ci: fix the failing build-module-docs job 2020-12-22 17:25:57 +02:00
joe-conigliaro 5f90192970
math: use full import module name in tests 2020-12-23 01:38:17 +11:00
Lukas Neubert d1fc65c260
parser: add information about the ending line for a few elements (#7414) 2020-12-22 14:45:12 +01:00
zakuro fb0c4556fd
vfmt: keep JS object name (#7462) 2020-12-22 15:32:49 +02:00
Ned Palacios 06369a27c2
parser: return incomplete selector expr stmt (#7465) 2020-12-22 13:00:23 +01:00
joe-conigliaro d5b03d16e0
builder: if fpath is a descendant of modules folder add it as a search path 2020-12-22 22:32:02 +11:00
joe-conigliaro 7224cd667c
rand: use full import in tests (fix -usecache) 2020-12-22 22:04:51 +11:00
yuyi c11928260d
scanner: minor cleanup of scanner.v (#7467) 2020-12-22 10:56:29 +01:00
Alexander Medvednikov a8447398f5 io: remove obsolete OutputStream 2020-12-22 10:44:45 +01:00
joe-conigliaro dd27d0a2a3
cgen/builder: make unused-command-line-argument a warning & cgen module_built fix 2020-12-22 19:21:05 +11:00
Delyan Angelov 28b1be3e6e cgen: enable `./v -os windows -stats vlib/math/big/big_test.v` 2020-12-22 10:09:29 +02:00
Delyan Angelov 93c0f503a2 math.big: make big.from_string take a decimal, add big.from_hex_string 2020-12-22 09:45:56 +02:00
yuyi b47daad40d
all: remove redundant array.contains definitions (#7464) 2020-12-22 08:32:32 +01:00
Alexander Medvednikov 939e10cb28 math.big: minor clean up 2020-12-22 08:27:50 +01:00
Alexander Medvednikov b3e0926601 json: decode/encode time.Time 2020-12-22 07:24:44 +01:00
Delyan Angelov 9eb6c4ef87 flag: run vfmt over vlib/flag, add it to vtest-cleancode.v 2020-12-21 22:24:10 +02: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
Major Taylor c831711a0e
sqlite: add `close` method, and an `is_open` field (#7382) 2020-12-21 22:02:29 +02:00
zakuro 6c341a77f5
strings: run v fmt (#7438) 2020-12-21 22:00:32 +02:00
zakuro fade162471
semver: run v fmt (#7439) 2020-12-21 21:25:19 +02:00
zakuro 805ec8e177
cli: run v fmt (#7440) 2020-12-21 21:23:40 +02:00
Lukas Neubert 304aafdc50
fmt: add a space after + operator/method overload (#7453) 2020-12-21 21:20:00 +02:00
spaceface c544cc508b
pref: fix cross-compiling graphical apps to Windows (#7449) 2020-12-21 19:45:12 +02:00
Delyan Angelov dc3a6bb169
builder: use the same compilation mode for thirdparty object files (#7450) 2020-12-21 17:46:26 +01:00
yuyi 21cd765eaa
cgen: fix `in` multi_array, generate `.contains()` (fix #7427) (#7448) 2020-12-21 16:59:43 +01:00
Nick Treleaven 0edec06eac
gen: use new_map, new_map_init_1 functions (#7444) 2020-12-21 14:37:19 +01:00
Alexander Medvednikov 8eac658ed1 cgen: make use_cache less noisy 2020-12-21 11:01:14 +01:00
zakuro c639dd03d0
time: move - operator to operator.v (#7433) 2020-12-21 09:28:00 +01:00
zakuro c69947160b
time: change type of duration constants from i64 to Duration (#7435) 2020-12-21 09:27:06 +01:00
Alexander Medvednikov fc965b7d92 strconv: make atoi return ?int 2020-12-21 08:35:24 +01:00
Nick Treleaven 2147d8785b
map: add functions new_map/new_map_init_1 with key_bytes parameter (#7424) 2020-12-21 06:03:59 +01:00
joe-conigliaro f0391f7a8f
cgen: fix assignment of fixed array var to another var (#7429) 2020-12-21 06:03:09 +01:00
penguindark c9171ebe9a
regex: fixes and optimizations (#7431) 2020-12-21 05:36:14 +01:00
Nick Treleaven 82d1b6a5b7
map: fix wrong use of map.cap and rename field (#7412) 2020-12-21 05:34:35 +01:00
Delyan Angelov 5f5c53348b ci: fix vlib/v/tests/project_with_c_code_2/modc/wrapper.v 2020-12-20 18:33:31 +02:00
joe-conigliaro 23bfbf1665
cmd/pref: disable -usecache on windows & enable by default (commented) 2020-12-21 03:31:57 +11:00
Delyan Angelov dd5b25a9f2 ci: fix sha1.v, sha1block_generic.v and szip.v 2020-12-20 18:28:40 +02:00
Delyan Angelov 969f8f1a75 ci: fix compilation of the test infrastructure 2020-12-20 18:27:42 +02:00
Alexander Medvednikov 50a6976b5e all: minor array fixes 2020-12-20 16:08:56 +01:00
Alexander Medvednikov 3c210a57f9 all: minor array fixes 2020-12-20 15:40:49 +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
joe-conigliaro 628021a7cf
cgen: v fmt fn.v 2020-12-20 22:21:46 +11:00
joe-conigliaro 3b2083801b
cgen: fix module builds when -usecache is on by default 2020-12-20 22:03:27 +11:00
Delyan Angelov 4b45f2eaab builder: do not remove executables after run when -keepc is passed; add `-d trace_thirdparty_obj_files` 2020-12-20 12:22:17 +02:00
Delyan Angelov b1f6ff8871 ci: fix failing vweb_routing_checks.vv 2020-12-20 11:59:38 +02:00
Alexander Medvednikov 875f7a77a9 checker: arr1=arr2 warning 2020-12-20 10:42:46 +01:00
Alexander Medvednikov 4a5fb854e0 array: vfmt array_test.v 2020-12-20 10:34:19 +01:00
joe-conigliaro 12d5720841
builder: don't pass -usecache linker flags when building modules 2020-12-20 18:23:54 +11:00
Alexander Medvednikov 60c936a688 tests: remove map reference test 2020-12-20 07:59:39 +01:00
Alexander Medvednikov 4fc5e83771 checker: never allow taking the address of map values 2020-12-20 07:55:23 +01:00
joe-conigliaro bbcaaa1232
cgen: use gen.expr for default fixed array init expr. closes #7411 2020-12-20 15:50:43 +11:00
yuyi 829334890b
table: minor optimization of types.v (#7419) 2020-12-20 04:54:49 +01:00
Uwe Krüger af9766a7d6
sync: support concurrent `select`s on same channel(s) (#7415) 2020-12-20 04:52:40 +01:00
penguindark b29bcb3fbe
regex: refactoring, documentation, examples (#7418) 2020-12-20 04:52:02 +01:00
Uwe Krüger 8278af4ee8
parser: hot fix to handle `x = <-ch[i] or { }` (#7416) 2020-12-19 22:44:16 +02:00
Delyan Angelov cd30dcc287
builtin: make array.ensure_cap/1 more robust 2020-12-19 21:36:08 +02:00
joe-conigliaro d782db8878
util: add clipboard & ui to bundle_modules (fix dupe symbols) 2020-12-20 03:38:11 +11: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 10168d307e pref: remove duplicate flag "build" 2020-12-19 10:34:59 +01:00
Alexander Medvednikov 1f74f83bc6 parser: map or block; checker: require ref field init 2020-12-19 10:28:17 +01:00
Ned Palacios 3a86f27b9f
cgen: fix optional struct const field access (#7405) 2020-12-19 09:43:50 +01:00
yuyi e4973782b1
cgen: fix multi_array prepend/insert (#7381) 2020-12-19 07:28:15 +01:00
yuyi 598d18cbd9
cgen: fix default zero in map fields (fix #7328) (#7394) 2020-12-19 06:55:13 +01:00
Delyan Angelov adaffd0d8e
pref: pass custom -d options down to `v build-module` (fix for -usecache) 2020-12-19 01:54:18 +02:00
penguindark 1e4b3a7b27
regex: code cleaning, add more tests (#7402)
* added carsywulf tests to the suite, removed deprecated repeat for init arrays

* some clean in the code, fix typo in README.md
2020-12-19 01:32:57 +02:00
yuyi ff2cfd4f38
checker: fix fn_array types check (#7376) 2020-12-19 01:10:11 +02:00
Nick Treleaven 042449cd3d
cgen: use voidptr key methods: map_get_1, map_set_1, map_get_and_set_1 (#7390) 2020-12-19 01:05:16 +02:00
Larpon 6854ba27e2
builtin: add missing fn documentation to option.v, fix naming of arguments. (#7386) 2020-12-19 00:27:35 +02:00
Uwe Krüger bcda0eeadc
sync: fix rare freeze on `select` (#7398) 2020-12-19 00:02:29 +02:00
ka-weihe 5788d6d768
cc: enable more C warnings (#7401) 2020-12-18 23:33:51 +02:00
Delyan Angelov 8e6d2df131
bitfield: document all functions 2020-12-18 22:10:51 +02:00
Delyan Angelov f74ab3a52d
bitfield: add bf.from_bytes_lowest_bits_first/1 and a test for it 2020-12-18 21:58:42 +02:00
Delyan Angelov c5c310280f
bitfield: fix bf.from_bytes/1 ( now, bf.from_bytes(b) == bf.from_str(bf.from_bytes(b).str()) ) 2020-12-18 21:47:24 +02:00
Delyan Angelov 05f6e8b5aa
dl: add comments for the dl/example 2020-12-18 19:41:01 +02:00
Larpon c32547f382
builtin: document all functions in builtin.c.v (#7387) 2020-12-18 19:31:00 +02:00
Larpon a9aee1ce97
benchmark: document all functions (#7393) 2020-12-18 19:21:20 +02:00
Larpon 4e73741673
log: document all functions, add missing copyright header (#7391) 2020-12-18 19:04:49 +02:00
Delyan Angelov 6f7889a3ca
parser: support for `-d time_parsing` 2020-12-18 17:23:57 +02:00
Delyan Angelov 7e1e247f56
builder: implement b.timing_start/1 and b.timing_measure/1 2020-12-18 13:21:17 +02:00
Delyan Angelov 04757a4853
vfmt: fix `struct Abc { field fn() ? }` 2020-12-18 11:32:04 +02:00
Nick Treleaven 3976228ae0
map: add voidptr key methods (#7377) 2020-12-18 07:37:59 +01:00
Louis Schmieder d96dcefb06
vweb: http methods check (#7371) 2020-12-18 07:34:06 +01:00
penguindark a6baffcb8c
regex: lots of fixes (#7380) 2020-12-18 05:57:31 +01:00
joe-conigliaro 05e15bdd59
builder/cgen: fix -usecache using absolute mod paths (ui examples ~/.vmodules) 2020-12-18 11:21:40 +11:00
yuyi b10f692c43
gen: fix errors of string interpolation of fn values in struct/array/map (#7367) 2020-12-17 11:16:27 +02:00
Delyan Angelov c4c0b5eb06
flag: add fp.limit_free_args(0,0) to the readme example too 2020-12-17 10:17:46 +02:00
Delyan Angelov 9bd14e8421
flag: update vlib/flag/README.md 2020-12-17 10:11:09 +02:00
Ned Palacios c164586fd5
cgen: fix map clone (#7366) 2020-12-17 08:44:50 +01:00
Delyan Angelov 8addb31440
os: fix typo in AAssetManager 2020-12-17 09:08:23 +02:00
joe-conigliaro 05e101bd95
builder: v fmt cc.v 2020-12-17 16:51:13 +11:00
joe-conigliaro 40bad75a8f
builder: temp macos self -usecache fix (will break -usecache with ~/.vmodules/ui) 2020-12-17 16:46:20 +11:00
joe-conigliaro f2f32626bc
all: get -usecache working with mods in ~/.vmodules (ui examples) 2020-12-17 16:08:28 +11:00
Daniel Däschle 7022456c9d
Alias string compare (#7364) 2020-12-16 21:40:56 +02:00
Emily Hudson 553ecf63e7
vlib/io: fix reader bugs, make read_all take a config struct (#7361) 2020-12-16 18:22:26 +01:00
Swastik Baranwal 1a2c7cd336
checker: add more casts checks (#7355) 2020-12-16 17:50:39 +01:00
Delyan Angelov 1ee57649b9
os: vfmt all of `os` .v files, add it to `v test-cleancode` with no exceptions 2020-12-16 14:15:11 +02:00
zakuro 6a74058190
time: make parse_iso8601 support a date only format (#7277) 2020-12-16 13:10:02 +02:00
Delyan Angelov 88a8507dd8
os: vfmt most of `os`, add it to `v test-cleancode` 2020-12-16 11:08:23 +02: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
joe-conigliaro 7426544610
parser: vfmt parser.v 2020-12-16 18:09:02 +11:00
joe-conigliaro a7879ce77e
parser: differentiate recursive alias & existing type err + rune fix 2020-12-16 18:03:49 +11:00
Nick Treleaven 7c8fa62cc2
map: encapsulate key clone operation on voidptr (#7327) 2020-12-16 02:23:59 +01:00
LilEnvy 665e6cc957
math.big: fix big.from_string #7313 (#7351) 2020-12-16 02:23:02 +01:00
Swastik Baranwal 52f908839e
parser: add error for self aliasing (#7347) 2020-12-15 21:49:04 +02:00
Delyan Angelov 3fdff93c3f
dl: run vfmt over all .v files 2020-12-15 18:55:04 +02:00
Delyan Angelov 50c09e074a
dl: always use dl.get_shared_library_extension() for dl.dl_ext 2020-12-15 18:53:27 +02:00
Delyan Angelov 3e85c759aa
net: fix udp default timeouts 2020-12-15 18:31:39 +02:00
Delyan Angelov 3a9034a0d0
dl: add a complete tested shared library generation/usage example 2020-12-15 18:22:07 +02:00
Delyan Angelov e3a1756b11
net: add tcp_default_read_timeout and tcp_default_write_timeout and use them consistently 2020-12-15 17:54:51 +02:00
Delyan Angelov a4d3a0575a
vdoc: add http connection read/write timeouts (fix #7343) 2020-12-15 17:12:39 +02:00
yuyi e40e1500a8
cgen: fix map['xxx']() error (#7342) 2020-12-15 16:07:24 +01:00
joe-conigliaro 239a8c8aa3
cgen: cached modules fixes (#7345) 2020-12-15 16:07:06 +01:00
penguindark 9f190b82ad
regex: added rounded squares to backslash chars list, bug fix #7339 (#7346) 2020-12-15 16:04:06 +01:00
Delyan Angelov 5684ed5a8a
ci: fix windows jobs 2020-12-15 11:01:51 +02:00
Delyan Angelov 058258bc72
ci: fix atoi.v's max_u64 2020-12-15 10:56:56 +02:00
Delyan Angelov d91634985f
ci: fix math.bits.max_u64/math.bits.max_u32 2020-12-15 10:52:57 +02:00
Delyan Angelov 8067fcee57
builder: change the tcc recompilation failed message 2020-12-15 10:47:41 +02:00
Swastik Baranwal b2685c6060
builtin: add more docs to array.v (#7194) 2020-12-15 10:31:35 +02:00
Delyan Angelov d155d8d3f0
vlib: prepare atoi.v and utf8.v for -Wimpure-v 2020-12-15 10:17:46 +02:00
Delyan Angelov bd07177ef0
vlib: prepare os for -Wimpure-v 2020-12-15 09:58:33 +02:00
Delyan Angelov 14d55d26a3
vlib: extract C. calls from builtin.v to builtin.c.v 2020-12-15 09:41:06 +02:00
yuyi 947ceb1595
os: format os.v (#7334) 2020-12-15 09:33:31 +02:00
Delyan Angelov 3064fff95b
vlib: prepare modules `hash` and `term` for -Wimpure-v 2020-12-15 09:11:17 +02:00
Delyan Angelov ed50e22e18
parser: support _js.v and _c.v for `-Wimpure-v` 2020-12-15 08:24:26 +02:00
Delyan Angelov 0da1d757cb
builtin: support '-d no_backtrace' directly in panic(), to ease creating .so files with tcc 2020-12-15 06:35:21 +02:00
yuyi bfa8e4bf86
parser: minor cleanup of `check()` (#7333) 2020-12-15 04:31:34 +01:00
Swastik Baranwal da9588c1a5
checker: fix struct cast (#7308) 2020-12-15 04:30:51 +01:00
Lukas Neubert c922565525
fmt: only insert a space after // if the 3rd char is alphanumeric (#7330) 2020-12-15 04:26:28 +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
Swastik Baranwal a3c3fd4d20
cgen: fix generation of array names in generic structs (#7324) 2020-12-15 02:52:20 +11:00
penguindark 4f986ccac4
regex: refactoring of continuous capturing groups (#7310) 2020-12-14 14:02:13 +01:00
Nick Treleaven 89ef316db3
map: use voidptr-based key equality and meta index methods (#7320) 2020-12-14 14:57:53 +02:00
Nick Treleaven 999fe846e5
vtest-cleancode: add builtin/map.v to fmt list (#7285) 2020-12-14 12:31:24 +02:00
Enzo 78fb84c4dd
gen: fix comparing signed int to u32/u64 (#7312) 2020-12-14 12:01:11 +02:00
LilEnvy 069d77d1c5
math.big: implement decimal .str() for big numbers (#7314) 2020-12-14 11:53:18 +02:00
ka-weihe f57c7032b4
ci: fix sanitizers and add -fsanitize=undefined (#7306) 2020-12-14 06:34:47 +01:00
Lukas Neubert 9b139c58ca
fmt: keep module alias in struct decl field types (#7305) 2020-12-14 05:03:43 +01:00
Lukas Neubert d59c5b01e1
fmt: intelligent line wrap for trailing struct syntax (#7309) 2020-12-14 05:03:17 +01:00
Uwe Krüger 591e523cf3
time: fix date parsing tests in winter for regions using DST (#7304) 2020-12-14 05:01:58 +01:00
Delyan Angelov ecfd124390
builtin: call C.tcc_backtrace() directly in the panic() fns 2020-12-13 11:01:04 +02:00
LilEnvy 0aacc9a80a
array: [].map(fn...) return type can be different than original type (#7300) 2020-12-13 03:29:48 +01:00
Nick Treleaven ae460a2208
map: make DenseArray.has_index not assume string keys (#7284) 2020-12-13 02:05:56 +01:00
penguindark 4324be9bd8
regex: fix for issue #7227, more tests (#7296) 2020-12-13 02:04:53 +01:00
Alexander Medvednikov 576396cf20 gg: fix cached images loaded from memory 2020-12-12 23:30:41 +01:00
Daniel Däschle fb9db11a00
cgen: fix line number generation on match (#7292) 2020-12-12 23:08:45 +01:00
ka-weihe 4d025582c0
cgen: fix shadowing warning (#7289) 2020-12-12 23:06:02 +01:00
Dialga 4500aade95
vweb: fix scan_static_directory (#7275) 2020-12-12 19:13:43 +02:00
Delyan Angelov 03f644e099
builtin: change V's panic() to not segfault; use `-d panics_break_into_debugger` to override 2020-12-12 16:05:22 +02:00
Daniel Däschle 7e3e30aa9c
ci: add a parser fuzzer step too (#7288) 2020-12-12 15:20:38 +02:00
Daniel Däschle b76c91ec05
parser: silent mode fixes (#7286) 2020-12-12 13:52:22 +01:00
Larpon 1ff6230062
builtin: document all functions in string.v (#7273) 2020-12-12 12:10:29 +02:00
zakuro df27a2b8d2
time: add test_parse_is8601_invalid (#7278) 2020-12-12 11:00:07 +01:00
yuyi 095327134e
os: fix trailing slash in dir() (#7283) 2020-12-12 10:59:43 +01:00
Nick Treleaven d785e22a6e
checker: disallow assigning number to pointer (#7267) 2020-12-12 10:42:07 +01:00
zakuro 5fec0d785a
time: fix timezone problems of parse_iso8601 (#7272) 2020-12-12 09:19:03 +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
Takahiro Yaota eb48208599
time: Time.add (#7262) 2020-12-12 04:22:30 +01:00
Daniel Däschle 11808f9fa3
parser: fix silent errors (#7271) 2020-12-12 04:06:09 +01:00
Denis a26e1e6e13
time: fix typo (#7274) 2020-12-11 19:30:34 +01:00
Daniel Däschle 597c2249e0
parser: fix expected type enum error pos (#7265) 2020-12-11 19:23:29 +02:00
Lukas Neubert 25153490e1
fmt: keep comments after assign on same line (#7269) 2020-12-11 19:20:24 +02:00
yuyi 2a731e1c8e
scanner: fix interpolation with more embedded string args (#7258) 2020-12-11 19:15:59 +02:00
Daniel Däschle 9c1a5c5117
parser: fix silent parsing examples/vmod.v (#7264) 2020-12-11 19:14:07 +02: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 d7ff342ab3
fmt: fix formatting in anon_fn_as_param_keep.vv 2020-12-11 21:13:18 +11:00
joe-conigliaro 1626aa5500
fmt: make test clearer 2020-12-11 21:09:36 +11:00
joe-conigliaro d1224ffb5a
parser: error on non local array/map methods & add tests 2020-12-11 20:50:26 +11:00
joe-conigliaro a0d10a6606
parser: enum_decl - remove redundant position variable 2020-12-11 19:36:39 +11:00
joe-conigliaro 14c4ba6dd9
parser: error on duplicate enum declaration 2020-12-11 19:30:47 +11:00
Delyan Angelov 668483ee56
pref: fix -prof, to behave exactly the same as -profile 2020-12-11 09:28:34 +02: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
Takahiro Yaota a2f7e0636d
time: `-` operator overloading (#7259) 2020-12-11 06:54:23 +01:00
Alexander Medvednikov d319fe14f0 string: fix a one byte leak in .substr() 2020-12-11 05:12:18 +01:00
Alexander Medvednikov a297cf8676 string: fix one byte leak in clone() 2020-12-11 05:03:37 +01:00
Andréas Livet 18ec24dd53
gen: fix mutable map generation (#7251) 2020-12-11 04:48:55 +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
Tomas Hellström 3eb1550b43
x.websocket: Fixes wss connection failures to certain addresses (#7247) 2020-12-11 02:04:12 +02:00
Daniel Däschle aedd1d17b8
parser: fix `v test-parser examples/cli.v` (#7243) 2020-12-10 19:32:15 +02:00
Daniel Däschle 1c56ff7faf
parser: fix fibonacci in silent mode (#7240) 2020-12-10 18:17:25 +02:00
Daniel Däschle 916a64935a
checker: fix sumtype matching test (#7235) 2020-12-10 17:22:54 +02:00
Daniel Däschle 8b3ffb9be2
scanner: fix when string literal ends after } (#7237) 2020-12-10 17:04:12 +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
yuyi e6d162ad65
parser: minor cleanup of `parser.v` (#7226) 2020-12-10 11:25:57 +02:00
yuyi ca39a9a1a9
test: add more embed string interpolation tests (#7229) 2020-12-10 11:20:42 +02:00
Daniel Däschle a38fe4fca9
checker: fix smartcast inside smartcast (#7215) 2020-12-10 00:59:39 +01:00
Seven Du 4a35a75b64
json: fix raw json string decoding crash when expected key is missing (#7206) 2020-12-09 20:10:41 +01:00
Daniel Däschle 032ea0f4f8
scanner: fix silent mode string parsing (#7220) 2020-12-09 20:09:07 +01:00
Ned Palacios b952bf2e6b
net.html: polish module, update docs (#7193) 2020-12-09 20:08:15 +01:00
yuyi 5fa1e403ec
scanner: fix interpolation with string args (#7214) 2020-12-09 19:58:27 +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 aa0ddec638
cgen: unify _name_table[0]{} generation (fix a bootstrapping problem with v_win.c and msvc) 2020-12-09 20:18:48 +02:00
Delyan Angelov 23f5cecbd0
ci: run vfmt over vlib/v/gen/cgen.v 2020-12-09 20:12:47 +02:00
Delyan Angelov c7bea03ce3
ci: fix msvc _name_table [0]{} generation 2020-12-09 20:08:51 +02:00
Delyan Angelov 9451233c34
cgen: force CI rebuild with newer vc/ 2020-12-09 19:49:37 +02:00
Delyan Angelov 6115db4820
cgen: fix msvc CI failure on `static struct _name_table[] = {}`, by skipping static for now 2020-12-09 19:25:36 +02:00
Delyan Angelov 80d12f6795 cgen: add static for the generated _name_table (fixes `./v -cc clang -o v2 -usecache cmd/v` on macos) 2020-12-09 19:03:48 +02:00
Delyan Angelov 8caf3829d7
checker: fix interface checking of array arguments; closes #2377 2020-12-09 18:51:37 +02:00
Delyan Angelov 3b94a2b77a
cgen: fix interface _name_table generation; closes issue #73 2020-12-09 17:07:11 +02:00
Lukas Neubert 0e7192c9b7
fmt: keep comments in struct init without fields (#7212) 2020-12-09 16:35:03 +02:00
Delyan Angelov ada02d4498
time: fix failing test_iso8601_parse_utc 2020-12-09 15:48:21 +02:00
Delyan Angelov 338f3afd31
vfmt: fix `type MyFn = fn (int) int mut arr := []MyFn{}` 2020-12-09 15:18:45 +02:00
Lukas Neubert 3b6b5b8090
vfmt: properly parse comments on lines after init fields (#7202) 2020-12-09 11:11:22 +02:00
yuyi 05a217aaf0
scanner: minor cleanup and optimization in scanner.v (#7204) 2020-12-09 02:09:46 +01:00
Alexander Medvednikov 1abb40dc46 cgen: use `cur_mode ast.Module` instead of a string 2020-12-08 19:52:33 +01:00
penguindark 2bc1076921
regex: bug fixes, improved tests 2020-12-08 19:38:25 +01:00
Alexander Medvednikov a1c0bb3585 os: File.write_string() 2020-12-08 19:37:33 +01:00
Takahiro Yaota 036e762446
time: make parse_iso8601 support format without microseconds (#7176) 2020-12-08 17:53:54 +01:00
Delyan Angelov d5915bde7c
parser: implement support for -Wimpure-v (#7195) 2020-12-08 17:52:24 +01:00
Leah Lundqvist 90c1c639fe
js: types (#7108) 2020-12-08 17:49:20 +01:00
Andréas Livet a2ec52b8c4
builtin: rewrite string.split_nth and fix some bugs (#7189) 2020-12-08 10:51:47 +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
joe-conigliaro 44b9ea4a75
cgen: selector expr / method call on sumtype pointer #7191 2020-12-08 16:08:10 +11:00
joe-conigliaro 805da2325f
cgen: defer was broken in presence of anon fn. fixed #7171 2020-12-08 14:21:19 +11:00
Delyan Angelov 3386526610
builder: improve support for -g in cross compilation to windows 2020-12-07 23:38:21 +02:00
Nick Treleaven 63557d0d02
checker: disallow op= and infix on a voidptr (#7175) 2020-12-07 22:43:38 +02:00
Delyan Angelov ed9aa873c1
gg: use gg.system_font_path() as a fallback when a font can not be found 2020-12-07 21:40:24 +02:00
Delyan Angelov 0efdc7bbe8
gg: print a diagnostic message when a requested font file is not found 2020-12-07 21:28:41 +02:00
Delyan Angelov 1914bc790b
builder: add comment about the goal of cflags.c_options_only_object_files() in cross compilation 2020-12-07 20:35:04 +02:00
Delyan Angelov 4b4733d6b4
builder: fix cross compilation of examples from linux->windows 2020-12-07 19:57:12 +02:00
Nick Treleaven a100b05647
checker: improve 'operator not defined on right operand type' error (#7185) 2020-12-07 18:37:17 +01:00
spaceface777 744a36ed71
js: restructure namespaces (#7170) 2020-12-07 18:36:22 +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
Lukas Neubert f30faf2627
scanner: allow \e escape used for ANSI colors (#7177) 2020-12-07 17:21:34 +01:00
Takahiro Yaota b5982b638a
time: fix typo in test (#7174) 2020-12-07 17:21:12 +01:00
Uwe Krüger fd689f5fdd
cgen: optimize array op assign (#7178) 2020-12-07 17:13:19 +01:00
Delyan Angelov 91e18b039c
net: fix cross compilation with mingw, Ws2tcpip.h => ws2tcpip.h 2020-12-07 10:41:42 +02:00
yuyi f377710c0b
scanner: minor optimization in `text_scan()` (#7172) 2020-12-07 06:33:41 +01:00
joe-conigliaro 14887304d8
sokol: allow submodules to be built by themselves (add required imports) 2020-12-07 16:16:21 +11:00
Ned Palacios 2ba8d31118
vdoc: fix sorting; fix missing symbols; document functions (#7161) 2020-12-07 02:43:25 +01:00
joe-conigliaro dcca821000
cgen: autofree - set/reset g.branch_parent_pos for all for loops 2020-12-07 12:08:09 +11:00
yuyi bac6be2273
token: minor clean up (#7163) 2020-12-06 16:48:23 +01:00
Uwe Krüger 853dcc33c7
cgen: optimize map op_assign (#7162) 2020-12-06 15:20:31 +01:00
Takahiro Yaota 0c50f0c9dc
time: v fmt (#7160) 2020-12-06 15:19:39 +01:00
Delyan Angelov 2be0c6af47
builtin: implement -d exit_after_panic_message (speeds up `v test-parser` with gcc/clang) 2020-12-06 14:21:37 +02:00
joe-conigliaro 5931b26737
cgen: remove extraneous call to util.no_dots 2020-12-06 22:12:23 +11:00
Daniel Däschle 334d605d90
tools,vls: add `v test-parser examples/hello_world.v` (#7145) 2020-12-06 12:42:56 +02:00
Alexander Medvednikov 8eff8b0eff autofree: fix `for` args 2020-12-06 08:38:21 +01:00
Alexander Medvednikov b6ae81032f ast: Var.is_tmp field 2020-12-06 08:19:17 +01:00
joe-conigliaro cd72c25edb
cgen: vfmt cgen.v after changes from previous commit 2020-12-06 18:05:17 +11:00
joe-conigliaro 7733834751
parser/cgen: autofree - move branch_parent_pos to cgen. 2020-12-06 18:02:36 +11:00
joe-conigliaro d7c057840a
parser: autofree - reset p.branch_parent_pos to previous pos on return 2020-12-06 17:00:44 +11:00
joe-conigliaro aeb467e038
cgen: fix typo from previous commit 2020-12-06 15:18:24 +11:00
joe-conigliaro d779510616
cgen: remove debugging comments added in a05408b 2020-12-06 15:16:45 +11:00
João Victor Oliveira Couto cb5f75c7bf
net.html: change license in readme (#7157) 2020-12-06 05:11:43 +01:00
joe-conigliaro a05408b49a
all: make type system use source name & cleanup storing name in fields 2020-12-06 14:55:08 +11:00
Roland Lammel 028c82e255
fmt: improve map value alignment (#7105) (#7151) 2020-12-06 02:04:45 +01:00
Lukas Neubert 79a20c338b
regex: format readme examples (#7154) 2020-12-06 02:04:07 +01:00
ka-weihe 96d28b4485
map: more tests (#7153) 2020-12-06 01:28:11 +01:00
ka-weihe 5a7fdb0610
map: optimize free() and keys() (#7152) 2020-12-06 00:24:24 +01:00
Lukas Neubert 8adb1acf31
check-md: verify code example formatting (#7143) 2020-12-05 22:54:41 +01:00
Nick Treleaven 0d28f12c54
map: use untyped keys for DenseArray and interleave keys and values (#7142) 2020-12-05 22:53:50 +01:00
penguindark 6b7d7cee0c
regex: new examples, new utility functions (#7150) 2020-12-05 22:24:08 +01:00
Delyan Angelov 1739b08e73
builtin: add a test for the sorting of []u64 too 2020-12-05 23:21:20 +02:00
Delyan Angelov b99ea332f0
cgen,builtin: fix sort for []u64 2020-12-05 23:14:19 +02:00
yuyi 29857cb9d6
checker: fix interpolation recursive str (fix #1905) (#7141) 2020-12-05 21:41:54 +01:00
Alexander Medvednikov 22ebbab462 autofree: set tmp var pos 2020-12-05 21:27:49 +01:00
Delyan Angelov 946a1418fe
Revert "autofree: handle tmp vars in for loops"
This reverts commit 1d6c604664.
2020-12-05 21:52:50 +02:00
Alexander Medvednikov e2e0c625f1 net: add openssl header dir on arm64 macs 2020-12-05 20:27:16 +01:00
Alexander Medvednikov 1d6c604664 autofree: handle tmp vars in for loops 2020-12-05 20:11:31 +01:00
Delyan Angelov 6e76d5d1db
cgen: fix double escaping \n in @VMOD_FILE expansion 2020-12-05 20:13:36 +02:00
joe-conigliaro 7212b2eff2
parser: vfmt parser.v which was modified in previous commit 2020-12-06 02:39:56 +11:00
joe-conigliaro 83f651c29a
cgen: autofree - know where to stop freeing parent scops on continue/break 2020-12-06 02:36:27 +11:00
Xavier B fafe30b6aa
json: add support for aliased struct fields (#6556) 2020-12-05 16:13:18 +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
Delyan Angelov daa659e1fd
builder: allow for `-os windows -cc msvc -o x.c` on any platform 2020-12-05 15:35:39 +02:00
Delyan Angelov fbf6910ab9
builder: remove executables after `v run file.v` 2020-12-05 13:03:12 +02:00
Delyan Angelov 7d9d42b2e2
math.fractions: document the remaining functions in math.fractions 2020-12-05 12:23:18 +02:00
Delyan Angelov 0dfcacd26b
cgen: fix `fn f(mut a []int) { a << [1,2] }` 2020-12-05 10:12:17 +02:00
Delyan Angelov b18915df62
tests: cleanup long running repl tests (replaced by faster ordinary tests in vlib/v/tests/) 2020-12-05 08:52:08 +02:00
yuyi 595efbac5b
checker: fix or_block return &type mismatch (#7138) 2020-12-05 08:06:51 +02:00
Alexander Medvednikov d1281ac6c1 autofree: handle` break` 2020-12-05 05:06:52 +01:00
penguindark 4fb37e81b2
regex: bug fixes (#7137) 2020-12-05 01:51:48 +01:00
Alexander Medvednikov 89952edd25 gg: remove unnecessary copy in draw_text 2020-12-05 00:03:46 +01:00
Alexander Medvednikov 5180013aef autofree: fix array re-assignment with struct fields 2020-12-04 23:30:30 +01:00
spaceface777 76ed8e3750
checker: don't disallow method call chains (#7128) 2020-12-04 21:27:38 +01:00
Alexander Medvednikov f14bd10c00 autofree: more `return` fixes 2020-12-04 20:44:33 +01:00
spaceface777 6a47deb3f8
checker: ensure array init matches the array's type (#7118) 2020-12-04 20:39:32 +02:00
yuyi 215a76a715
string: make `tos_lit` deprecated (#7129) 2020-12-04 20:34:58 +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 52fb7033c3
gen: fix evaluating the receiver of array methods (.map(), .filter(), etc) more than once (#7130) 2020-12-04 20:29:34 +02:00
Nick Treleaven f21b2b41ac
gen: make _SLIT macro determine `len` at compile-time (#7131) 2020-12-04 20:14:39 +02:00
Alexander Medvednikov 0ea2fa228f autofree: fix `or {}`; ci: bring back gitly -autofree 2020-12-04 18:06:53 +01:00
Delyan Angelov 7a8d6a7c7b
scanner: treat warnings as errors on -W too, simillar to the parser 2020-12-04 15:11:35 +02:00
spaceface777 50a3009113
fmt: make single-stmt `or` blocks single-line (#7126) 2020-12-04 13:25:23 +02:00
spaceface777 9345d489f8
ci: fix self compilation with cached modules on macos (#7127) 2020-12-04 13:25:02 +02:00
Delyan Angelov 52ccdd747f
cgen: allow for `const ( x = opt() ? )` 2020-12-04 13:11:12 +02:00
Delyan Angelov d0a2992335
regex: align query/regex err pos in optional err messages/panics 2020-12-04 12:43:25 +02:00
Lukas Neubert 02ba923ba7
fmt: do not add braces for trailing struct arg (#7072) 2020-12-04 11:22:26 +02:00
Alexander Medvednikov b64945a6c0 autofree: lots of fixes in `return_statement()` 2020-12-04 10:10:40 +01:00
joe-conigliaro b578e60dd5
tests: add test for fix #cf7b45b 2020-12-04 15:43:28 +11:00
joe-conigliaro cf7b45b074
checker: correctly check arrays with element that is an alias. fixes #6735 2020-12-04 14:26:25 +11:00
Tomas Hellström d12f5f7ba0
x.websocket: vdoc (#7091) 2020-12-04 01:52:26 +01:00
Alexander Medvednikov cae3bd7f32 gg: vfmt gg.v 2020-12-04 01:27:40 +01:00
Alexander Medvednikov e160f6e7d2 gg: screen_size() 2020-12-03 23:17:00 +01:00
yuyi 9b6a1552e9
checker: check match return mismatch type (fix #6826) (#7109) 2020-12-03 21:14:23 +02:00
Nick Treleaven d590ce7675
map: add 3 DenseArray methods for bootstrapping (#7113) 2020-12-03 21:12:53 +02:00
Daniel Däschle 6c100a0bc3
vls,parser: fix an eof error in parsing invalid const declarations (#7115) 2020-12-03 21:11:43 +02:00
penguindark 15ffce1317
regex: fix compilation issues with gcc under ubuntu (#7112) 2020-12-03 19:33:53 +01:00