Commit Graph

6705 Commits (5ddb2d5b181f5e567d6c49860e9c4f37ec613e4f)

Author SHA1 Message Date
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