Commit Graph

6824 Commits (a386be650569472058e3b0b17418e8eb504489cf)

Author SHA1 Message Date
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
ka-weihe 9367dcda10
all: fix remaining c warnings and add -Werror to CI (#7021) 2020-11-29 21:23:37 +02:00
spaceface777 4e6bc27b30
compiler: fix self compilation with cached modules on macOS (#7023) 2020-11-29 19:30:35 +01:00
Alexander Medvednikov c7cefa9ce6 json: fix encoding pointers 2020-11-29 17:45:22 +01:00
Delyan Angelov adeebad2a6
compiler: use thirdparty/tcc/tcc.exe by default, when no explicit -cc is given (#6598) 2020-11-29 16:18:49 +01:00
yuyi 0b96cd50e1
scanner: fix escape `\u` (fix #6849) (#7012) 2020-11-29 17:01:40 +02:00
Ned Palacios 6c634086b0
json2: decode fn returns `?T`; add new tests (#6933) 2020-11-29 14:54:45 +01:00
Nick Treleaven 8f15af6adc
pref: add -m32, -m64 command-line options (#7011) 2020-11-29 14:53:49 +01:00
joe-conigliaro 91eca539d0
all: -usecache fixes and self compilation & some type cname optimisation (#7015) 2020-11-29 14:10:45 +01:00
Swastik Baranwal 3afa606154
vfmt: fix eating `c` in `c'foo'` (#7009)
* fmt: add formatting for cstrs

* fmt
2020-11-29 10:39:50 +02:00
Takahiro Yaota 49a083fe79
time: improve parse_iso8601 (#7006) 2020-11-29 10:38:14 +02:00
Larpon 1192dfdc8a
term.ui: document functions (#6979) 2020-11-29 08:32:04 +02:00
Delyan Angelov a6f1667bce checker: make `sym == typ` an error 2020-11-29 00:43:06 +02:00
yuyi f336c2c5cc
scanner: fix error of backslash escaping x in ident_string(fix #6850) (#6994) 2020-11-29 00:39:45 +02:00
Daniel Däschle 32c027a0bf
parser: disallow ptr type as sum type variant (#6996) 2020-11-28 23:40:40 +02:00
Nick Treleaven 6da6a082c7
parser: fix showing error position for pratt.v (#6997) 2020-11-28 23:39:45 +02:00
Alexander Medvednikov 159abd4727 autofree: fix unused var error 2020-11-28 20:33:32 +01:00
Alexander Medvednikov 91007e87d2 autofree: remove old code 2020-11-28 20:26:32 +01:00
Alexander Medvednikov cb3367d734 autofree: free_before_break() test 2020-11-28 20:23:54 +01:00
Delyan Angelov 321daede1d cgen: fix a buggy comparison, add ability to do println(sym.debug()) 2020-11-28 19:48:53 +02:00
Alexander Medvednikov 0114333d34 autofree: fix _ 2020-11-28 16:45:08 +01:00
Swastik Baranwal aadeb62bbf
cgen: add a _T_ prefix in the C names for generic fn instances; fixes #6927 (#6999) 2020-11-28 17:07:07 +02:00
Daniel Däschle 6e4dad9acf
parser: fix position of array init (#6998) 2020-11-28 17:05:14 +02:00
Alexander Medvednikov ea04d23e1d tests: valgrind: use -autofree without -experimental 2020-11-28 15:53:08 +01:00
Alexander Medvednikov 57ad943b92 autofree: free arrays on re-assignment 2020-11-28 15:21:53 +01:00
Alexander Medvednikov ed39d151b7 V 0.1.30 2020-11-28 04:43:11 +01:00
Alexander Medvednikov 86b5f7ef5d string: fix ustring.free() 2020-11-28 03:41:43 +01:00
Alexander Medvednikov c3ed8bb5da autofree: remove old code 2020-11-28 02:28:43 +01:00
Delyan Angelov ac27a3ccee parser,cgen: improve `[flag]enum Abc{ a b }`, allow `x := Abc.a | Abc.b` 2020-11-27 23:09:14 +02:00
Daniel Däschle 18cf36a22c
parser: remove unnecessary match as code (#6972) 2020-11-27 22:25:08 +02:00
yuyi 64fa5e6383
szip: fix szip_test (#6980) 2020-11-27 21:20:43 +01:00
Alexander Medvednikov fcd127ed87 autofree: make -experimental the default 2020-11-27 20:49:48 +01:00
Alexander Medvednikov 13948152b6 cmd/v: rename reuse-tmpc to keepc 2020-11-27 20:16:24 +01:00
Delyan Angelov 1891f55c72 builtin: add voidptr.vbytes(len) and byteptr.vbytes(len) 2020-11-27 18:18:46 +02:00
Swastik Baranwal 2473f65278
cgen: minor cleanup (use replace_each) (#6978) 2020-11-27 16:13:30 +01:00
spaceface777 bbea7fb91f
docs: document the `[required]` struct attribute (#6956) 2020-11-27 15:37:12 +02:00
Delyan Angelov 7cd9530006 docs: fix most of the examples (ensure they at least have a valid syntax) 2020-11-27 13:03:32 +02:00
Delyan Angelov e6116c47be scanner: guarantee an early exit when the parser/scanner is stuck 2020-11-27 12:44:39 +02:00
yuyi 636efb3c20
cgen: fix windows escape errors for comptime @ pseudo vars (#6977) 2020-11-27 11:16:57 +02:00
Daniel Däschle ee2a5727fb
gen: fix assigning an anon fn to a struct field (#6965) 2020-11-27 11:15:48 +02:00
Delyan Angelov cbe607baf2 vfmt: fix compilation warning 2020-11-27 10:40:56 +02:00
Alexander Medvednikov 9b0c96d792 scanner: allow \r after $ 2020-11-27 03:27:34 +01:00
Alexander Medvednikov c27818e247 all: remove remaining broken escape sequences 2020-11-27 03:17:19 +01:00
Daniel Däschle 966b95ca4e
parser: move mut in if/match to expr (#6973) 2020-11-27 03:08:42 +01:00
Alexander Medvednikov 62ee436944 all: remove broken escape sequences after $ in strings 2020-11-27 03:07:37 +01:00
Daniel Däschle d71d9ad7c0
сgen: print generic structs (#6967) 2020-11-26 23:57:03 +01:00
spaceface777 6563535a3d
term.ui: simplify/fix the truecolor feature test (#6963) 2020-11-26 23:52:20 +01:00
Nick Treleaven ea8adfdbf9
gen: more efficient `for in` with a map (#6961) 2020-11-26 23:22:14 +01:00
Alexander Medvednikov 5e59718970 fmt: handle $tmpl 2020-11-26 18:53:38 +01:00
Alexander Medvednikov 5efd393af2 all: make comptime templates usable outside of vweb via $tmpl 2020-11-26 18:40:35 +01:00
Ruofan XU c6a8c3cad5
cgen: remove unneeded sumtype logic and add more tests (#6959) 2020-11-26 15:29:23 +01:00
Daniel Däschle 52b627feb3
checker: check filter, map and sort left type (#6952) 2020-11-26 11:28:54 +01:00
spaceface777 e03ae19372
term.ui: approximate colors into ansi if rgb isn't supported (#6951) 2020-11-26 00:28:57 +01:00
Takahiro Yaota 258f8f6af9
parser: report unused expression error in if and or blocks (#6953) 2020-11-26 00:28:41 +01:00
Larpon 2957541e48
pref: fix message on inferred run (#6947) 2020-11-25 21:44:26 +02:00
Daniel Däschle 8e2b7fe3d6
tests: cleanup sum type tests (#6950) 2020-11-25 20:40:29 +01:00
Delyan Angelov fa126b950a cgen: prevent `undefined symbol: tcc_backtrace` errors with tcc and `-shared -d no_backtrace` 2020-11-25 15:47:55 +02:00
Daniel Däschle 8446433bcf
parser: remove __type (#6946) 2020-11-25 14:27:15 +01:00
Delyan Angelov 35a0fe79f9 cgen: generate an unique sort comparator function for each .sort() call 2020-11-25 13:48:42 +02:00
Ekopalypse a46eda7c44
builder: fix dll generation on Windows (#6939) 2020-11-25 12:18:58 +01:00
Daniel Däschle 7d6f97259f
all: refactor UnionSumType to SumType (#6944) 2020-11-25 13:09:40 +02:00
Leah Lundqvist 96b73acad7
jsgen: optional "or blocks" (#6938) 2020-11-24 22:52:23 +01:00
Alexander Medvednikov 98034e5504 http: make download_file() return an optional 2020-11-24 18:07:08 +01:00
Daniel Däschle a042966082
all: remove old sumtype code (#6937) 2020-11-24 17:55:24 +01:00
Daniel Däschle aa6303f0b2
all: use the new types with old syntax (#6922) 2020-11-24 13:58:29 +01:00
Lukas Neubert 8be9bdacd1
fmt: do not wrap real multiline comments into single line in arrays (#6923) 2020-11-24 12:55:39 +01:00
pancake aa90625819
js: initial support for optional return unwrapping (#6926) 2020-11-24 12:54:26 +01:00
Daniel Däschle 789912238f
gen: generate typedef first on sum types (#6930) 2020-11-24 12:53:39 +01:00
Daniel Däschle 9fbf38c798
parser: fix generic structs from other modules (#6921) 2020-11-23 23:21:11 +01:00
Alexander Medvednikov e0d64903f8 table: rename atypes.v to types.v now that the order of the files is irrelevant 2020-11-23 18:19:51 +01:00
Takahiro Yaota 07fae5adf6
io: add a test for read_all (#6898) 2020-11-23 16:17:39 +01:00
Nick Treleaven 380e3640e3
gen: add panic message when using '?' with `none` (#6919) 2020-11-23 16:16:38 +01:00
Daniel Däschle 96539e43b5
all: nested sum types (#6913) 2020-11-23 16:16:13 +01:00
Takahiro Yaota 2f9b7fe0f7
vfmt: fix error with `return // comment` (#6914) 2020-11-23 11:36:20 +02:00
Nick Treleaven 51c737669d
checker: check labelled break/continue is inside a matching `for` loop (#6910) 2020-11-22 20:51:07 +01:00
Alexander Medvednikov a1827d7f98 autofree: handle array set/get 2020-11-22 20:48:23 +01:00
hirossan4049 67d5dfb315
gg: draw_rounded_rect() (#6909) 2020-11-22 20:13:40 +01:00
Alexander Medvednikov 311b5e8188 autofree: string.clone() fix 2020-11-22 13:45:12 +01:00
Alexander Medvednikov 65005fdae8 builtin: same fix for array.insert 2020-11-22 13:30:48 +01:00
Alexander Medvednikov f8827c3fe5 builtin: clone the strings correctly in array.push 2020-11-22 13:22:42 +01:00
Alexander Medvednikov ed7413ee51 autofree: handle SelectorExpr receivers 2020-11-21 23:19:04 +01:00
Daniel Däschle 22fdf76db5
gen: unwrap optional on if guard expr (#6903) 2020-11-21 22:40:05 +01:00
Alexander Medvednikov 2f50a9ea1f utf: fix utf32_to_str 2020-11-21 22:37:16 +01:00
Alexander Medvednikov 9a51f4e3c2 autofree: builtin fixes 2020-11-21 22:33:31 +01:00
Alexander Medvednikov 2afb9b30e9 autofree: minor fixes; skip in consts 2020-11-21 19:07:47 +01:00
Alexander Medvednikov ad940ff40e autofree: free parent scope vars only before fn returns 2020-11-21 18:23:50 +01:00
Delyan Angelov 2228d75657 ci: fix formatting of comptime.v 2020-11-21 19:04:31 +02:00
Delyan Angelov 018bd6aac3 os: fix flaky test in process_test.v 2020-11-21 18:01:21 +02:00
Delyan Angelov fa55c247a2 parser: add `-d print_vweb_template_expansions` to ease vweb template debugging 2020-11-21 17:59:02 +02:00
pancake 4b19a6e00d
js: fix code generation for `$if js` statements (#6896) 2020-11-21 15:40:37 +01:00
hirossan4049 54df7d1daf
gg: new draw_empty_rounded_rect() (#6891) 2020-11-21 15:40:02 +01:00
Tomas Hellström 155aa6dac5
x.websocket: fix autobahn tests for wss and wss close behavor (#6901) 2020-11-21 15:45:45 +02:00
Swastik Baranwal 650cdef8b4
checker: disallow array sum types without default field (#6892) 2020-11-21 00:07:25 +01:00
Daniel Däschle 838ad16296
all: refactor ast.Expr to use the new sum type implementation (#6792) 2020-11-21 00:05:57 +01:00
Alexander Medvednikov ff1752dfff gg: vfmt gg.v 2020-11-21 00:04:29 +01:00
Alexander Medvednikov c1486925d5 autofree: enable free_before_return test 2020-11-21 00:00:27 +01:00
Alexander Medvednikov 99bdb87a01 all: remove #objc for good 2020-11-20 23:49:52 +01:00
Delyan Angelov 9673d40bb9 ci: fix failing windows test run_v_code_from_stdin_test.v (2) 2020-11-20 16:57:44 +02:00
Takahiro Yaota f47c2468bb
net: fix socket.read_line with long lines #6842 2020-11-20 15:24:41 +01:00
Delyan Angelov 93d460f8fc ci: fix failing windows tests for `v run -` 2020-11-20 16:14:04 +02:00
Lukas Neubert 5d76e85a23
vfmt: fix extra whitspace in fn type decl with type-only args (#6888) 2020-11-20 15:00:40 +01:00
Alexander Medvednikov 30ddb89e3c gg: UI mode for much lower CPU usage in UI apps 2020-11-20 14:50:26 +01:00
Delyan Angelov 3c4b87bfec checker: add check against `fn test_opt() ?{}` 2020-11-20 15:12:53 +02:00
Nick Treleaven 9871d24929
fmt: fix labelled break & continue (#6889) 2020-11-20 14:12:40 +01:00
Nick Treleaven d5242e0bf5
gen: implement labelled break and continue (retry) (#6887) 2020-11-20 12:23:48 +01:00
Alexander Medvednikov 412e2a43e9 clipboard: fix clear() on macos 2020-11-20 12:00:16 +01:00
Ned Palacios 7c2c187743
vdoc: fix markdown and plaintext rendering (#6882) 2020-11-20 12:02:52 +02:00
Lukas Neubert ef3e8d2c84
vfmt: handle comments after type declarations (#6874) 2020-11-20 11:51:50 +02:00
Delyan Angelov d382db77ee ci: fix failing clipboard_test.v on MacOS 2020-11-20 11:44:26 +02:00
Ned Palacios b957c64905
scanner: store errors and warnings on silent mode (#6883) 2020-11-20 11:44:19 +02:00
Nicolas Sauzede 159932d59b
v: run code from stdin `echo println(2+2) | v run -`, with no repl limits (#6884) 2020-11-20 10:25:59 +02:00
Alexander Medvednikov 55a7c907ad clipboard: fix set_text() 2020-11-20 03:28:28 +01:00
Alexander Medvednikov 4328233504 Revert "gen: implement labelled break and continue (#6880)"
This reverts commit e798326a1a.
2020-11-20 02:51:35 +01:00
Delyan Angelov 1b8609c318 builder: fix for `v -o x.exe run examples/hello_world.v` 2020-11-20 02:38:24 +02:00
Lukas Neubert a67873f6cf
jsgen: tests: ensure output deletion on fail (#6875) 2020-11-20 01:15:32 +01:00
Alexander Medvednikov d50c919879 clipboard: fix get_text() on macos 2020-11-20 01:08:55 +01:00
Nick Treleaven e798326a1a
gen: implement labelled break and continue (#6880) 2020-11-19 21:13:15 +01:00
Daniel Däschle 41ba942369
parser: smartcast mutable selector (#6881) 2020-11-19 21:05:10 +01:00
Delyan Angelov 2e57a1e1a6 sync: add vlib/sync/bench/many_writers_and_receivers_on_1_channel.v (run with --help) 2020-11-19 21:30:38 +02:00
Daniel Däschle 9feb010355
all: mutable smartcasts (#6878) 2020-11-19 17:28:46 +01:00
Delyan Angelov 48b117618d builtin: support -d no_backtrace, to ease compiling V code on older distros easier 2020-11-19 17:58:33 +02:00
Larpon f807fd973e
compile: infer source file if a binary by the same name exists in same dir #6877 2020-11-19 16:23:55 +01:00
Delyan Angelov 69bb0891c7 vfmt: fix ^A keep.vv test too 2020-11-19 16:25:52 +02:00
Delyan Angelov 92a75c80db vfmt: trim ^A from embedded inline comments too 2020-11-19 15:32:51 +02:00
Daniel Däschle e06756ef58
all: match multi aggregate for union sum types (#6868) 2020-11-18 20:52:00 +01:00
Lukas Neubert df4165c7ee
docs_ci: check all md files except thirdparty (#6855) 2020-11-18 18:28:28 +01:00
pancake d8f64f516b
js: fix codegen for multiline strings (#6791) 2020-11-18 18:23:44 +01:00
Anton Zavodchikov 6d99f0af50
x.websocket: expose log field (#6866) 2020-11-18 18:22:44 +01:00
Carlos Esquerdo Bernat b4ae332e0c
web socket: fix wss 2020-11-18 18:21:49 +01:00
Daniel Däschle ed874ffc5b
checker: fix sum type operator check (#6815) 2020-11-17 21:26:40 +01:00
Lukas Neubert ee5ad2a653
parser: fix duplicated struct attrs on first field (#6859) 2020-11-17 21:25:54 +01:00
Swastik Baranwal 4415feb2df
checker: disallow string(bool) (#6863) 2020-11-17 21:23:17 +01:00
Larpon fdc0cd4c03
term.ui: add dashed lines and rectangles (#6848) 2020-11-17 15:08:35 +01:00
Lukas Neubert dbdcef5166
quote_path: also quote ampersands (#6846) 2020-11-16 19:26:44 +02:00
Delyan Angelov d633261a99
os: add Process (#6786) 2020-11-16 17:32:50 +01:00
Alexander Medvednikov 8e473181ed autofree: remove old logic 2020-11-16 17:31:34 +01:00
Alexander Medvednikov 68077b7dbf autofree: handle early returns (part 1) 2020-11-16 17:26:54 +01:00
spaceface777 ac8a2ff12d
term.ui: feature-detect the SU spec (#6844) 2020-11-16 14:48:08 +02:00
Delyan Angelov b3e19c7247 tests: restore skipped return_missing_comp_if.vv and return_missing_comp_if_nested.vv 2020-11-16 10:07:53 +02:00
Delyan Angelov 05933e783d net: add back some lower level client/server tcp tests 2020-11-16 09:59:37 +02:00
Nick Treleaven 4882d338f0
checker: improve array literal element type mismatch error (#6825) 2020-11-16 00:41:24 +02:00
Emily Hudson cd2a2cef25
vlib/net: add buffered IO, x.net -> net (#6754) 2020-11-15 22:54:47 +02:00
Daniel Däschle 20bec81678
checker: smartcast only if type is not mut (#6841) 2020-11-15 16:53:51 +02:00
Alexander Medvednikov 5fb4d77764
doc: use fixed-width symbol name at start of comment (#6840) 2020-11-15 15:16:41 +01:00
Alexander Medvednikov ad1510afa0 gg: vfmt gg.v 2020-11-15 15:11:43 +01:00
Alexander Medvednikov 26785668c0 autofree: more tests; gg: fix draw_circle with hidpi 2020-11-15 15:09:44 +01:00
Nick Treleaven 40e7b0eeb3 doc: use fixed-width symbol name at start of comment 2020-11-15 12:58:58 +00:00
Anton Zavodchikov fe3d2a9aba
json2: unescape characters (#6836) 2020-11-15 14:58:17 +02:00
Delyan Angelov f995aa35ea checker: add a check for `x := math.sin<f64>(0)` 2020-11-15 11:51:12 +02:00
spaceface777 1ead130eed
term.ui: render to the alternate buffer (#6832) 2020-11-14 21:05:22 +02:00
Nick Treleaven 01a5b263e5
encoding/csv: improve Reader docs (#6828) 2020-11-14 19:49:36 +02:00
Swastik Baranwal 00464ad988
builtin: add charptr.vstring() and charptr.vstring_with_len() (#6830) 2020-11-14 19:43:42 +02:00
Carlos Esquerdo Bernat 827fb62c29
examples/text_editor: edit multiple files (#6827) 2020-11-14 19:39:59 +02:00
Nick Treleaven 50163508f8
gen: implement type_name method for sum type instances (#6802) 2020-11-14 13:59:03 +02:00
Delyan Angelov 2dc9a45e06 vfmt: fix eating of `app.$method(vars)`; format vlib/vweb/vweb.v 2020-11-14 13:55:10 +02:00
Delyan Angelov ba8cdb2977 vfmt: fix `$for method in App.methods {}` turning to App(methods) 2020-11-14 12:24:46 +02:00
Delyan Angelov d6d202341a table: add a helper `pub fn (t Type) debug() []string {}` 2020-11-14 11:39:58 +02:00
Delyan Angelov df385799a2 checker: fix `invalid type (typ=0 idx=0)` when x,y := gfn(), and gfn returns (Abc,T) 2020-11-14 10:42:56 +02:00
Delyan Angelov 023cddb160 cgen: remove .replace('T', ...) 2020-11-14 10:36:59 +02:00
spaceface777 6b47c61fe4
term.ui: handle middle mouse button events and modifier keys (#6821) 2020-11-14 09:14:54 +02:00
Takahiro Yaota 5069be04a2
net: improve socket_test (#6822) 2020-11-14 08:23:22 +02:00
Delyan Angelov 01579957b8 builder: move -c right before the .c thirdparty file 2020-11-13 20:42:26 +02:00
Delyan Angelov 8cb1714255 builder: fix building sqlite3 on windows 2020-11-13 20:35:21 +02:00
spaceface777 c315218ed1
term.ui: allow setting the terminal title (#6809) 2020-11-13 15:30:47 +02:00
Delyan Angelov 7feb1742d3 cgen: skip deleted map entries in the auto generated .str() method 2020-11-13 13:37:11 +02:00
Delyan Angelov a3404a38c6 term_drawing.v: support arrows, 1, 2 and space 2020-11-13 13:08:28 +02:00
Delyan Angelov f6e54dc027 term.ui: improve Ctrl-Z + fg handling 2020-11-13 10:27:53 +02:00
Daniel Däschle 9c569246ef
cgen: fix typeof union sum type (#6794) 2020-11-12 12:27:54 +01:00
spaceface777 24f743ee12
term: add `term.ui` module (part 2) (#6798) 2020-11-12 12:12:51 +01:00
Luke Edwards a525397022
checker: improve wording on error messages (#6799) 2020-11-11 23:11:27 +02:00
Delyan Angelov f42a44abec vfmt: fix `match x { 10 /* ... */ {} }` and `a := [1/* x */, /* y */2, 3]` 2020-11-11 22:59:43 +02:00
Delyan Angelov e6cc967ac8 vfmt: small cleanup 2020-11-11 21:43:47 +02:00
Delyan Angelov 8197463b08 vfmt: fix `x := Repo<User,Permission>{}` 2020-11-11 21:41:04 +02:00
Daniel Däschle 43ce098043
cgen: fix default value init for union sum types (#6795) 2020-11-11 19:56:13 +02:00
Delyan Angelov a4acb70c64 vfmt: remove rc4.v from known_failing_exceptions 2020-11-11 18:19:03 +02:00
Delyan Angelov 2759b80514 vfmt: remove aes.v and block_generic.v from known_failing_exceptions in `v test-fmt` 2020-11-11 18:16:45 +02:00
Delyan Angelov dd1717af34 checker: add a missing return regression test for if branches too 2020-11-11 18:06:13 +02:00
Delyan Angelov ebfd259333 vfmt: support `struct Repo <T, U> { }` 2020-11-11 17:50:03 +02:00
Delyan Angelov 7d472d887e scanner: vfmt scanner.v 2020-11-11 17:25:58 +02:00
Delyan Angelov 8c241cb745 checker: check that fns with return values, and matches, do return 2020-11-11 17:23:57 +02:00
Daniel Däschle 6271798ce3
cgen: union sum types implementation (#6745) 2020-11-11 09:18:15 +01:00
spaceface777 bb91dc90a5
checker: fix `&` on pointers (#6787) 2020-11-10 13:12:21 +02:00
Nick Treleaven baf2ff1a91
checker: unify invalid argument errors, use argument position (#6785) 2020-11-10 10:40:50 +01:00
Alexander Medvednikov 2254f41722 autofree: free all vars in parent scopes recursively 2020-11-09 15:56:28 +01:00
Nick Treleaven c76e486765
parser: implement `T.name` for generic types (#6783) 2020-11-09 14:35:26 +01:00
Alexander Medvednikov 1c257abc23 autofree: simplify: merge tmp arg logic with scope vars 2020-11-09 14:24:46 +01:00
Alexander Medvednikov 507d724ee6 autofree: free before return tests 2020-11-09 11:54:45 +01:00
KJ Lawrence 7108f89b69
pg: fix exec & exec_param_many (#6782) 2020-11-09 08:22:16 +01:00
div72 b0053d8910
x.json2: change default number type to i64 (#6773) 2020-11-09 07:37:53 +01:00
Carlos Esquerdo Bernat ba366b126f
ws: handle close on client quit (#6776) 2020-11-08 20:36:42 +02:00
spaceface777 3c83551dfe
parser: fix treating JS fn calls as type casts (#6779) 2020-11-08 20:33:55 +02:00
Tomas Hellström 68cfbd6d66
websocket: fix autobahn test to always use latest v(#6780) 2020-11-08 17:46:06 +01:00
pancake af5836202c
js: fix wrong filename and invalid backend selected when using -o .js (#6777) 2020-11-08 17:45:32 +01:00
pancake 2994e7150f
vweb: check function and route parameter count (#6761) 2020-11-08 09:14:24 +01:00
Delyan Angelov 6da8454b3b builder: a small -usecache fix, when v is run in subfolders 2020-11-08 09:18:05 +02:00
Delyan Angelov 4b35495fbe all: support VMODULES environment variable (defaulting to ~/.vmodules) 2020-11-08 08:07:17 +02:00
Delyan Angelov 0ba5544446 checker: add a check for `ptr = Abc{}` 2020-11-07 21:19:46 +02:00
Nick Treleaven 931882d720
checker: support ?T, &T generic return types (#6772) 2020-11-07 18:27:10 +02:00
Tomas Hellström b47c23b73e
x.websocket: fix the uri port parsing problem. Make failures more informative (#6775) 2020-11-07 18:14:33 +02:00
Swastik Baranwal 6354fa031c
checker: add more checks for index_expr (#6737) 2020-11-07 14:55:05 +01:00
Nick Treleaven 125650c986
cgen: fix using brackets for match expression (#6768) 2020-11-07 14:47:27 +01:00
Alexander Medvednikov 0e8c7ca2e3 autofree: fix string reassignment 2020-11-07 04:00:45 +01:00
Nick Treleaven 62cae1ba00
parser: parse func<T>() when T is a map or array type (#6765) 2020-11-07 02:55:28 +01:00
spaceface777 1d706674f2
cgen: don't generate a default expr if a function ends with `return` (#6766) 2020-11-06 18:46:41 +02:00
Ned Palacios 6d8a7ced24
cgen: fix setting nested map elements fields (#6744) 2020-11-06 16:32:44 +02:00
spaceface777 a9e9554b11
all: fix most C warnings (#6758) 2020-11-06 16:26:59 +02:00
Delyan Angelov 98e8894d90 x.websocket: more informative errors 2020-11-06 16:10:22 +02:00
Alexander Medvednikov 3e5871ffb3 autofree: disable optional_return test for now 2020-11-06 10:30:27 +01:00
Alexander Medvednikov 212e6fe52c autofree: do not run in `builtin` 2020-11-06 10:13:05 +01:00
Delyan Angelov b14f779853 vweb: add a placeholder for checking route validity at startup 2020-11-05 22:59:11 +02:00
Delyan Angelov d34c5b767b vfmt: keep the source fn type alias names, instead of the expanded fn declarations 2020-11-05 20:21:37 +02:00
Delyan Angelov 26c2654632 parser: vfmt vlib/v/parser/struct.v 2020-11-05 19:55:20 +02:00
Delyan Angelov 953d102996 parser: prevent a segfault, when compiling cmd/tools/vtest-vet.v in PR 6754 2020-11-05 19:40:15 +02:00
Delyan Angelov 3f9b05a876 vfmt: skip {} for pure fn declarations (let the bodies hit the floor) 2020-11-05 18:59:36 +02:00
Delyan Angelov e80487b35c vfmt: support inline comments before fields in struct initializations 2020-11-05 18:49:52 +02:00
Delyan Angelov 4bf1c2fdcc vfmt: support `match a { x...y {} }` 2020-11-05 18:35:14 +02:00
Delyan Angelov 35096cda3f vfmt: support comments after interface methods 2020-11-05 18:23:45 +02:00
Larpon 4051ce869c
all: remove unused enum value and improve error message for `@` tokens in scanner (#6751) 2020-11-05 12:59:49 +02:00
Larpon 785bf40f67
all: remove comp time '@' expansion from scanner (#6746) 2020-11-05 10:12:32 +02:00
Alexander Medvednikov 1b1d17cfb5 os: basic proof of concept stdout capture; autofree: small fixes 2020-11-05 08:44:37 +01:00
Carlos Esquerdo Bernat 8157f3c6ab
websocket: get port of the uri (#6750) 2020-11-05 06:36:50 +01:00
Nick Treleaven ca8d23acab
table: make Table.type_to_str generate proper function type, not fn name (#6716) 2020-11-05 06:34:56 +01:00
Daniel Däschle a2fc19880a
parser: fixes or block position (#6736) 2020-11-04 16:02:01 +02:00
Delyan Angelov 9eb655e65c all: add .pos fields to all AST nodes, to avoid wrong positions in error messages 2020-11-04 13:34:12 +02:00
Daniel Däschle 25912673a9
cgen: fix generic json bug (#6731) 2020-11-04 10:21:30 +02:00
Ekopalypse cc4bb71f29
os: prevent unnecessary dependencies when importing `os` on windows (#6741) 2020-11-04 10:19:46 +02:00
Daniel Däschle 9d5be12517
gen: add prefix when printing type aliases (#6701) 2020-11-03 14:13:35 +01:00
Delyan Angelov 18f5ed671d builder: fix -showcc with msvc 2020-11-03 12:37:04 +02:00
Delyan Angelov aecdfb06e7 x.net: fix C fn redeclaration of C.inet_ntop (prevented compiling x.net and net together) 2020-11-03 10:06:47 +02:00
Delyan Angelov 204fd8be03 builder: improve the function redefinition detector 2020-11-03 10:00:06 +02:00
Delyan Angelov 2c3f695469 checker,parser: treat C.Struct fields as public by default 2020-11-03 09:35:44 +02:00
Delyan Angelov ae241785bf vfmt: fix `union {}` declarations 2020-11-03 00:35:12 +02:00
Lukas Neubert 4ccb219079
clipboard: fix windows warnings and run vfmt (#6715) 2020-11-02 23:00:29 +01:00
Nick Treleaven 788de9938a
cgen: fix typeof(expr).name for generic type, pointers, etc (#6712) 2020-11-02 22:59:48 +01:00
Delyan Angelov 2202ee5d66 tests: add tests for continue/break in last statement of an `or{}` 2020-11-02 12:54:45 +02:00
Delyan Angelov 4e760c703e checker: disallow `opt_returning_string() or { ... 123 }` (closes #6711) 2020-11-02 05:29:37 +02:00
pancake d040af4939
checker: improve error message for: `a := foo() or { println(err) }` (#6710) 2020-11-02 04:52:35 +02:00
Alexander Medvednikov 613d6c043b autofree: fix the tests 2020-11-02 01:39:10 +01:00
Alexander Medvednikov 06e4c45350 tests: re-enable valgrind tests 2020-11-02 01:25:16 +01:00
Daniel Däschle d5a421e3f5
checker: add alias cast type check (closes #6705) (#6709) 2020-11-02 01:17:35 +01:00
Delyan Angelov 3c0f4c46fa checker: add check preventing `if x:=non_optional() {}` 2020-11-02 01:58:07 +02:00
Alexander Medvednikov a0bf796926 autofree: handle SelectorExpr and fix json 2020-11-02 00:57:45 +01:00
zacanger f0c98fb5c2
doc: fix syntax in sqlite install instructions(#6707) 2020-11-01 22:16:18 +01:00
sunnylcw f934ca37c9
mysql: patch for Windows and FreeBSD (#6703) 2020-11-01 22:15:33 +01:00
Delyan Angelov e2505479ee cgen: encode newlines as \n in the assert meta information 2020-11-01 17:01:45 +02:00
Delyan Angelov e72d9c0f88 parser: protect against infinite loops in -silent mode over invalid .v files 2020-11-01 14:02:32 +02:00
Daniel Däschle 9fdf04b7ff
cgen: make generics printable (#6700) 2020-10-31 19:43:06 +02:00
Delyan Angelov db59585a51 sokol.gfx: fix C.sg_depth_stencil_state compilation with tcc 2020-10-31 14:15:05 +02:00
Ned Palacios a2a0765eff
cgen: fix setting map elements' fields (#6699) 2020-10-31 13:00:04 +01:00
Alexander Medvednikov b59c5fd82b autofree: do not free tmp vars twice 2020-10-31 08:26:54 +01:00
Delyan Angelov 70cbf56655 cgen: show more informative errors, instead of a `invalid type (typ=0 idx=0)` verror panic 2020-10-30 20:26:08 +02:00
Delyan Angelov ff93e8afee builtin: eliminate the usage of _us32_eq for frequent builtin array operations 2020-10-30 14:11:07 +02:00
Alexander Medvednikov 791fda16d3 fmt: handle "it" in lambdas 2020-10-30 07:35:44 +01:00
Alexander Medvednikov 2c75b1397c all: struct embedding 2020-10-30 07:09:26 +01:00
Alexander Medvednikov dca3d13606 autofree: another lambda fix 2020-10-30 00:43:04 +01:00
Ned Palacios ccc0cb23ed
doc: store source content, restructure module directory (#6692) 2020-10-29 17:21:37 +01:00
Ned Palacios 7b5a580c0c
util: split bom checking to a separate fn (#6694) 2020-10-29 17:21:08 +01:00
Delyan Angelov be02ee97fb sync: enable compilation with -autofree 2020-10-29 12:17:08 +02:00
pancake 367067dfff
pkgconfig: improve and fix the parser; move to v.pkgconfig (#6695) 2020-10-29 11:57:23 +02:00
Alexander Medvednikov 423044d4d6 autofree: skip lambda for now 2020-10-29 08:59:13 +01:00
Alexander Medvednikov 71dfec3c4d autofree: generate unique names for each arg 2020-10-29 08:26:45 +01:00
Ned Palacios ce7da85166
parser: make .parse() public (#6693) 2020-10-29 07:10:45 +01:00
Alexander Medvednikov 21002bf2de autofree: fix re-assigning an optional 2020-10-29 07:06:58 +01:00
Alexander Medvednikov f19ca6b411 autofree: simplify, use more scoping, fix expressions inside or blocks 2020-10-29 01:09:38 +01:00
Delyan Angelov b7121786a5 table: run vfmt over atypes.v 2020-10-28 08:46:54 +02:00
Delyan Angelov 7fb739ebcf table: make mut/not mut aggregate fields equal (for read only access) 2020-10-28 08:43:18 +02:00
Swastik Baranwal 0c987f433d
string: enable test for string escaping (#6688) 2020-10-27 15:25:44 +01:00
pancake 36c5eab799
all: add #pkgconfig directive using the new vlib modules (#6673) 2020-10-26 18:05:18 +01:00
Delyan Angelov cf21c63183 v.vcache: extract v.vcache to a separate module, to test it and reuse it 2020-10-26 18:37:37 +02:00
Delyan Angelov 0c192cfd64 tests: fix warnings when doing `./v -W -progress -check-syntax test-fixed` 2020-10-26 14:41:57 +02:00
Delyan Angelov 535c4ed0d6 builder: return early in run_compiled_executable_and_exit, when -check-syntax is passed 2020-10-26 11:23:28 +02:00
Rolf Schmidt 3f5be0f4fc
mysql: fix unwrapped unsafe code of mysql lib (#6680). (#6681) 2020-10-26 11:21:28 +02:00
Delyan Angelov 60cc8ac39c vcache: use 2x wyhash.sum64_string(hk,x).hex_full(), instead of md5.sum(hk.bytes()).hex() 2020-10-25 09:22:31 +02:00
Delyan Angelov 5cb31c2c8f builder: fix support for tcc on windows (openlibm.o) 2020-10-25 03:35:34 +03:00
Delyan Angelov 5f6259dde6 v: add VCACHE support for thirdparty object files and for `v build-module` 2020-10-25 03:09:07 +03:00
Delyan Angelov 89daec4e93 ci: run vfmt over compile.v and checker.v 2020-10-24 20:41:52 +03:00
Delyan Angelov 8b01146b90 compiler: implement -W and -reuse-tmpc 2020-10-24 20:34:50 +03:00
Alexander Medvednikov 42da37e900 autofree: fix if expressions 2020-10-24 19:06:31 +02:00
Delyan Angelov 23ee3018c3 tools: add `v test-vet` 2020-10-24 16:37:58 +03:00
Delyan Angelov 296a6095a4 builder: vfmt compile.v 2020-10-24 15:48:11 +03:00
Delyan Angelov 8f85396a31 builder: use unique .tmp.c and .tmp.c.rsp files, and rm them on successfull non debug builds. 2020-10-24 15:08:45 +03:00
Delyan Angelov ac6fad6a63 checker: fix comptime custom defines usages, add tests 2020-10-24 15:06:51 +03:00
Larpon e97d3af4b1
tcc: fix 'tcc: error: library `atomic` not found' on older Ubuntu distros (#6672) 2020-10-24 13:49:57 +03:00
Alexander Medvednikov c2e9be5a45 cgen: use even more efficient array.delete_last() 2020-10-23 23:04:22 +02:00
Alexander Medvednikov 334497fdc0 cgen: use more efficient array.pop() 2020-10-23 22:52:50 +02:00
Alexander Medvednikov 3b3501cf09 autofree: if expression fixes 2020-10-23 22:50:22 +02:00
Delyan Angelov 8ffbcdc553 cgen: extract g.new_ctemp_var/2, g.new_ctemp_var_then_gen/2 and g.gen_ctemp_var from gen_assert_stmt 2020-10-22 19:48:06 +03:00
Delyan Angelov 66787b05d6 cgen: support most kinds of ast.PrefixExpr in gen_assert_metainfo 2020-10-22 19:25:07 +03:00
Delyan Angelov f7698ea160 v symlink: fix windows PATH setting (cmd.exe needs C: not c:) 2020-10-22 17:31:37 +03:00
Alexander Medvednikov 66b8462d7a autofree: handle method chains 2020-10-22 03:51:28 +02:00
Delyan Angelov ab137e4164
cgen: print results of failed callexprs in `assert fn() == fn2()` (#6665) 2020-10-21 21:58:40 +02:00
Alexander Medvednikov 6d11caf784 autofree: string.replace() test 2020-10-21 19:44:31 +02:00
Swastik Baranwal 019e3b2f4a
checker: add error for ast.PrefixExpr on the left side of decl_assign (#6660) 2020-10-21 17:37:30 +02:00
Delyan Angelov d67e177733 ci: run `v vet` over cmd/tools and cmd/v too 2020-10-21 15:26:29 +03:00
Delyan Angelov 9322e91d1b v test-fmt: add 1 sec sleep before rebuilding vfmt, to avoid its parallel recompilation afterwards 2020-10-21 15:20:07 +03:00
Delyan Angelov 87f659a0dc ci: fix should_recompile_tool/2 2020-10-21 15:07:57 +03:00
Delyan Angelov 1aa6c125d9 ci: fix `v self` 2020-10-21 13:43:18 +03:00
Delyan Angelov 02db94c4bc v test-fmt: reuse v.util.should_recompile_tool/2, extracted from v.util.launch_tool/3 2020-10-21 12:54:10 +03:00
Delyan Angelov dab66593fc vlib: run vfmt over vlib files, so that `v doc -m vlib/` can run without warnings 2020-10-21 12:54:10 +03:00
Ned Palacios 5b1ab3b0bb
vdoc: use maps, enum-based categorization; fixes (#6659) 2020-10-21 11:26:33 +03:00
Delyan Angelov f3732b730a term: replace assert with panic to enable build-module for it too 2020-10-21 08:49:07 +03:00
Enzo 21db4b338b
parser: clean error when nesting `unsafe` (#6656) 2020-10-20 22:57:24 +03:00
Delyan Angelov 5c93f942be docs,tests: add project_with_c_code_2 (passing structs from C to V to C) 2020-10-20 17:59:48 +03:00
Delyan Angelov 0e55534c6e cgen: fix spurious autoref bug, for struct init of a &C.type field, with a byteptr value 2020-10-20 16:28:33 +03:00
Alexey 74ebce6b1f
vdoc: fix generating documentation for 3rd-party modules (#6651) 2020-10-20 02:52:56 +02:00
Lukas Neubert f37e936321
pg, sqlite, mysql: run vfmt (#6650) 2020-10-19 20:11:04 +02:00
Alexander Medvednikov 37d6503437 parser: do not allow fn consts 2020-10-19 13:48:39 +02:00
Delyan Angelov 0d31b39f11 cgen: improve error message for <inttypes.h> 2020-10-19 12:44:53 +03:00
Delyan Angelov d89986dd5e cgen: use a guarded include for <inttypes.h> too 2020-10-19 12:18:22 +03:00
Delyan Angelov 92d9569d5d checker: fix #include with @VROOT 2020-10-18 22:31:21 +03:00
Alexander Medvednikov 396dca7f48 checker: handle bad `$if` values 2020-10-18 21:22:37 +02:00
Alexander Medvednikov 30214a7700 Revert "cgen: enable new if expression implementation everywhere"
This reverts commit 958577b98b.
2020-10-18 20:19:52 +02:00
Alexander Medvednikov 958577b98b cgen: enable new if expression implementation everywhere 2020-10-18 20:14:58 +02:00
Delyan Angelov 9cf5c9ac43 tests: simplify print mode logic 2020-10-18 20:49:25 +03:00
Delyan Angelov 2440413310 tests: turn off live_test.v on macos for now (due to frequent false positives) 2020-10-18 19:45:49 +03:00
Delyan Angelov 7bc94fff9a tests: implement compact progress mode (the old one is available with -expand) 2020-10-18 19:27:29 +03:00
Alexander Medvednikov 8a68714095 cgen: new experimental simple if expression implementation 2020-10-18 15:55:18 +02:00
Delyan Angelov 2f149e6984 vfmt: fix merged param warnings in sokol's particles example and vlib/x/net/udp.v 2020-10-18 13:45:13 +03:00
Delyan Angelov 44753e62ab builder: enable `v run x_test.v` to allow universal make/compile commands in vim/emacs 2020-10-18 10:34:40 +03:00
Delyan Angelov 8b2e704741 examples: make `v -prod build-examples` pass without warnings/errors 2020-10-18 09:48:13 +03:00
Delyan Angelov dd96ba0d24 vfmt: fix `type TwoSameArgs = fn (i int, j int) string` formatting 2020-10-18 08:54:29 +03:00
Delyan Angelov 5c4ba3474b vfmt: fix `init_fn gg.FNCb = voidptr(0)` when vfmt-ing gg.v 2020-10-18 08:42:08 +03:00
Alexander Medvednikov 55536bb364 autofree: handle more statements 2020-10-18 00:48:06 +02:00
Swastik Baranwal acc85be5ae
checker: disallow type casting to `none` (#6635) 2020-10-17 20:02:30 +03:00
Delyan Angelov 9309a07438 net.openssl: update custom missing headers message 2020-10-17 19:30:50 +03:00
Lukas Neubert dea8662d6b
cli: show help for empty root command (#6636) 2020-10-17 19:06:27 +03:00
Delyan Angelov 3c2202572b
cgen: produce cleaner error on missing C headers (with optional explanation) (#6637)
Implements support for `#include <openssl/rand.h> # Please install OpenSSL`.
2020-10-17 18:27:06 +03:00
Delyan Angelov aad122334b vlib: fix warnings due to the vfmt change 2020-10-17 16:26:56 +03:00
Delyan Angelov 8d88b73512 parser: fix formatting 2020-10-16 17:47:23 +03:00
Delyan Angelov 140166e1cd interpolation: support '' (rounding like in C) 2020-10-16 17:28:11 +03:00
Delyan Angelov 11ee68e799 cgen: fix an interface index generation bug 2020-10-16 15:22:25 +03:00
Delyan Angelov eab0974e7d net: allow more accurate profiling, using `res := C.xxx return res` instead of `return C.xxx` 2020-10-16 00:43:55 +03:00
Delyan Angelov 6cea20e427 tests: fix warnings in live_test.v 2020-10-15 23:15:00 +03:00
Enzo b083f4014b
fmt: fix multiple things and format most of the compiler (#6631)
Format expressions inside string interpolation like the rest (it used to be a+b instead of a + b, not too sure why)
Fix formatting some match branches when there were only one statement inside (it was inlined)
Fix parsing and formatting some comments edge case on struct field init. You should check out this test because the result is a bit different from before. I personally find it more logical but I would understand if the former format was to stay
Fix formatting of void-returning function signature
2020-10-15 22:12:59 +02:00
Delyan Angelov d261844da0 vweb: fix warnings about `fn f(x, y Type)` 2020-10-15 22:04:42 +03:00
Nick Treleaven 3c336b566d
checker: add check_expected() which returns an optional error (#6623) 2020-10-15 17:30:36 +02:00
Alexander Medvednikov 0dfd51408e autofree: use scopes to avoid dups 2020-10-15 16:26:59 +02:00
Daniel Däschle df82ef6bc7
base64: encode_url (#6622) 2020-10-15 16:04:06 +02:00
Delyan Angelov 31ef921ef2 ci: fix warnings/errors due to the vfmt change 2020-10-15 16:17:52 +03:00
Delyan Angelov 50a2b033b7 ci: fix failing tests on windows too 2020-10-15 15:54:44 +03:00
Delyan Angelov 5d4cce3e95 ci: fix failing tests 2020-10-15 15:42:16 +03:00
Alexander Medvednikov 8b13f3b53f fmt: fix tests 2020-10-15 12:45:34 +02:00
Alexander Medvednikov 3d4ab7de1e checker: update tests 2020-10-15 12:39:32 +02:00
Alexander Medvednikov 7da1afa140 all: switch to the new fn arg syntax everywhere; add lots of vfmt -verify tests 2020-10-15 12:32:28 +02:00
Alexander Medvednikov 982056894e fmt: use `f(x int, y int)` instead of `f(x, y int)` 2020-10-15 12:00:46 +02:00
Swastik Baranwal 314fae7446
checker: add more checks for hash_stmt (#6615) 2020-10-15 11:58:01 +03:00
Delyan Angelov 44a42b7273 ci: fix parser.v formatting 2020-10-15 11:41:43 +03:00
Delyan Angelov 6326b6d58e parser: add helper method p.trace/2 2020-10-15 11:09:19 +03:00
JalonSolov a4cc1ab7e3
all: cleanup more match statements (#6616) 2020-10-15 08:08:27 +03:00
Delyan Angelov 3795aaab5c v test-fmt: reformat some skipped files, comment on the remaining ones 2020-10-15 00:39:09 +03:00
Delyan Angelov 46c5a2c8fc v test-fmt: fix some embedded comments in expressions 2020-10-14 22:52:33 +03:00
Delyan Angelov c33a748344 vfmt: handle more comments in interface/struct init/match branches 2020-10-14 22:52:33 +03:00
Alexander Medvednikov 6ad5ecf569 table: add "please create a gh issue" to the "compiler bug" error 2020-10-14 21:09:10 +02:00
Delyan Angelov 3c48a6e4ce tests: rename _test.v files with dup names (temp workaround for highly parallel testing) 2020-10-14 18:25:26 +03:00
Delyan Angelov d1e52620c7 crypto.hmac: implement hmac.equal/2 too 2020-10-14 17:21:48 +03:00
Alexander Medvednikov 9355c60b4d cgen: fix for mut val and enable the test 2020-10-14 13:34:49 +02:00
Alexander Medvednikov 25947a7b23 autofree: handle args in optional returns 2020-10-14 13:23:58 +02:00
Alexander Medvednikov ea09bd5e45 checker/fmt: `for mut val` fixes 2020-10-14 12:50:19 +02:00
Ekopalypse ed7e306adc
crypto: add hmac module (#6614) 2020-10-14 12:25:58 +02:00
Delyan Angelov ee0baf62ad vdoc: fix for `v doc log` 2020-10-13 18:11:57 +03:00
Alexander Medvednikov 194c2c926e doc: use the new table.type_to_str 2020-10-13 16:46:56 +02:00
Alexander Medvednikov a07f31feae all: `for mut val in vals {` (part 1) 2020-10-13 16:27:30 +02:00
Delyan Angelov d316f78f94 vfmt: remove the buggy f.type_to_str, use f.table.type_to_str from now on 2020-10-13 16:17:02 +03:00
Delyan Angelov 1123f4fcc9 vfmt: fix deep nested map types, using f.table.type_to_str 2020-10-13 16:08:25 +03:00
Nick Treleaven 78bcda14c4
checker: infer T from parameter of type `[]T` (#6611) 2020-10-13 15:15:25 +03:00
Delyan Angelov 28dea17065 ci: prevent Periodic failure, ensure VSMTP_TEST_USER/VSMTP_TEST_PASS are set in smtp_test.v 2020-10-13 09:22:28 +03:00
JalonSolov 57d705e265
ast: minor code cleanup (#6608) 2020-10-12 23:11:51 +02:00
Enzo da7d531f8f
fmt: refactor `type_to_str` (#6607) 2020-10-12 18:41:42 +03:00
Enzo 93bb7564dc
fmt: fix multiple problems with types (#6603) 2020-10-12 09:27:55 +03:00
scurty-labs 5e86b40469
gg: update draw_circle/arc x, y to f32 (#6595) 2020-10-11 20:36:18 +02:00
Delyan Angelov 62f6e65509 repl: fix `reset`; make `echo "print(2.0 * 3.14159)" | ./v` print only the result 2020-10-11 10:50:24 +03:00
Delyan Angelov c7e0a27e0d ci: fix v fmt test, by formatting cgen.v and atypes.v 2020-10-11 10:00:53 +03:00
Delyan Angelov 604b28b1c5 cgen: fix for `type FdfFn = fn(...) (x,y)` 2020-10-11 09:53:35 +03:00
Nick Treleaven b677ad9ca5
checker: fix panic on match expression without results (#6597) 2020-10-10 15:42:40 +02:00
Enzo 6038264a4c
gen: fix slicing mutable arguments (#6596) 2020-10-10 12:03:23 +02:00
Alexander Medvednikov d8d80fbf42 gg: add a missing math import and vfmt 2020-10-10 10:37:17 +02:00
Alexander Medvednikov 1332bba7af autofree: wrap up optionals 2020-10-10 10:34:51 +02:00
scurty-labs b2fdd7fbaf
gg: add draw_circle and draw_arc (#6594) 2020-10-10 10:26:08 +02:00
Xavier B d56072eb53
vweb: fix/remove todos from assets tests (#6593) 2020-10-10 00:54:46 +02:00
Delyan Angelov e862fad917 parser: support `mut static x := y` in -translated mode 2020-10-09 22:24:21 +03:00
Justin Jones 04d3ca7dbe
http: fix status codes (#6590) 2020-10-09 18:33:16 +03:00
Nick Treleaven 36706126fd
checker - improve error for `as` casting on non-sum type (#6587) 2020-10-09 16:12:12 +02:00
Ned Palacios fc375a40f8
x.json2: add fast_raw_decode; support for i64 and f32 (#6586) 2020-10-09 16:11:55 +02:00
Nick Treleaven f734f8167b
checker: improve error message for match branch type mismatch (#6588) 2020-10-09 16:11:11 +02:00
Alexander Medvednikov c463c26983 autofree: optionals fix 2020-10-09 01:13:31 +02:00
Nick Treleaven 92630a2821
checker: error if assigning to a function (#6581) 2020-10-09 00:48:39 +02:00
Alexander Medvednikov 7d65e4cb10 autofree: fix and test var declarations 2020-10-08 17:10:20 +02:00
Alexander Medvednikov 1123b8259a time: vfmt time/parse.v 2020-10-08 16:59:43 +02:00
Delyan Angelov c3626bf2e6 vfmt: prepare for using .source_name in type_to_str 2020-10-08 14:26:12 +03:00
Swastik Baranwal aea52af9ae
checker: add is_mut check for disallowing taking address of map's key and array's element outside unsafe (#6573) 2020-10-08 09:37:18 +03:00
Delyan Angelov efce448b23 parser: always treat MainLetter(x) as a cast, even when the type is not yet known 2020-10-07 15:50:54 +03:00
Delyan Angelov d46d607334 backporting: remove C typedef redefinitions of map_int/map_string/array_byte/array_string 2020-10-07 11:32:50 +03:00
Delyan Angelov 317a9bae5f backporting: remove redefinition of strconv__Float64u 2020-10-07 11:06:52 +03:00
Delyan Angelov 3d0f4fd756 backporting: cleanup Makefile, use -std=gnu99 by default, honor CFLAGS and LDFLAGS (CentOS 6.9) 2020-10-07 07:05:59 +00:00
shnorbluk b940dc4f8a
cli: help displayed when a Command has no execute function (fix #6530) (#6567) 2020-10-07 05:39:13 +02:00
Delyan Angelov ce302c29e4 builtin: support also [abc,def].sort(b>a) 2020-10-06 21:33:15 +03:00
Nick Treleaven f7decfe399
checker: infer generic type T from matching fn call argument (#6298) 2020-10-06 15:34:02 +02:00
Delyan Angelov 8e5067421f vet: accumulate the collected errors manually (fixes CI) 2020-10-06 10:02:35 +03:00
Delyan Angelov 70826914a7 ci: fix mut_args_warning.vv error 2020-10-06 09:38:07 +03:00
Alexander Medvednikov 256a572cbe vet: fix vet_errors 2020-10-06 07:07:50 +02:00
Alexander Medvednikov ed15b40529 parser: do not allow array references + explain why 2020-10-06 06:53:48 +02:00
Alexander Medvednikov 63c9b88e7f vet: remove unnecessary &[]string 2020-10-06 06:43:28 +02:00
Alexander Medvednikov a51c445df8 ci: vfmt -verify more important files 2020-10-06 06:32:39 +02:00
Alexander Medvednikov d2d3289a2a all: mark pref.Preferences field as immutable 2020-10-06 06:24:50 +02:00
Delyan Angelov 06a02c41c3 tests: reduce probability of locks during macos runs of live_test.v 2020-10-05 21:20:42 +03:00
Swastik Baranwal d77669da80
test: add tests for disallowing map/array get element/key address (#6568) 2020-10-05 18:40:51 +03:00
kalapalo 4b410534dd
cgen: add C fn memfreedup to cheaders.v (#6563) 2020-10-05 13:14:41 +02:00
Swastik Baranwal 5f07b255bd
checker: disallow address of array and map index outside unsafe (#6557) 2020-10-05 13:08:30 +02:00
Ned Palacios 2b1a5d7a56
vdoc: move local scope-based doc generation to its own function (#6565) 2020-10-05 07:59:17 +02:00
Enzo 35a83464d0
gen: separate sumtype from classic match (#6547) 2020-10-04 19:50:23 +02:00
Ekopalypse 2622070f14
os: ensure that setenv creates the key on windows (#6560) 2020-10-04 19:43:28 +02:00
Delyan Angelov 0c174104fc checker: allow &=,|=,^=,%= on an integer number type aliases 2020-10-04 15:29:09 +03:00
Delyan Angelov 628b136e85 checker: allow casting from floats/enums to byte 2020-10-04 14:46:24 +03:00
Marcin aa81ebb600
scanner: fix double quotes escape (#6474) 2020-10-04 10:34:04 +02:00
Enzo fd88bfbac8
fmt: fix formatting of anon args (#6545) 2020-10-04 06:32:47 +02:00
Leonardo Cecchi 51987e17df
pg: make `exec`, `q_int` and `q_strings` return an optional (#6554) 2020-10-04 06:31:47 +02:00
Enzo c84848c417
fmt: fix formatting enum with attributes (#6551) 2020-10-03 21:33:02 +03:00
vmcrash c5e46c9e55
atoi.v: add common_parse_uint2 with error code return values (#6550) 2020-10-03 20:57:37 +03:00
Henrixounez c324169af0
all: remove intermediate handling for both global definition syntaxes (#6546) 2020-10-03 15:41:45 +02:00
Swastik Baranwal 7e13518cc2
parser: disallow match expr at certain places (#6490) 2020-10-03 16:30:58 +03:00
Henrixounez a9da4dd437
parser: fix indentation to tabs (#6548) 2020-10-03 14:20:41 +02:00
Delyan Angelov de77f0ba0f vfmt: make vlib/v/table/table.v vfmt-able 2020-10-03 12:57:21 +03:00
Enzo 677b0ba2d2
gen: access fields in multi-type sumtype match (#6541) 2020-10-03 11:19:43 +02:00
Delyan Angelov 7b034a54e3 vfmt: make vlib/v/table/atypes.v vfmt-able 2020-10-03 11:48:12 +03:00
Henrixounez c9574ae7d7
syntax: new global variable declaration syntax (#6540) 2020-10-03 07:03:44 +02:00
Leonardo Cecchi 8ac0bd44bd
pg: avoid leaking a PGconn on connection errors (#6543) 2020-10-03 07:03:11 +02:00
Swastik Baranwal c8a884f57f
checker: fix typos in chan (#6539) 2020-10-03 06:59:30 +02:00
kalapalo eefe067c27
cgen: fix `as` cast when sumtype is the result of a function call (#6537) 2020-10-03 05:04:15 +02:00
Daniel Däschle 2204bad7cf
gen: removes space on struct printing (#6535) 2020-10-02 13:06:02 +02:00
Delyan Angelov 70c87137a9 live_test.v: wait 5 times more on macos 2020-10-02 11:38:49 +03:00
Nick Treleaven 7c86b03505
checker: don't error if last statement in match branch produces a value (#6523) 2020-10-02 09:33:04 +02:00
Daniel Däschle 8e8e808fc9
gen: fix sumtype custom str (#6534) 2020-10-02 09:32:07 +02:00
Ekopalypse 1a7ac5e382
builtin: VectoredExceptionHandler cast on x86 (#6525) 2020-10-02 05:17:33 +02:00
Nicolas Sauzede c825275f7f
pref: fix whitespace in compiler message (#6529) 2020-10-02 05:16:16 +02:00
Henrixounez 8152b86652
checker: detect correct len expression for multidimensional array init (#6521) 2020-10-02 03:12:33 +02:00
Nick Treleaven 7e720a1253
pref: do not check arguments after 'run' command (#6524) 2020-10-01 23:30:39 +03:00
Henrixounez a57e01fee7
parser: dont allow single letter enums (#6526) 2020-10-01 23:29:49 +03:00
spaceface777 f55f2fb9d1
gen: optimize `str == ''` to `str.len == 0` for performance (#6527) 2020-10-01 23:28:44 +03:00
Delyan Angelov ac384db71f builder: cleanup .timing_message/2 2020-10-01 18:21:34 +03:00
Delyan Angelov a0e4be04be compiler: print more suggestions, without a good specific match 2020-10-01 17:27:31 +03:00
Henrixounez 0f1ed1ca09
scanner: add an error for unfinished string literals (#6519) 2020-10-01 16:40:59 +03:00
Delyan Angelov 11b16a63cf checker: add a suggestion for misspelled struct field name errors 2020-10-01 15:36:47 +03:00
Alexander Medvednikov f534edc371 doc: replace os.base_dir with os.dir 2020-10-01 01:30:22 +02:00
Alexander Medvednikov 4879661f5a os: remove base_dir(); dir() and base() fixes 2020-10-01 01:25:52 +02:00
Enzo 324d547cdb
parser: allow multiple types in match branch (#6505) 2020-10-01 01:07:36 +02:00
Nick Treleaven 18be7b115a
checker: disallow most statements in if/match expression branches (#6509) 2020-09-30 16:06:22 +02:00
Lukas Neubert 3a8be4d8d9
os: home_dir() remove trailing slash (#6512) 2020-09-30 16:02:54 +02:00
Lukas Neubert 76e373a5f4
v help: fix newline (#6510) 2020-09-30 15:57:22 +03:00
Larpon 4cd5153b32
android: enable autofree (#6503) 2020-09-30 07:40:05 +02:00
Alexander Medvednikov ae7689f739 autofree: simplify, clean up, and fix complex arg exprs 2020-09-30 07:27:24 +02:00
Daniel Däschle c38a050125
cgen: fix array and map printing (#6508) 2020-09-30 01:26:27 +02:00
Delyan Angelov dc954bbb03 all: use `macos` consistently in os.user_os and the compiler 2020-09-29 22:32:20 +03:00
JalonSolov 2fd6c05445
fonts: fix so it does not try for RobotoMonoMono.ttf (#6507) 2020-09-29 13:20:37 +03:00
Ned Palacios 1aec041371
json: fix encode/decode support for generic structs (#6489) 2020-09-29 03:15:00 +02:00
Nick Treleaven 05dcdfd267
pref: error if unknown argument passed to `v` (#6487) 2020-09-29 03:13:54 +02:00
Nick Treleaven 9f33b33803
parser: warn about ambiguous infix/prefix op token (#6491) 2020-09-29 03:13:10 +02:00
Alexander Medvednikov 9e31335744 pref: remove obsolete flags 2020-09-29 02:54:05 +02:00
Daniel Däschle 06cade6c31
all: change .ReturnType and .Type to .return_type and .typ (#6494) 2020-09-28 06:13:38 +02:00
Delyan Angelov f9ce7f3542 vfmt: fix formatting for [4][4]int static arrays 2020-09-27 22:46:33 +03:00
Delyan Angelov cbd7c7d8c6 tests: support VTEST_ONLY in vlib/v/fmt/fmt_keep_test.v too 2020-09-27 22:01:46 +03:00
Delyan Angelov cfdf66c129 ci: run vfmt over checker.v 2020-09-27 17:08:28 +03:00
Delyan Angelov 220f3cc2b9 bare: update Signo enumeration 2020-09-27 16:48:25 +03:00
Delyan Angelov a6d525eb92 ci: fix `is not a variable and cannot be locked` failing tests 2020-09-27 16:32:46 +03:00
Emily Hudson 3a869c726b
builtin: fix definition of VectoredExceptionHandler (#6495) 2020-09-27 15:56:30 +03:00
Delyan Angelov 03258db26d ci: other mut vlib test fixes 2020-09-27 11:18:55 +03:00
Delyan Angelov aa889b0edc ci: fix vlib/x/websocket tests 2020-09-27 11:10:56 +03:00
Delyan Angelov 7c6695317c Revert "ci: fix building v from vc"
This reverts commit b3f503e0ce.
2020-09-27 10:36:26 +03:00
Delyan Angelov b3f503e0ce ci: fix building v from vc 2020-09-27 10:34:11 +03:00
Alexander Medvednikov c5dc792c5d fmt: args => params 2020-09-27 03:46:15 +02:00
Alexander Medvednikov 3d5292b63f tcp/udp: fix mutability 2020-09-27 03:40:59 +02:00
Alexander Medvednikov fca344d1fb all: fn args => params 2020-09-27 03:32:56 +02:00
Alexander Medvednikov e2c7126d11 checker: verify mutability of method args 2020-09-27 03:14:24 +02:00
Delyan Angelov af37c7ac6b gg: prevent messages about missing font variants without `-d debug_font` 2020-09-26 09:36:46 +03:00
Daniel Däschle d782de5b00
gen: struct str fixes (#6483) 2020-09-25 23:12:33 +02:00
Delyan Angelov b999d01de7 runtime: use GetCurrentProcessorNumber for runtime.nr_cpus() 2020-09-25 22:02:29 +03:00
Nick Treleaven fbae0a7274
checker: warn if fn looks like a test fn but filename doesn't end in `_test.v` (#6469) 2020-09-25 19:26:11 +03:00
spaceface777 b44620d065
time: use linux high-precision timers on Android as well (#6476) 2020-09-25 18:02:02 +03:00
spaceface777 aa1d5fcbdd
flag: fix panic if flag value was not provided (#6478) 2020-09-25 16:31:35 +03:00
spaceface777 ae48b709ed
gg: don't call `os.is_file()` on Android (the font is part of the APK there) (#6475) 2020-09-25 13:06:20 +03:00
Daniel Däschle abc98c273c
parser: require assign on type alias (#6477) 2020-09-25 12:02:32 +02:00
Lukas Neubert 2ea94d621f
gg: fix loading variants of many fonts in new_ft() (#6468) 2020-09-25 11:52:57 +02:00
spaceface777 0b95d72354
checker: comp. if branch logic fix (#6473) 2020-09-25 12:48:27 +03:00
Daniel Däschle 90d1a689db
gen: fix str gen for pointers in structs (#6462) 2020-09-24 21:14:16 +02:00
Daniel Däschle e384dea8ac
checker: add error for amp on literals (#6467) 2020-09-24 21:13:46 +02:00
Alexander Medvednikov 47a62b12d4 autofree: advanced expr test 2020-09-24 19:22:16 +02:00
Alexander Medvednikov 403cd0d915 Revert "gen: scape string function in gen/str.v (#6452)"
This reverts commit 60fbcc37fc.
2020-09-24 18:19:18 +02:00
Marcin 60fbcc37fc
gen: scape string function in gen/str.v (#6452) 2020-09-24 18:18:10 +02:00
Nick Treleaven be2ac0ba89
fmt: fix writing ConcatExpr (#6466) 2020-09-24 18:04:39 +02:00
Delyan Angelov dbce01792c gg: try 3 different fonts in system_font_path on MacOS 2020-09-24 17:09:08 +03:00
Delyan Angelov 1f21bc4b49 gg: bugfix on missing font file, remove last empty line in `v doctor` 2020-09-24 16:53:06 +03:00
Nick Treleaven 3925c3fa20
parser: disallow index variable with range `for` (#6464) 2020-09-24 15:52:44 +03:00
Marcin fb45e2e046
flag: fix panic on single `-` 2020-09-24 15:50:44 +03:00
Uwe Krüger 72ecc222ee
fmt: support `select` expressions (#6460) 2020-09-23 22:22:39 +02:00
Daniel Däschle 4f09ddccb4
cgen: implement sum type str gen (#6454) 2020-09-23 20:51:51 +02:00
Nick Treleaven 2886b1c67d
checker: require binary operands for &&, || (#6449) 2020-09-23 20:48:25 +02:00
Uwe Krüger 9c0758639b
cgen: fix `for match {...} {` and `for select {...} {` (#6441) 2020-09-23 06:05:12 +02:00
Alexander Medvednikov 624f22e27e all: mutability check (part 1); enable mutable sumtype args 2020-09-22 05:28:29 +02:00
Delyan Angelov a9ef7d173f doctor: suggest `v doctor` in issue templates and C builder errors 2020-09-21 18:29:52 +03:00
Ned Palacios 744f685973
vdoc: document variables in a specific pos/scope; support `v doc os File` (#6354) 2020-09-21 17:40:39 +03:00
Swastik Baranwal 077b597bd8
scanner/parser: change error msgs for `\0` and `\x00` and add error for r`byte` and c`byte` (#6436) 2020-09-21 17:34:24 +03:00
Uwe Krüger 0f1c484ad1
parser/checker: `if select { ... } {` (#6434) 2020-09-21 07:34:04 +02:00
Alexander Medvednikov 27f91faae5 gg: remove an old compielr hack that's no longer needed 2020-09-21 02:51:14 +02:00
Alexander Medvednikov 8c8fe02000 gg: mouse_move, mouse_down 2020-09-21 02:42:53 +02:00
Leonardo Cecchi 21c5ff681b
pg: add binding for PQfinish (close) (#6435) 2020-09-21 01:47:37 +02:00
Henrixounez e429a77de2
gen: named imported structs operator overloading and str methods (#6433) 2020-09-20 19:51:14 +02:00
Henrixounez 5086fd537c
checker: prompt error on implicit int overflow by literal (#6410) 2020-09-20 16:29:01 +02:00
Marcin 34884c1631
os: fix binary mode read/write on windows (#6431) 2020-09-20 16:28:45 +02:00
Delyan Angelov d4fbf422b3 gg: support transparency for rect/triangle/etc primitives too 2020-09-20 12:05:30 +03:00
Uwe Krüger 4ae88c69ac
sync/select: allow push of literals and calculated expressions (#6429) 2020-09-20 03:50:09 +02:00
Alexander Medvednikov c781a5f245 gg: draw_triangle(); draw_image_flipped() 2020-09-20 03:47:32 +02:00
Nick Treleaven 9958881cbe
parser: support parsing unsafe (as first token) as UnsafeExpr (#6032) 2020-09-19 19:18:36 +03:00
Swastik Baranwal 1c886ad067
scanner: add check for `!is_raw` for null `\0` (#6427) 2020-09-19 19:09:18 +03:00
Henrixounez 4b0e7fc979
checker: check if imported struct is public (#6425) 2020-09-19 18:16:43 +03:00
Henrixounez 4121ba9ea9
parser: fix error about multiple modules showing when eof (#6423) 2020-09-19 02:15:47 +02:00
Uwe Krüger 31a52cdf21
cgen: implement channel `select` block code generation (#6424) 2020-09-19 02:14:35 +02:00
Enzo 3126ae305c
checker: verify use of blank identifier (#6412) 2020-09-18 23:47:50 +02:00
Delyan Angelov 78e6ddee75 tests: enable running `v test .` inside vlib/v/ too 2020-09-18 19:20:01 +03:00
Daniel Däschle 1b9711edde
gen: fix C warnings by cleaning up skip_struct_init (#6416)
* gen: removes struct name from list which shouldn't be initialized

* gen: vfmt

* cgen: remove the skip_struct_init list

* Revert "cgen: remove the skip_struct_init list"

This reverts commit d9e1fdbb4c.

* fix ci

* vfmt vlib/v/gen/cgen.v

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-18 16:36:40 +03:00
Henrixounez 46dc6cc24b
repl: fix ctrl+z job to background on linux (#6417) 2020-09-18 16:34:00 +03:00
Delyan Angelov d2badcdedf vlib: fix more C warns on windows 2020-09-18 13:40:47 +03:00
Henrixounez c1f04d8c72
builtin: fix min value for int_str (#6411) 2020-09-18 12:56:16 +03:00
Daniel Däschle ffc8cf3925
gen: c don't generate x >= 0 check for unsigned ints in range exprs in matches (#6414) 2020-09-18 12:53:19 +03:00
Daniel Däschle f7aa9cb0c5
vlib: fix C warning for UNICODE macro redefinition on windows (#6415) 2020-09-18 12:51:55 +03:00
Henrixounez c02a0f90df
checker: prompt error on script expression while inside a file with main (#6400) 2020-09-18 01:14:14 +02:00