Commit Graph

7347 Commits (600017d7feb6cd99d668384fbdb7edc460b52bda)

Author SHA1 Message Date
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
yuyi 06eaded6ea
string: change `tos_lit` to `_SLIT` (#7079) 2020-12-03 16:02:48 +01:00
Delyan Angelov eefdf4baa6
scanner: do not warn for \x07 in strings 2020-12-03 14:11:32 +02:00
Daniel Däschle 558a756431
parser: fix position offset by 1 (#7099) 2020-12-03 11:25:06 +02:00
Swastik Baranwal c5a7c51dfd
parser: add a check for known vars in or block (#7094) 2020-12-03 04:46:04 +01:00
yuyi 30da85a4d5
checker: fix optional or_block {none} (#7095) 2020-12-03 01:03:17 +01:00
Uwe Krüger c1b25dd61d
cgen: fix map value op-assign modification (#7101) 2020-12-03 00:40:11 +01:00
Alexander Medvednikov 1037d3a383 checker: make missing `mut` before an argument a warning 2020-12-02 23:58:06 +01:00
joe-conigliaro ce1fa1194d
parser: fix not used parent warning for selective imports. closes #6916 2020-12-03 01:14:49 +11:00
Lukas Neubert 2691163a7e
scope: remove redundant name arg from register() (#7077) 2020-12-02 14:40:25 +01:00
heronwr f8af866f76
builtin: make v_realloc use int parameter instead of u32 (#7080) 2020-12-02 15:35:11 +02:00
joe-conigliaro cd46eb42d7
checker: fix generic os.fn call (script) without mod prefix. fixes #7073 2020-12-02 21:40:44 +11:00
joe-conigliaro ca7692c839
error on unknown generic struct init. closes #7085 2020-12-02 20:53:40 +11:00
Enzo d8b8aca51e
gen: fix `arr.last().field` (#7076) 2020-12-02 04:35:00 +01:00
Lukas Neubert dedb8f7e41
fmt: smarter wrap of orm lines (#7070) 2020-12-02 04:06:20 +01:00
Tomas Hellström 7c394b9d58
x.websocket: docs and cleanup (#7078) 2020-12-02 04:02:53 +01:00
Alexander Medvednikov 953a51bec8 autofree: fix an off by 1 error 2020-12-02 03:45:08 +01:00
Lukas Neubert 8adc8ed103
parser: do not fail on comment direct after import (#7071) 2020-12-01 22:32:34 +02:00
Delyan Angelov 394e9c4c56
builder: replace single `goto start` usage, with `for { ... continue ... break}` 2020-12-01 22:11:44 +02:00
Alexander Medvednikov c5cd53ca79 parser: bring back old $if position calculation 2020-12-01 18:59:33 +01:00
Alexander Medvednikov 0ff541375d autofree: fix a bug with $if and add a test 2020-12-01 18:58:16 +01:00
Alexander Medvednikov 3612bd58ef fmt: revert the fn \n change 2020-12-01 17:00:06 +01:00
Alexander Medvednikov 0ddf0a4b92 gg: custom bold font path 2020-12-01 16:30:25 +01:00
yuyi d3deaa1f59
cgen: fix typeof variadic type (#7063) 2020-12-01 16:11:37 +01:00
Daniel Däschle 5b6eb7b2c9
cgen: simplify .str() generation (#7038) 2020-12-01 16:09:03 +01:00
Ned Palacios 54e03f60b9
x.json2: remove builder methods (#7008) 2020-12-01 16:23:59 +02:00
yuyi 6a1e0322bd
gen: fix interpolation variadic (#7059) 2020-12-01 12:40:38 +02:00
joe-conigliaro f1965c0510
ast: fmt ast.v 2020-12-01 21:20:27 +11:00
joe-conigliaro 88835a0456
cgen: remove some nasty replacements 2020-12-01 21:17:19 +11:00
joe-conigliaro 9b583f51f1
ast: remove field which should have been removed in #34e124d 2020-12-01 20:15:35 +11:00
joe-conigliaro 34e124d5f7
cgen: auto cast sum type in array init. fixes #6907 2020-12-01 20:03:45 +11:00
Delyan Angelov fe0ded9a91
tests: add a regression test for the inter module generics inference 2020-12-01 08:07:07 +02:00
joe-conigliaro a7d917474d
checker: simplify generic fn post processing 2020-12-01 16:43:10 +11:00
joe-conigliaro 0e54b9acb5
checker: remove debug println introduced in 4f658ec 2020-12-01 15:14:30 +11:00
joe-conigliaro 4f658ec292
fix auto inferred generic call of mod.func(). closes #6263 2020-12-01 15:10:06 +11:00
Alexander Medvednikov f4bd953771 pref: vfmt 2020-12-01 04:16:36 +01:00
Alexander Medvednikov f26f7ebc9d pref: nocache option 2020-12-01 04:05:44 +01:00
Leah Lundqvist ab225ff154
jsgen: fix JS.@typeof (#7055) 2020-12-01 04:02:10 +01:00
Lukas Neubert 552de94da6
sqlite: add Windows instructions to readme (#7041) 2020-12-01 04:00:41 +01:00
Daniel Däschle 879d238887
cgen: initial option auto str support (#7004) 2020-12-01 04:00:23 +01:00
Daniel Däschle 6af082e70e
doc: detailed documentation of the compiler pipeline (#7043) 2020-12-01 03:58:39 +01:00
spaceface777 83137cbe84
pref: don't use tcc by default in -prod mode (#7053) 2020-12-01 03:58:02 +01:00
spaceface777 0248e4955d
gen: fix `undef`ing __has_include on macos tcc (#7057) 2020-11-30 21:56:17 +02:00
Delyan Angelov 7511d6e4e8 builder: fix building thirdparty C files with tcc, when run outside vroot 2020-11-30 21:48:21 +02:00
Delyan Angelov 5bca6a4bfe cgen: undef *earlier* __has_include for tcc 2020-11-30 21:29:48 +02:00
Delyan Angelov ff42572e93 builder: show the C compiler output on -show-c-output, NOT on -showcc 2020-11-30 20:30:47 +02:00
Larpon ed08d96932
builtin: remove old type prefixes, add a few missing documentations, add missing punctuation (#7037) 2020-11-30 18:51:00 +01:00
Delyan Angelov b11d285680
v: support multiple paths in VMODULES env variable (#7048) 2020-11-30 18:31:37 +01:00
Alexander Medvednikov 376833aea7 builder: show tcc compiler error with -v and -showcc 2020-11-30 17:47:38 +01:00
Lukas Neubert a98162118b
fmt: orm delete (#7035) 2020-11-30 14:02:36 +01:00
Uwe Krüger a128ab4313
cgen: add support for shared maps (#7042) 2020-11-30 13:25:14 +01:00
Swastik Baranwal e3fab7e076
parser: add an error for an invalid string prefix (#7019) 2020-11-30 10:58:00 +02:00
yuyi 39b46e95a0
gen: minor optimization in `type_to_fmt()` (#7028) 2020-11-30 09:35:55 +02:00
yuyi f7cc3d3718
gen: minor cleanup in gen_expr_to_string() (#7026) 2020-11-30 09:16:50 +02:00
Delyan Angelov aae5812337 os: cleanup os.find_abs_path_of_executable/1 2020-11-30 08:40:39 +02:00
Alexander Medvednikov 05eeb8aa53 token: remove old keyword "embed" 2020-11-30 03:11:40 +01:00
joe-conigliaro ff63fb74d9
dont allow method on non-local types & no mod for arrays. closes #6971 2020-11-30 11:43:22 +11:00