1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

5133 Commits

Author SHA1 Message Date
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 rbyte and cbyte (#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
Henrixounez
4038ac463c
gen: bytes array print not ending prematurely when null byte (#6401) 2020-09-18 01:12:32 +02:00
Nick Treleaven
14743458e5
checker: tweak error messages for or block; use proper type names (#6377) 2020-09-18 01:09:00 +02:00
Daniel Däschle
f59b771c76
parser: fix nested amp (#6402) 2020-09-18 01:04:56 +02:00
Nick Treleaven
69c592e0d6
checker: disallow infix op on an optional type (#6406) 2020-09-18 01:03:55 +02:00
Henrixounez
99574e465d
scanner: allow escape on null character (#6404) 2020-09-18 01:02:06 +02:00
Enzo
a1e127ae46
checker: check type in is InfixExpr (#6407) 2020-09-18 01:01:05 +02:00
spaceface777
ff92c3409d
ast: merge IfExpr and CompIf (#6011) 2020-09-18 00:58:54 +02:00
Seven Du
98e6d25b42
vweb: make ip() to return peer_ip work (#6399) 2020-09-17 10:38:39 +03:00
Delyan Angelov
6f7bb30b0a tests: fix strconv.v_sprintf arrity mismatch in format_test.v 2020-09-17 00:33:25 +03:00
Delyan Angelov
80b150d3ad strconv.v_sprintf: add runtime checks&panics on arrity mismatches 2020-09-17 00:24:33 +03:00
Lukas Neubert
2464deec82
cli: improvements to help and error messages (#6375) 2020-09-16 22:01:44 +02:00
Henrixounez
608df40058
checker: fix error declaration on a value (#6390) 2020-09-16 22:01:15 +02:00
Delyan Angelov
e2e683199d time: do not panic on time.new_time({unix: 1608854400}).str() 2020-09-16 22:14:02 +03:00
Daniel Däschle
c960b5979e
vlib: fix incompatible pointer warning (#6385) 2020-09-16 17:40:02 +03:00
Uwe Krüger
1bc9063573
parser: implement parsing of select block (#6379) 2020-09-16 15:34:57 +02:00
Daniel Däschle
3a795e6d9b
gen: fixes C warnings by appending U after unsigned integer literals (#6384) 2020-09-16 15:50:41 +03:00
Delyan Angelov
5da698b4bf tests: add support for skipping tests in vlib/v/compiler_errors_test.v too 2020-09-15 19:56:52 +03:00
Nick Treleaven
b552c29bef
os: add fn read_bytes_into with buffer argument (#6365) 2020-09-14 15:34:34 +02:00
Delyan Angelov
a9bd6acd52 builtin: fix new_dense_array (avoid the &string(int(...)) bug generating (int*) ) 2020-09-14 16:26:25 +03:00
Delyan Angelov
bbf4983524 autofree: add option_reassigned.v and option_simple.v tests. 2020-09-14 13:04:24 +03:00
Alexander Medvednikov
bffa100aa6 autofree: optional fix 2020-09-13 21:36:33 +02:00
Delyan Angelov
2bd4355a4c os: add check for path.len == 0 in vfopen 2020-09-13 18:08:58 +03:00
Delyan Angelov
8c71ba8912 os: add more error checking for os.read_bytes and os.read_file 2020-09-13 18:03:19 +03:00
Alexander Medvednikov
68948c7947 checker: vfmt checker.v 2020-09-13 16:21:40 +02:00
Tomas Hellström
a160038e1a
ci: re-enable autobahn tests (without autofree) (#6360) 2020-09-13 16:20:22 +02:00
Vasilis Katsifolis
43942057a4
checker: fix a type check that caused a C error #6238 (#6358) 2020-09-13 15:19:53 +02:00
Uwe Krüger
168daebccf
sync/channels: fix bug that caused 100% CPU on block (#6357) 2020-09-13 15:13:06 +02:00
Alexander Medvednikov
fc88f43e50 autofree: make optional methods work 2020-09-13 03:20:34 +02:00
Alexander Medvednikov
f337980e52 autofree: move tmp var generation to a separate method 2020-09-13 03:18:13 +02:00
Alexander Medvednikov
9149d8ecb5 autofree: a small simplification 2020-09-13 03:12:09 +02:00
Alexander Medvednikov
f074d766e5 ci: disable gitly autofree build for now 2020-09-13 03:06:16 +02:00
Alexander Medvednikov
db51ee08ea autofree: more fixes in optionals 2020-09-13 03:00:45 +02:00
Yağızcan Değirmenci
e77c4c182d
sqlite: fix indentation in readme (#6356) 2020-09-12 16:42:35 +02:00
Alexander Medvednikov
b74c1805d7 cgen/autofree: fix and simplify optionals 2020-09-12 16:40:52 +02:00
Delyan Angelov
37311883c1 tests: add optional_method_err.vv 2020-09-12 13:12:06 +03:00
Delyan Angelov
0801f88d0a tests: cleanup vlib/v/checker/tests/run ; add unused_variable_warning.vv 2020-09-12 12:33:17 +03:00
Delyan Angelov
60ecb7e4b6 os: change f.write and f.writeln to return options too 2020-09-12 08:39:28 +03:00
Oghogho Odemwingie
332f3a924c
builtin: consume matched string length in string.replace_each (#6349) 2020-09-12 02:31:06 +02:00
Uwe Krüger
b10d79c4d9
sync/channels: fixes for try_push/pop(), optimizations (#6352) 2020-09-12 02:29:11 +02:00
Sandro Martini
07b5d6b1b6
vweb: add mime type for json static content (#6347) 2020-09-11 23:14:44 +03:00
Delyan Angelov
96c22a26b9 tests: cleanup if_smartcast_test.v 2020-09-11 22:00:13 +03:00
Delyan Angelov
40ed2e1b3d builtin: use C.write for print/eprint . Call C.SetConsoleOutputCP(C.CP_UTF8) on windows 2020-09-11 16:20:35 +03:00
Delyan Angelov
d46c1f0f20 tests: fix sporadic waitgroup failure on slow windows VMs in anon_fn_test.v 2020-09-11 16:00:24 +03:00
Daniel Däschle
ce62f997f3
all: better type error positions (#6345) 2020-09-11 14:37:14 +02:00
Alexander Medvednikov
62a692b29c checker: make the "unnecessary default" error a warning for now 2020-09-11 13:59:28 +02:00
Alexander Medvednikov
53bed596e7 autofree: do not free _ vars 2020-09-11 13:58:12 +02:00
Alexander Medvednikov
e0d20eadff autofree: free strings on re-assignments 2020-09-11 13:55:20 +02:00
Alexander Medvednikov
17882db635 autofree: disable ?string test for now 2020-09-10 22:19:18 +02:00
Delyan Angelov
ce6d2759f5 os: add os.open_stdin/0 and os.File.get_line/0 2020-09-10 16:57:03 +03:00
Alexander Medvednikov
67cc515e74 autofree: ?string test 2020-09-10 13:41:30 +02:00
Alexander Medvednikov
03327e5161 time: minor fixes + vfmt 2020-09-10 13:26:01 +02:00
Ned Palacios
368c2a6bf0
vlib: add x/json2 (#6336) 2020-09-10 12:05:40 +02:00
Alexander Medvednikov
bc8aab4775 checker: fix := test 2020-09-09 17:59:51 +02:00
Alexander Medvednikov
3956ea4665 Revert "checker: fix := test"
This reverts commit 818220de45.
2020-09-09 17:55:48 +02:00
Alexander Medvednikov
818220de45 checker: fix := test 2020-09-09 17:50:14 +02:00
Alexander Medvednikov
5d484bf022 checker: better error message for incorrect mut x := 2020-09-09 17:27:16 +02:00
Daniel Däschle
3a146a6dbe
checker: fix error pos on default value (#6338) 2020-09-09 15:34:41 +02:00
Alexander Medvednikov
78e28a72ed doc: vfmt and make compile 2020-09-09 14:24:42 +02:00
Alexander Medvednikov
cb43084e26 regex: fix compilation 2020-09-09 14:18:06 +02:00
Alexander Medvednikov
ea31f75098 checker: more default field fixes 2020-09-09 14:14:44 +02:00
Alexander Medvednikov
925f1781b3 checker: default field fixes 2020-09-09 14:05:56 +02:00
Alexander Medvednikov
e018509ba6 checker: test for unnecessary default struct field values 2020-09-09 13:59:52 +02:00
Nick Treleaven
eb95a4333a
table: rename Arg to Param (#6337) 2020-09-09 13:21:11 +02:00
Swastik Baranwal
ea2b2ebc07
checker: modify error messages for ptrs (#6325) 2020-09-09 10:07:58 +02:00
bpryer
3f7970db52
term: add get_cursor_position and set_terminal_title (#6279)
* added functions

added:
  - get_cursor_position()
  - set_terminal_title(title string)

* implement term.get_cursor_position and term.set_terminal_title on unix

* Cleanup

* make x,y fields of term.Coord mutable

* fix vrepl compilation

* use more descriptive var names in term_test.v

* do not change the current terminal title in dumb terminals; do not test term.set_terminal_title outside of CI

* unix: in term.set_terminal_title, return true even for dumb terminals

Co-authored-by: Brent Pryer <brent@pryermachine.com>
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-08 22:00:10 +03:00
Nick Treleaven
49c322f120
checker: simplify argument qualifier errors (#6321) 2020-09-08 19:34:17 +02:00
Ruofan XU
90128ed4ee
cc: add support for tcc backend on windows-i386 (#6297) 2020-09-08 15:15:35 +02:00
Larpon
1c5b9db63f
io: introduce a go-like io.util module (#6323) 2020-09-08 14:17:01 +02:00
Enzo
18034bb95c
gen: fix multiple call of expression in match (#6324) 2020-09-08 00:38:24 +02:00
Uwe Krüger
5258f52497
fmt: add support for chan types and operations (#6328) 2020-09-08 00:36:05 +02:00
Maciej Obarski
9a5b86e454
arrays: common methods - min, max, idx_min, idx_max, shuffle, merge (#6177) 2020-09-07 13:50:53 +02:00
Nick Treleaven
497bf226e2
add TESTS.md file to explain different tests (#6318) 2020-09-07 13:48:15 +02:00
Uwe Krüger
2cb711ee15
checker/channels: check mut/& state of transmitted objects (#6315) 2020-09-06 21:24:41 +02:00
Enzo
601d098b48
szip: make compile (#6314) 2020-09-06 15:04:27 +02:00
Larpon
51d7d7cfae
os: fix os.mv edge case and Windows style paths (#6302) 2020-09-06 13:12:07 +02:00
Alexander Medvednikov
9fbea31f47 autofree: fix exprs N levels deep 2020-09-06 13:02:32 +02:00
Uwe Krüger
047bf02985
builtin: fix in for various numeric types (#6311) 2020-09-06 12:45:02 +02:00
Larpon
b4b898b769
os: enable is_file tests (#6312) 2020-09-06 12:39:02 +02:00
Uwe Krüger
4d2c8a40d6
sync/atomic2: support 32 bit platforms (#6308) 2020-09-05 14:44:16 +02:00
Alexander Medvednikov
3410705974 autofree: lots of fixes 2020-09-05 12:00:35 +02:00
Uwe Krüger
b015033c53
builtin: add methods to builtin channels (#6303) 2020-09-05 01:36:20 +02:00
Pavel Kolesnikov
246fe3bfb7
builder: cc_linux_cross() fixes (#6287) 2020-09-05 01:35:35 +02:00
Xavier B
8ef55bd8c9
checker: add checks for map key/value types (#6283) 2020-09-04 23:59:54 +02:00
Larpon
81778e507f
os: is_file() (#6301) 2020-09-04 22:27:52 +02:00
Larpon
efa49bfbb7
os: make behave more like Unix "mv" command (#6300) 2020-09-04 13:08:47 +02:00
Alexander Medvednikov
333f355e23 Revert "cgen: handle variables called "array""
This reverts commit cc714ca5cc.
2020-09-03 02:43:26 +02:00
Uwe Krüger
b8617ace53
checker: do not allow aliases of chan types (#6294) 2020-09-03 02:03:31 +02:00
Alexander Medvednikov
cc714ca5cc cgen: handle variables called "array" 2020-09-03 02:01:21 +02:00
Pavel Kolesnikov
a3ee217537
builder: use tar instead of unzip in cc_linux_cross() (#6286) 2020-09-02 10:09:06 +02:00
spaceface777
35cbca96e1
checker: implement [required] struct field attribute (#6276) 2020-08-31 23:15:40 +02:00
spaceface777
bd304f1141
checker: check number of fields in short struct inits (#6280) 2020-08-31 22:17:59 +02:00