Commit Graph

5826 Commits (653121bad9a087524bdea20f790892f716d49777)

Author SHA1 Message Date
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
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
spaceface777 60a9d49382
cgen: implement `[export: 'FooBar']` attribute (#6278) 2020-08-31 21:52:25 +02:00
Sandro Martini 39da5eca89
vweb: hide debug prints 2020-08-31 19:39:46 +02:00
Uwe Krüger cbcba2e4cf
parser: enable module auto import (of `sync`) (#6271) 2020-08-31 10:44:39 +02:00
florin b1a8e1e5b2
vweb: escape form key, not only value. (#6269) 2020-08-30 19:09:12 +02:00
Xavier B d33f68ff54
x.websocket: remove debuging leftover (#6264) 2020-08-30 19:35:47 +03:00
Nick Treleaven 5d3d14da53
cgen: support `typeof(expr).name` (#6253) 2020-08-30 08:56:18 +02:00
Uwe Krüger c351f8fa47
checker, builtin: prepage for builtin channels (#6262) 2020-08-30 08:55:31 +02:00
Delyan Angelov 718a4692dd os: enable test_write_and_read_bytes again 2020-08-29 07:43:31 +03:00
Uwe Krüger fe8286c53c
checker: implement implicit conversions/promotions to `rune` (#6249) 2020-08-29 01:59:07 +02:00
Maciej Obarski 7bd2804ce9
all: automatic error propagation in place of "or { return(err) }" 2020-08-29 01:58:03 +02:00
Uwe Krüger 4d425b0e6d
fmt: insert space in front of `?` for propagation (#6250) 2020-08-29 01:56:43 +02:00
Delyan Angelov 30fc374fc5 os.args: fix os.args[0] when compiling graphical apps on windows 2020-08-28 22:39:52 +03:00
Nick Treleaven 7dbae14e19
checker: error on `mut name =` (#6247) 2020-08-28 20:07:32 +03:00
Delyan Angelov 5d18ece661 ci: fix msvc finding (3) 2020-08-28 20:06:41 +03:00
Delyan Angelov 68864d0703 ci: fix msvc finding (2) 2020-08-28 19:58:17 +03:00
Delyan Angelov 317d15dbe9 ci: fix finding the msvc compiler on windows 2020-08-28 19:48:18 +03:00
Delyan Angelov 3d8a35ced6 ci: fix compiler error tests on windows 2020-08-28 19:27:41 +03:00
Delyan Angelov dde1b89c5e vup: remove empty new line on unix 2020-08-28 19:09:47 +03:00
Maciej Obarski 2ce5797ec2
os: vfopen returns option now (#6244) 2020-08-28 14:24:00 +02:00
Alexander Medvednikov 789674bd5a tests: autofree: use -experimental flag 2020-08-28 10:22:28 +02:00
Alexander Medvednikov 0890562663 tests: autofree tmp expr test 2020-08-28 10:08:32 +02:00
Swastik Baranwal 39bf02ea68
checker: add error for arr1 <,>,>=,<= arr2 (#6243) 2020-08-28 11:08:07 +03:00
Delyan Angelov 88f75fc1d6 builder: cleanup cc.v; log build_thirdparty_obj_files with `-v` 2020-08-28 09:38:52 +03:00
spaceface777 d663f57d43
parser: move flag logic to checker (#6239) 2020-08-28 09:24:04 +03:00
Delyan Angelov 5526954fdc vdoc: cleanup warnings on `./v doc -s vlib` 2020-08-28 09:03:22 +03:00
Delyan Angelov d80843bf53 vdoc: parse with `enable_globals: true` 2020-08-28 08:53:12 +03:00
Delyan Angelov 0975f3bd4c vfmt: support `x chan Name` in fn args 2020-08-28 01:54:16 +03:00
Delyan Angelov 8f5ca29fcd vfmt: support `x := chan Name{cap: 123}` 2020-08-27 23:37:39 +03:00
Alexander Medvednikov 27702b5a5d fast: update V with v up instead of git pull 2020-08-27 18:07:28 +02:00
Alexander Medvednikov a14c6c1ffe autofree: another tmp arg fix 2020-08-27 17:54:36 +02:00
Larpon d982aa54e8
os: add missing documentation (#6234) 2020-08-27 16:57:01 +02:00
spaceface777 eff319f869
comp_for: allow checking full mehod and arg types (#5997) 2020-08-27 15:00:44 +02:00
Delyan Angelov 7476428def vfmt: handle comments after last const field 2020-08-27 15:07:49 +03:00
Delyan Angelov 8f5cefb116 strconv: fix f64_to_str_lnd and f64_to_str_l after 6921d46 2020-08-27 14:22:04 +03:00
Alexander Medvednikov c01d17fcc4 tests: fix array_test.v 2020-08-27 13:12:04 +02:00
Alexander Medvednikov 15bdb8f7cd autofree: tmp arg var frees fixes 2020-08-27 11:30:35 +02:00
Delyan Angelov 3b03edd7cb repl: fix compilation after 6921d46 2020-08-27 12:20:31 +03:00
Delyan Angelov 8b3990225a v.checker: run vfmt over vlib/v/checker/checker.v 2020-08-27 12:09:08 +03:00
Delyan Angelov f73506be49 tests: fix some byte->rune errors 2020-08-27 12:08:05 +03:00
Stunx fa3e95222e
doc: ignore sokol.sapp (#6228) 2020-08-27 08:35:04 +02:00
Xavier B 3e9dc578de
checker: disallow interfaces inside sum types (#6232) 2020-08-27 08:33:59 +02:00
Alexander Medvednikov 8dcc73993e net: remove old websocket module 2020-08-27 07:33:59 +02:00
Alexander Medvednikov 6921d46185 all: rune type for `` literals 2020-08-27 06:46:37 +02:00
Delyan Angelov 99dd72efea tests: add another test for 47f59d3 2020-08-26 11:46:29 +03:00
Delyan Angelov 47f59d3fb6 v.scanner: fix error line numbers when comments end with CRLF 2020-08-26 11:39:32 +03:00
Alexander Medvednikov 84b8e0a7e4 tests: enable live tests on macos 2020-08-26 06:50:32 +02:00
Uwe Krüger 393b46a6dd
channels: make `ch.len` and `ch.cap` available as properties (#6221) 2020-08-26 06:41:51 +02:00
Delyan Angelov 7879510ef5 live: fix hot code reloading on macos (use .dylib, not .so) 2020-08-25 21:40:45 +03:00
Alexander Medvednikov a55bea44da table: register rune type 2020-08-25 18:15:24 +02:00
Delyan Angelov cc82ed28f8 tests: enable running fmt_vlib_test.v on != freebsd platforms again 2020-08-25 19:09:47 +03:00
Delyan Angelov e3f79df3ac tests: support .vv in compiler_test.v too 2020-08-25 18:52:28 +03:00
Delyan Angelov 55fdae77d5 tests: add .vv support for `v vet` too, and simplify vet_test.v 2020-08-25 18:46:33 +03:00
Delyan Angelov 86dfd3902f tests: use .vv files directly in compiler_errors_test.v 2020-08-25 18:14:06 +03:00
Delyan Angelov f259d275fc tests: bump simple_tcp_client retries to 20 2020-08-25 17:52:44 +03:00
Delyan Angelov 7b7ab580ab tests: add retry logic in simple_tcp_client in vweb_test.v 2020-08-25 17:05:40 +03:00
Delyan Angelov 1619beda91 tests: fix repl_test.v 2020-08-25 15:59:07 +03:00
Delyan Angelov ceca1547fb valgrind: fix valgrind_test.v 2020-08-25 15:48:11 +03:00
Alexander Medvednikov c8b3cd2957 tests: simplify valgrind tests, remove .vv 2020-08-25 13:58:21 +02:00
Alexander Medvednikov 33b4ff75d0 builder: handle bad extensions and support .vv 2020-08-25 13:32:27 +02:00
Nick Treleaven 818db91a9e
parser: warn if PostfixExpr followed by `]` or `)` token (#6214) 2020-08-25 08:50:06 +02:00
Nick Treleaven 479bfa28de
cgen: implement fixed array `.len` property (#6212) 2020-08-25 08:48:28 +02:00
Nick Treleaven 8e4ee54070
glm: fix pointer indexing warnings (#6215) 2020-08-25 08:48:05 +02:00
Delyan Angelov 995a5fed1f v.builder: add -DNDEBUG for non debug -prod builds (affects sokol performance) 2020-08-24 23:10:22 +03:00
Delyan Angelov 3efa670d6a sokol: add new mouse_dx and mouse_dy fields (fix for Android multitouch) 2020-08-24 23:01:14 +03:00
Xavier B 32a894719e
x.openssl: remove printlns (#6205) 2020-08-24 17:20:03 +02:00
Nick Treleaven acc5c95f0d
checker: error with `*expr` if not a pointer (#6211) 2020-08-24 17:19:17 +02:00
Alexander Medvednikov d547f74cb0 checker/cgen: interface smart casts 2020-08-24 11:10:26 +02:00
Maciej Obarski e8e0d9fa42
all: [direct_array_access] tag (#6203) 2020-08-24 09:04:50 +02:00
Alexander Medvednikov 702a80fc5a x.net: fix new_tcp_socket() 2020-08-24 03:24:00 +02:00
Delyan Angelov fa8f5df817 sokol: fix compilation of 2048 on some linux distros (undefined XIQueryVersion and XcursorImageCreate) 2020-08-23 22:17:05 +03:00
Delyan Angelov 2e589a5b0b sokol.audio: add proper #flag for windows (-lole32) 2020-08-23 21:15:59 +03:00
Delyan Angelov e71aff71ce sokol.audio: fix compilation on macos (link with -framework AudioToolbox) 2020-08-23 20:55:01 +03:00
Delyan Angelov dad2c6608e examples: implement examples/sokol/sounds/wav_player.v 2020-08-23 20:49:37 +03:00
Delyan Angelov 1c9e02094c sokol.audio: add simple_sin_tones.v example 2020-08-23 15:28:07 +03:00
Alexander Medvednikov 542b149290 sokol: fix examples and remove copy pasta 2020-08-23 07:47:50 +02:00
Alexander Medvednikov 94c3a912ba gg: update sokol and stb_truetype 2020-08-23 07:25:30 +02:00
Alexander Medvednikov 5407d9b062 gg: fix draw_line on hi dpi screens 2020-08-23 04:57:12 +02:00
Swastik Baranwal b2e79dbebd
parser: add an error for `import mod.sub as mod` and `import mod as mod` (#6194) 2020-08-23 02:12:25 +02:00
Uwe Krüger 61df70fdf5
all: enable `x = <-ch or {...}` (#6195) 2020-08-23 02:12:05 +02:00
Alexander Medvednikov 7dfae2384b builtin: remove asl.h include 2020-08-22 17:22:14 +02:00
Alexander Medvednikov 9e12095111 gg: image: return an optional instead of panic(); darwin: fix nsstring() 2020-08-22 17:09:30 +02:00
Delyan Angelov 0bdb096bfa x.net: use port 45123 in tcp_test.v, preventing sporadic `socket error 98` conflicts with websocket_test.v 2020-08-22 15:29:29 +03:00
Delyan Angelov 94ced907d2 sort: fix C compilation error for `fn abc(mut a []int) { a.sort() }` 2020-08-22 15:20:49 +03:00
Yarila682 7dde82322a
cgen: fix dereferencing a mutable array (#6191) 2020-08-22 12:48:09 +02:00
Daniel Däschle fcc61a981d
all: TypeSymbol.source_name (#6187) 2020-08-22 12:29:15 +02:00
Delyan Angelov b5ca114a96 ui: fix compiling the calculator ui example with tcc 2020-08-22 12:58:48 +03:00
Nick Treleaven 98c39a37c0
scanner: warn about interpolation for `$f(expr)` (#6179) 2020-08-22 05:48:06 +02:00
Alexander Medvednikov 793d2ce6dc stbi: more clear panic message 2020-08-22 00:51:16 +02:00
Tomas Hellström fb148e0b61
x.websockets: new websockets module on top of x.net (#6189) 2020-08-22 00:50:38 +02:00
Nick Treleaven 1b914d217e
fmt: don't remove `mut` from `if mut` smart cast (#6188) 2020-08-22 00:00:02 +02:00
Delyan Angelov 06967d9297 sort: require a mutable receiver 2020-08-21 21:19:37 +03:00
Lukas Neubert 93e6c3df6a
cli: various improvements (#6180) 2020-08-20 23:14:53 +02:00
Emily Hudson b88569c845
x.net: new net module (#6130) 2020-08-20 23:01:37 +02:00
Delyan Angelov 9b171b76e0 os: call os.real_path/1 before returning in os.find_abs_path_of_executable/1 2020-08-20 19:23:19 +03:00
Daniel Däschle 0c183da116
checker: fix sort return type (#6182) 2020-08-20 17:29:40 +03:00
Delyan Angelov e8ff94fb8b net.html: simplify map setting (fixes compilation with tcc on aarch64) 2020-08-20 16:45:54 +03:00
Delyan Angelov dfc4298125 tests: return early in x64_test.v on non AMD64 machines 2020-08-20 15:42:26 +03:00
Delyan Angelov 8c7bcad6b1 cgen: support for `$if amd64 {}` and `$if aarch64 {}` 2020-08-20 15:28:37 +03:00
Lukas Neubert 6eea13ecc2
clipboard: wrap pointer indexing in unsafe block (#6178) 2020-08-20 10:33:12 +02:00
Alexander Medvednikov 9da7349f63 gg: minor fixes 2020-08-20 08:32:05 +02:00
Lukas Neubert 88bca9d17a
clipboard: wrap vstring call in unsafe (#6170) 2020-08-19 16:06:23 +02:00
Nick Treleaven 217f04e311
checker: disallow casting to bool, use `some_int != 0` instead (#6138) 2020-08-19 14:37:55 +02:00
Alexander Medvednikov 55b025413d fmt: temporary struct attr fix 2020-08-19 14:33:45 +02:00
Larpon d9aae023b1
android: initial support for C output using sokol_main (#6164) 2020-08-19 11:00:15 +02:00
spaceface777 c1651bd271
gg: fixes and Android support (#6161) 2020-08-19 07:10:42 +02:00
jhuntos c42ca84850
pg: fix array init warnings (#6163) 2020-08-19 07:10:09 +02:00
Nick Treleaven e69f091bbd
parser: require `(` on same line as name token for fn call or cast (#6160) 2020-08-19 02:37:17 +02:00
Alexander Medvednikov 51bd69cdd8 cgen: fix u64 in struct str() 2020-08-18 16:05:11 +02:00
Delyan Angelov 7727aad90f net.http: fix windows compilation warning 2020-08-18 12:14:21 +03:00
Delyan Angelov 2f6757a56a Revert "cgen: fix all -Wmissing-variable-declarations (#5802)"
This reverts commit ae349ca6ba.

Fixing these warnings, unfortunately also means, that hot code
(which reloads a shared library during runtime) can not use V
constants, because the private static C variables in the shared
library will not be initialized by _vinit(), which is only called
by the main V program.

For example in examples/hot_reload/bounce.v, using `gx.blue`,
defined as:
`    blue   = Color { r:   0, g:   0, b: 255 }`
... will instead use a const with all 0 fields (i.e. a black color).
2020-08-18 11:55:55 +03:00
Delyan Angelov 937a3e14c5 cgen: add g.options_typedefs, g.shared_types, g.channel_definitions 2020-08-18 11:45:36 +03:00
Alexander Medvednikov 40d91cc23b gg: handle bad image index 2020-08-18 01:08:58 +02:00
joe-conigliaro c599a4c7de
checker: remove pos+1 on innermost call 2020-08-18 07:39:40 +10:00
Uwe Krüger 0d7cc8829a
cgen: implement channel `push()`/`pop()` using `<-` operator (#6154) 2020-08-17 23:35:36 +02:00
JalonSolov 5c98c0760b
gg: use OpenGL on Windows until D3D issues resolved (#6155) 2020-08-17 23:34:51 +02:00
Daniel Däschle b5c1ea44dc
all: fix mutability after if-smartcast (#6129) 2020-08-17 21:11:11 +02:00
Nick Treleaven 36c98b3e5d
cgen: implement fixed array 'for in' for lvalue condition (#6151) 2020-08-17 21:10:47 +02:00
Swastik Baranwal 46b4e2a0cd
checker: check`match` types (#6149) 2020-08-17 20:19:21 +02:00
Sandro Martini dab639662f
http: fix new warnings (#6153) 2020-08-17 20:17:17 +02:00
Irabaruta Freeman fa11e124dd
term: add documentation (#6097) 2020-08-17 20:16:18 +02:00
Uwe Krüger 9a5f040f72
all: handle `<-` arrow token for channel operations (#6152) 2020-08-17 20:12:00 +02:00
joe-conigliaro c01fd4ac58
parser: remove extra scopes from if & match & fix scope end_pos 2020-08-18 01:51:25 +10:00
Nick Treleaven 6ba6a22a77
checker: prevent from casting non-struct to struct (#6143) 2020-08-17 11:19:44 +02:00
Uwe Krüger 0c7d73c8b0
sync/channels: use references for `chan mut X` testcase (#6145) 2020-08-16 23:01:49 +02:00
Alexander Medvednikov b2059c481a checker: fix an incorrect name test 2020-08-16 19:24:00 +02:00
Alexander Medvednikov f965ddae49 parser: handle several errors in types; cgen: objC includes 2020-08-16 19:16:59 +02:00
Delyan Angelov 191c908f3a tests/valgrind: vfmt fn_with_return_should_free_local_vars.vv 2020-08-16 13:22:32 +03:00
Delyan Angelov fbe02c5ae1 tests/valgrind: add skipped fn_with_return_should_free_local_vars.vv (-autofree) 2020-08-16 13:20:02 +03:00
Delyan Angelov fc7a108366 v.builder: fix quoting when building thirdparty source files 2020-08-16 10:18:14 +03:00
Yarila682 29528196f2
os: close opened file descriptors in `cp()` (#6142) 2020-08-16 04:55:10 +02:00
Nick Treleaven bab5c21224
parser: warn when fixed-size ArrayInit doesn't have trailing `{}`. (#6137) 2020-08-16 04:54:05 +02:00
Enzo a02593204f
checker: forbid aliasing an alias (#6118) 2020-08-16 04:53:16 +02:00
Vinicius Rangel bf065674cc
json: maps, memory leak, and error forwarding (#6116) 2020-08-16 02:30:37 +02:00
Delyan Angelov e7b2aefd36 v.pref: handle `|` as separators in -path option parsing again (as documented in the help) 2020-08-15 22:09:40 +03:00
Uwe Krüger c2b4c645a1
sync/channels: document more benchmark results (#6135) 2020-08-15 11:20:51 +02:00
Nick Treleaven 0f0a91fc9e
parser: support custom fixed size ArrayInit: `[3]int{init: -1}` (#6114) 2020-08-15 11:01:54 +02:00
spaceface777 5f3ced7213
builder: only include `os` when building `.vsh` files (#6134) 2020-08-14 21:57:32 +02:00
Uwe Krüger 9602a25a0b
all: add builtin channel type `chan elem_type` (#6126) 2020-08-14 21:18:42 +02:00
Nick Treleaven 75212f9fab
cgen: error if ForInStmt is not handled (#6131) 2020-08-14 21:01:43 +02:00
Daniel Däschle b2fee21ef3
checker: check struct casting (#5864) 2020-08-14 14:57:08 +02:00
Nick Treleaven 6016f28171
cgen: fix assigning ArrayInit to fixed array: `a = [3]int` (#6115) 2020-08-14 13:57:00 +02:00
Nick Treleaven 078ab47a9a
cgen: support `==`, `!=` on FixedArray (#6119) 2020-08-14 02:03:38 +02:00
Delyan Angelov 2ad2b4c5ba vweb: add more tests. Fix missing Content-Length: header bug on 404. 2020-08-14 02:49:15 +03:00
Delyan Angelov 712f4bd7f8 vweb: add tests 2020-08-14 00:52:02 +03:00
Alexander Medvednikov fc1f41fc84 checker: fix a string error test 2020-08-13 23:33:18 +02:00
Alexander Medvednikov 88cde776e7 checker: more clear string error 2020-08-13 23:21:15 +02:00
Delyan Angelov 8580a0bcd7 cgen: run vfmt to silence `./v fmt -verify` 2020-08-13 21:22:52 +03:00
Delyan Angelov a62307f711 vweb: fix body appending (missing closing json bracket) 2020-08-13 21:07:31 +03:00
Daniel Däschle 64e8125807
cgen: fixe calling anon fn asynchronously (closes #6088) (#6121) 2020-08-13 20:06:56 +02:00
Daniel Däschle 34b28cb68a
fmt: fix anon fn call (#6120) 2020-08-13 20:05:59 +02:00
Delyan Angelov 1135dffe2d cgen: prevent generation of duplicate interface method wrappers 2020-08-13 20:56:58 +03:00
spaceface777 2353814821
vweb: fix body size calculation (#6122) 2020-08-13 20:55:33 +03:00
Delyan Angelov da7adb5b1b ci: fix failing tests for compiler_errors_test.v 2020-08-13 13:16:41 +03:00
Delyan Angelov fd5a76a8ad ci: fail compiler_errors_test.v, when at least one of all the parser/checker tests failed 2020-08-13 12:57:16 +03:00
Delyan Angelov 1a96bcf405 ci: fix `v vet` filtering 2020-08-12 20:34:13 +03:00
Alexander Medvednikov f8be2110ec sort: fix sorting by struct fields 2020-08-12 18:43:41 +02:00
Alexander Medvednikov e5e31f7210 sort: handle `.sort(a.field > b.field)` 2020-08-12 06:11:40 +02:00
Alexander Medvednikov 4bc0dde413 all: new `.sort(a < b)` syntax 2020-08-12 05:54:51 +02:00
Alexander Medvednikov 9800cf1e7b checker: improve array errors; gg: remove unused imports 2020-08-12 03:54:17 +02:00
Uwe Krüger bb93bf34ec
sync/semaphores: use dispatch semaphores on MacOS (#6110) 2020-08-12 03:45:09 +02:00
Delyan Angelov ca7a64a451 cgen: add support for -g again 2020-08-12 02:05:45 +03:00
Uwe Krüger 433610b5c0
sync/channels: provide `.cap` and `.len()` (#6104) 2020-08-11 17:52:13 +02:00
Swastik Baranwal 9fdb1701e0
checker: add a check for str[i] = `a` (#6107) 2020-08-11 17:41:54 +02:00
Alexander Medvednikov 99798b83b4 parser: fix match/else check 2020-08-11 17:30:37 +02:00
Alexander Medvednikov c5aa2bfa51 tests: fix a match test 2020-08-11 16:26:52 +02:00
Alexander Medvednikov 1a9dba0005 checker: make << shifts work with custom number types 2020-08-11 01:05:34 +02:00
Alexander Medvednikov 2dd82748e0 checker: simplify << error message 2020-08-11 01:01:33 +02:00
Alexander Medvednikov 6d72209363 checker: minor c2v fixes 2020-08-11 00:51:15 +02:00
Alexander Medvednikov 11113e43e7 checker: a minor perf fix 2020-08-10 23:59:42 +02:00
Nick Treleaven d8d82a0be4
checker: make `has_return` fn more efficient (#6103) 2020-08-10 23:59:08 +02:00
Alexander Medvednikov 88988817d0 parser: minor `match` simplification 2020-08-10 19:54:38 +02:00
Uwe Krüger c3cdfa1c96
sync/channels: provide `try_push(), try_pop() as public methods (#6101) 2020-08-10 18:06:42 +02:00
Delyan Angelov 36eae1c175
builtin: x.vstring() instead of string(x) (#6102) 2020-08-10 18:05:26 +02:00
Delyan Angelov eba413853f compiler_errors_test.v: use work.close() instead of sentinel tasks 2020-08-10 15:26:54 +03:00
Nick Treleaven 5e2824e2f2
vfmt: align field attributes (when no inline comment after type) (#6089) 2020-08-10 13:13:42 +03:00
Delyan Angelov bd32f0969f parser: enable CamelCase named method names for JS. objects 2020-08-10 10:39:14 +03:00
Uwe Krüger 20a65cf9c8
sync/channels: implement `close()` method (#6098) 2020-08-10 06:22:20 +02:00
Nick Treleaven fce106cf83
parser: use Attr.arg field for `[name: arg]` (#6084) 2020-08-10 02:00:14 +02:00
Sandro Martini c7fae4dd6f
vweb: add set_status() (#6087) 2020-08-09 18:05:06 +02:00
Nick Treleaven 2dd90de993
parser: error on `[unsafe_fn]` (#6090) 2020-08-09 12:22:11 +03:00
Alexander Medvednikov 200f8dacb7 []byte.str2() => bytestr() 2020-08-09 04:22:42 +02:00
Alexander Medvednikov 94f4dfe85b builtin: a temporary []byte.str2() (until runes are implemented) 2020-08-09 04:20:43 +02:00
João Victor Oliveira Couto f6a85d5305
net.html: create html parser module (#6076) 2020-08-09 04:13:34 +02:00
Louis Schmieder 97fec78b40
io: input/output streams (#6078) 2020-08-09 04:12:29 +02:00
Alexander Medvednikov 64f218e943 string: fix all cap .title() test 2020-08-09 04:09:48 +02:00
Alexander Medvednikov c65dbe51d6 parser: c2v fixes 2020-08-09 03:58:14 +02:00
Nick Treleaven 6cc8815931
parser: support [unsafe] instead of [unsafe_fn] (#6066) 2020-08-08 16:24:05 +02:00
Maciej Obarski 2a4ef2acbd
regex: new options returning interface to the regex module (#6062) 2020-08-08 09:04:12 +03:00
Delyan Angelov 55b8cc1bb2 tests: parallelize compiler_errors_test.v using channels & threads 2020-08-07 16:44:49 +03:00
Delyan Angelov 34d03801de tests: run ws_test.v only with -d network 2020-08-07 10:14:40 +03:00
Alexander Medvednikov ce4ee2b247 v0.1.29 2020-08-06 19:36:52 +02:00
Delyan Angelov 4568ce8f00 builtin: add sanity check on the number of returned frames by C.backtrace 2020-08-06 19:50:29 +03:00
Uwe Krüger d63daa0798
sync: use `mfence` on windows-tcc (#6079) 2020-08-06 17:31:05 +02:00
Alexander Medvednikov ea76a33b43 remove freetype references everywhere 2020-08-06 17:23:57 +02:00
Uwe Krüger 863cf8af60
sync: channel implementation (#6074) 2020-08-06 15:28:19 +02:00
Larpon 09f1362305
os: let temp_dir adhere to posix/fhs version 3.0 on linux and mac (#6069) 2020-08-05 19:02:57 +02:00
Delyan Angelov d1257f5590 tests/valgrind: add skipped fn_returning_string_param.vv (-autofree) 2020-08-05 19:35:18 +03:00
Delyan Angelov 6c27ce58ed v.util.vtest: extract the common code for VTEST_ONLY in a single place 2020-08-05 19:34:27 +03:00
Alexander Medvednikov ecaccafd31 gg: image cache 2020-08-05 16:00:24 +02:00
Alexander Medvednikov 67aafd03c6 gg: fix image rendering 2020-08-05 14:34:28 +02:00
spaceface777 bf20d6d3db
builder: don't panic if msvc rootdir isn't found (#6068) 2020-08-05 13:22:10 +03:00
Delyan Angelov f331f63f53 ci: fix windows build 2020-08-05 09:09:18 +03:00
Delyan Angelov 5874d7c5ab os: add os.getpid(), use it in os.is_writable_folder on windows 2020-08-05 09:04:40 +03:00
Delyan Angelov 7b1944c2da gg: simplify the image_cache 2020-08-05 08:46:20 +03:00
Delyan Angelov 221a777a80 gg: cache sokol C.sg_image handles 2020-08-05 08:09:25 +03:00
Delyan Angelov ab7936f514 os.exec: on unix return error, when the command was not found, instead of os.Result 2020-08-05 07:11:51 +03:00
Maciej Michalec 449c98e861
scanner: floats without fraction (fix #5262) (#6064) 2020-08-05 05:11:29 +02:00
Alexander Medvednikov f3ebd3a6e7 gg: fix image rendering 2020-08-05 03:15:40 +02:00
Enzo f238890fe9
compiler: move attributes to declarations (#6026) 2020-08-04 20:10:22 +02:00
Nick Treleaven 3ce6dd6cbc
hash: use match expression with ranges (#6046) 2020-08-04 20:09:58 +02:00
Delyan Angelov 3dfe242dbb vfmt: add a regression test for `type SocketMessageFn = fn (mut c Client, msg &Message) ? 2020-08-04 16:13:04 +03:00
Delyan Angelov cd9bb51af2 vfmt: fix 6040 (part 2) 2020-08-04 16:08:47 +03:00
Delyan Angelov f9d241ae27 gg,stbi: implement gg.create_image_from_memory/2 2020-08-04 13:18:08 +03:00
Delyan Angelov 216b6bf285 gg: remove tracing println in draw_image 2020-08-04 12:57:54 +03:00
Delyan Angelov 9ce75e10d5 gg: free gg.create_image from having to be called by sokols init_fn callback 2020-08-04 12:37:28 +03:00
Swastik Baranwal f3817c47f9
token: remove switch keyword (#6056) 2020-08-04 11:04:07 +02:00
Delyan Angelov f7a0d0a02f ci: fix -autofree compilation of vlib/v/tests/valgrind/strings_and_arrays.vv 2020-08-04 11:30:02 +03:00
Alexander Medvednikov 60c642f42d gg: clean up draw_image() 2020-08-04 01:26:56 +02:00
Alexander Medvednikov 7a7572e478 autofree: free temp string exprs 2020-08-04 01:26:34 +02:00
Nick Treleaven c33dbbc216
fmt: don't add newlines for UnsafeExpr (#6048) 2020-08-04 00:29:10 +02:00
Delyan Angelov e291c38119 ast: add use case comment for MatchExpr.var_name 2020-08-03 22:10:59 +03:00
Swastik Baranwal c547e8b191
v/fmt: fix formatting of `type Foo = fn (a int)?` (#6047) 2020-08-03 19:28:48 +03:00
dils2k 8dede3b535
builder: add a verror, when the output folder is not existing and writable (#5966) 2020-08-03 18:19:36 +03:00
Nick Treleaven 3e4df7f140
v/fmt: fix dropping `as ident` from `if sum is T` statement (#6049) 2020-08-03 18:16:06 +03:00
Carlos Esquerdo Bernat 66b3fabeef
log: avoid the deprecated .is_opened() method (#6039) 2020-08-03 02:35:08 +03:00
Delyan Angelov 0ac30a8d9c gg: enable image transparency in gg.draw_image2 too 2020-08-03 00:30:08 +03:00
Delyan Angelov a7ca1682c4 gg: fix gg.draw_image2 (image drawn, but without transparency for now) 2020-08-02 23:47:37 +03:00
Delyan Angelov 0b6b0aca09 parser: fix infinite loop on unexpected $ between statements 2020-08-02 18:17:38 +03:00
Alexander Medvednikov 79b70006e6 examples: simplify gg/rectangles.v 2020-08-02 17:01:10 +02:00
Delyan Angelov c6ae322f85 parser: add hard limit to the number of statements in a fn 2020-08-02 17:58:05 +03:00
Nick Treleaven 8dcc3cda97
os.cp: fix returning false error on Windows (#6037) 2020-08-02 14:08:45 +03:00
Nick Treleaven 7f447bb82f
ast: use Block instead of UnsafeStmt (#5981) 2020-08-02 14:06:44 +03:00
Alexander Medvednikov cc57b52773 gg: fix typo 2020-08-01 23:52:15 +02:00
Alexander Medvednikov 149de958f3 gg: fix compilation 2020-08-01 23:45:36 +02:00
Alexander Medvednikov a1593e7db8 checker: 1 line v fmt fix 2020-08-01 23:41:32 +02:00
Alexander Medvednikov fb4550e582 gg: new create_image() (part 1) 2020-08-01 23:40:28 +02:00
Swastik Baranwal d56d622a43
checker: add checks for byte casting (#5917) 2020-08-01 23:17:00 +02:00
Carlos Esquerdo Bernat d71c11577a
os: move file logic to file.v (#6013) 2020-08-01 23:07:37 +02:00
Duarte Roso 055117dc5f
builtin: make byte.hex() two digits format (#5886) 2020-08-01 23:06:08 +02:00
spaceface777 4f37202b72
checker: allow struct fields starting with capitals in builtin (#5998) 2020-08-01 23:01:40 +02:00
spaceface777 1feca22e28
jsgen: don't generate `JS.` struct decls (#6035) 2020-08-01 22:27:25 +02:00
Alexander Medvednikov adafd24819 gen: auto_str_methods.v 2020-08-01 16:36:12 +02:00
Delyan Angelov 0fb8074353 cgen: add support for `$if gcc {}` too 2020-07-31 21:25:37 +03:00
joe-conigliaro 1ea511b530
builder/cgen: get -usecache working for self cimpilation 2020-07-31 20:10:19 +10:00
Nick Treleaven eb47ce1e83
ast: fix ParExpr.str(), RangeExpr.str(), SizeOf.str() (#6023) 2020-07-31 02:31:01 +02:00
Louis Schmieder 1fd499ed4a
vweb: fix request checking (#6027) 2020-07-31 01:26:56 +02:00
Delyan Angelov 91c9c0c917 checker: fix unknown_method_suggest_name.out test result too 2020-07-30 19:37:36 +03:00
Delyan Angelov 65891f54ed v.util.suggestions: fix hash.crc32.Crc32 case 2020-07-30 19:35:16 +03:00
Delyan Angelov f300f787f3 checker: add suggestions for method mispellings and unknown types 2020-07-30 18:48:16 +03:00
Delyan Angelov 2c45e601ef builder: increase backtrace size with tcc to 25 frames 2020-07-30 16:56:58 +03:00
Delyan Angelov 3883c34b8c vfmt: fix eating of `n` in `string(x,n)` 2020-07-30 12:15:04 +03:00
Lukas Neubert f2c639c869
builtin: add string.contains_any() (#5963) 2020-07-29 21:48:50 +02:00
Alexander Medvednikov f269cbdc94 Revert "parser: Support `unsafe(expr)` (#5973)"
This reverts commit 19c226fcf8.
2020-07-29 21:41:47 +02:00
Delyan Angelov 9c9533dad9
checker: add error for `fn f() Struct { return &Struct{} }` (#6019) 2020-07-29 21:40:43 +02:00
Delyan Angelov 81f8e910e6 compiler: remove space at the end of warn/error messages to minimize diff churn 2020-07-29 20:37:55 +03:00
Swastik Baranwal 4500e7131e
checker: add a checker error for fn calls on left side of an assignment (#5993) 2020-07-29 18:33:00 +03:00
Carlos Esquerdo Bernat 7b630f0350
ws: send unsolicited pong control frame on connect in ws_test.v (#6010) 2020-07-29 18:11:24 +03:00
Carlos Esquerdo Bernat 2f2463a04c
ws: make Client.state `pub mut` (#6009) 2020-07-29 17:52:33 +03:00
Alexander Medvednikov 280afb2282 builder: rename `a` to `args` 2020-07-28 22:33:33 +02:00
Leah Lundqvist 51c9b49d3f
iOS: basic building and running (#5999) 2020-07-28 22:27:38 +02:00
Ruofan XU 1d59d35129
cgen: fix sum type match (#5978) 2020-07-28 22:17:25 +02:00
Delyan Angelov e06448b616 eventbus: update test and docs too 2020-07-28 19:08:16 +03:00
Carlos Esquerdo Bernat 0539b2a7ea
eventbus: removed check on publish, always use receiver, args, sender order for callbacks (#5940) 2020-07-28 18:48:25 +03:00
Delyan Angelov 9c028bb299 checker: fix passing enum to a method expecting string 2020-07-28 13:50:40 +03:00
Delyan Angelov 228486555c http: add pub to Method.str() 2020-07-28 12:34:29 +03:00
Delyan Angelov 5bf3b6eda3 gg: fix running tetris and ui examples on linux 2020-07-28 12:12:44 +03:00
Carlos Esquerdo Bernat 49a7a835c7
ws: update README.md (#5983) 2020-07-28 11:22:03 +03:00
Nick Treleaven 19c226fcf8
parser: Support `unsafe(expr)` (#5973) 2020-07-28 11:20:52 +03:00
Enzo d7ed3cd8b7
fmt: fix SQL formatting in ORM expressions - remove trailing spaces (#5996) 2020-07-28 11:09:42 +03:00
Carlos Esquerdo Bernat 28657fe7cb
http: handle all of the http.Method values in .str() (#6002) 2020-07-28 10:39:10 +03:00
Swastik Baranwal 8b66816bdc
scanner: more checks for `_` as num_sep (#5992) 2020-07-28 16:09:19 +10:00
joe-conigliaro 5d49034c31
http: backend_windows - use Method enum in ssl_do() 2020-07-28 14:35:21 +10:00
joe-conigliaro 395e886b2e
http/vweb: use Method enum & add helpers 2020-07-28 14:13:19 +10:00
Alexander Medvednikov fec9920b1a http: replace method string with an enum 2020-07-27 21:20:23 +02:00
Alexander Medvednikov 65159b8070 gg: bold/mono/italic fonts 2020-07-27 21:20:23 +02:00
joe-conigliaro 61c1c4a690
checker: add error for invalid sum type cast `MySt{1}` 2020-07-28 01:04:04 +10:00
Enzo 2de1437a1e
ci: vet all files from the compiler (#5994) 2020-07-27 12:15:29 +02:00
joe-conigliaro 1086150ab9
builder: add comment to parse_imports `re: dup file parsing` 2020-07-27 12:06:48 +10:00
Alexander Medvednikov 3d19167628 http: fix cookies (part 2) 2020-07-26 22:01:25 +02:00
Alexander Medvednikov cf4235ab65 http: fix cookies 2020-07-26 15:54:21 +02:00
Delyan Angelov 88345d759a tests: add support for skipping to valgrind_test.v 2020-07-26 16:09:58 +03:00
Ruofan XU 7027b2354b
cgen: fix array and map with fns (#5938) 2020-07-26 14:22:02 +02:00
Delyan Angelov dfa01d8877 rand: add rand.ulid_at_millisecond/1, use it in rand.ulid/0 2020-07-26 14:17:29 +03:00
penguindark 7d52d612ce
rand: add rand.ulid() (#5979)
* removed debug println

* added newline to the end of the file

* time: add .unix_time_milli() method; rand,time: add tests

* rand: add more ulid tests; move tests to a separate file random_identifiers_test.v

* run vfmt over vlib/rand/random_identifiers_test.v

* speed up time.unix_time_milli

* simplify and speedup time.unix_time/0 and time.new_time/1

* update comment about rand.ulid()

* fix terminating 0 off by 1 issue in rand.ulid()

* optimize time.new_time()

* restore the master version of vlib/time/parse.v

* make test_unix_time more robust

Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-07-26 13:10:56 +03:00
Delyan Angelov 9e652c4f40 ci: fix remaining failing tests. Do mut ptr check only outside unsafe{} blocks. 2020-07-26 10:59:07 +03:00
Delyan Angelov 9d056168ae ci: fix failing tests 2020-07-26 10:48:24 +03:00
Delyan Angelov a7f484d9a7 tests: make output of vlib/v/compiler_errors_test.v more readable 2020-07-26 10:47:55 +03:00
Carlos Esquerdo Bernat 1f8ae5d12c
websocket: add tests (#5967) 2020-07-25 22:25:31 +02:00
Alexander Medvednikov 6796b93abd tests: fix compiler_errors_test.v 2020-07-25 22:20:10 +02:00
Delyan Angelov 6fcc6cdc75 rand: add comments for rand.uuid_v4, apply some more perf tweaks 2020-07-25 21:39:54 +03:00
Delyan Angelov ee3ebed23c rand: further speed up of rand.uuid_v4 2020-07-25 20:21:44 +03:00
Delyan Angelov 3d2fd471b6 ci: prepare for enabling compilation with g++ again 2020-07-25 20:20:49 +03:00
Alexander Medvednikov 7c86156be5 checker: fix unsafe tests 2020-07-25 18:58:23 +02:00
Alexander Medvednikov 34907f7605 checker: do not allow assigning immutable refs to mutable vars 2020-07-25 18:32:36 +02:00
Delyan Angelov a552674254 vvet: fix segfault on `v vet .` 2020-07-25 15:57:57 +03:00
Delyan Angelov d5b837e808 rand: speed up rand.uuid_v4() ~7x, with -prod 2020-07-25 13:09:05 +03:00
Delyan Angelov c1e14b451e builder: show timing info in bold; also add a `checker summary:` line with -stats 2020-07-25 10:32:29 +03:00
Alexander Medvednikov 3c1427a4e8 all: fix current module in build-module mode 2020-07-25 01:37:54 +02:00
Louis Schmieder b58b15993c
gen: compile time for (methods and fields) (#5957) 2020-07-25 00:02:44 +02:00
Lukas Neubert 2ccb28a93e
checker: run vfmt over checker.v (#5965) 2020-07-24 20:12:01 +03:00
Delyan Angelov 289974dd15 rand: use time microseconds too in default rand initialization; generate proper uuid_v4 2020-07-24 14:33:58 +03:00
Delyan Angelov c429fa7e27 rand: add test for rand.uuid_v4() 2020-07-24 14:01:48 +03:00
Delyan Angelov bba0edf9a3 rand: add rand.uuid_v4() 2020-07-24 13:59:24 +03:00
Delyan Angelov bfca55b87a examples: fix `v build-examples` 2020-07-24 13:29:47 +03:00
Delyan Angelov 8c4429c875 parser: fix passing the is_mut flag of anon fn arguments 2020-07-24 11:27:56 +03:00
Delyan Angelov d204c926a8 tests: fix compilation of if_smartcast_test.v 2020-07-24 10:30:22 +03:00
pancake 04ef2a2671
os: implement os.system for iOS and uncomment the `$if ios` blocks (#5947) 2020-07-24 10:17:32 +03:00
Delyan Angelov 921b5cddd0 live: fix compilation 2020-07-24 08:45:28 +03:00
Delyan Angelov d31142ac3e vfmt: fix compilation after the more strict mutability check 2020-07-24 08:43:18 +03:00
Delyan Angelov d83e2ee330 websocket: fix compilation after the more strict mutability check 2020-07-24 08:41:14 +03:00
Delyan Angelov 346cc5ca2c term: fix panic in term.header, when cols,rows from get_terminal_size are < 2 2020-07-24 08:34:39 +03:00
Delyan Angelov c2083203b3 v.util: fix util.emanager.set_support_color 2020-07-24 08:31:05 +03:00
Alexander Medvednikov ec443c65a8 tests: fix some tests 2020-07-24 01:55:55 +02:00
Alexander Medvednikov d2675b89c0 builtin: fix a mutable var on windows 2020-07-23 23:18:45 +02:00
Alexander Medvednikov 632e27a4a9 all: fix a big mutability bug and update all mutable vars 2020-07-23 23:16:36 +02:00
Alexander Medvednikov 32c1042ac6 parser: disable the duplicate import check for now 2020-07-23 22:20:00 +02:00
Alexander Medvednikov 653d40bfe8 parser: do not duplicate table imports 2020-07-23 21:59:48 +02:00
pancake b7bdb97f7d
term: fix crash in `header` when divider.len < 2 (#5956) 2020-07-23 18:54:29 +02:00
Louis Schmieder b537d8e23e
parser: comp `for` attrs array (#5903) 2020-07-23 17:19:37 +02:00
Carlos Esquerdo Bernat 7a4c27bd08
log: add flush to log file (#5942) 2020-07-23 08:02:53 +03:00
pancake 36352085ae
v: add support for iOS crosscompilation (#5943) 2020-07-23 07:58:44 +03:00
Emily Hudson 0f98445f7f
cgen: properly handle more multi-return edge cases (#5933) 2020-07-23 00:39:19 +02:00
Uwe Krüger 6586a9a657
fmt: give braced sub expressions a higher priority (#5941) 2020-07-23 00:32:34 +02:00
Delyan Angelov 37c6f6ab1b vfmt: fix compilation with -prod 2020-07-22 21:43:20 +03:00
Delyan Angelov 276c1de190 unsafe: tag with unsafe{} some more pointer manipulations 2020-07-22 21:42:51 +03:00
Delyan Angelov 949ed90b51 utf8: fix a panic in utf8.len("pippo"), mark with `unsafe{}` direct pointer manipulations 2020-07-22 21:15:27 +03:00
Lukas Neubert 4096432a1d
cli: prevent need for unsafe block (#5937) 2020-07-22 20:53:49 +03:00
Ryan Willis 938e71b468
v: fix for `import cli { Command }` 2020-07-22 20:33:43 +03:00
Nick Treleaven ee349691f9
v/checker: Warn about pointer indexing outside unsafe {} (#5918) 2020-07-22 20:28:53 +03:00
joe-conigliaro d46a89b90d
parser/checker/fmt: optimize scope lookups by storing object with ident & add if expr smartcast support to vfmt (#5935) 2020-07-23 02:10:31 +10:00
Delyan Angelov ebbc7bd471 examples: fix crash when running examples/ws/client.v outside of valgrind 2020-07-22 18:42:57 +03:00
Carlos Esquerdo Bernat b0d76c59f7
websocket utf8: move utf8 functions from websocket to encoding.utf8, add utf8_test.v (4/4) (#5924) 2020-07-22 18:36:24 +03:00
Carlos Esquerdo Bernat 635c99e2ed
ws: obtain port when not specified (#5922) 2020-07-22 17:35:30 +03:00
Carlos Esquerdo Bernat 0d8ebf5845
websocket: use log instead submodule logger (1/4) (#5921) 2020-07-22 17:31:22 +03:00
Ruofan XU 0f72328d1f
cgen: minor generated C source format fix 2020-07-22 17:27:37 +03:00
Carlos Esquerdo Bernat f09e14a2b9
csv: cleanup reader_test.v 2020-07-22 17:26:26 +03:00
Emily Hudson 1476602f99
builder: pass define flags to msvc (#5931) 2020-07-22 17:24:12 +03:00
Ruofan XU a370dd2867
cgen: further fixes to and array/map of fns (#5916) 2020-07-22 02:30:44 +02:00
kalapalo c3a2e9b5c4
cgen: fix sum type assignment with pointers (#5868) 2020-07-22 02:28:49 +02:00
spaceface777 f4251dded0
checker: suggest using `:=` when assigning to undefined variable (#5911) 2020-07-21 19:49:53 +03:00
Delyan Angelov 8b930b4888 builder: measure msvc execution too 2020-07-21 19:45:50 +03:00
Delyan Angelov 14fd7d93ca v.pref: fix `v build file.v` 2020-07-21 19:36:58 +03:00
Delyan Angelov 6dd1494008 encoding.base64: use fixed static arrays for the ending_table and index consts 2020-07-21 17:56:19 +03:00
Delyan Angelov 4cb9e651a6 vfmt: fix `sizeof(C.Type)` 2020-07-21 16:28:30 +03:00
Delyan Angelov e1eb9c4ff1 vfmt: fix `x := *&int(ptr)` 2020-07-21 15:58:17 +03:00
Delyan Angelov 35df792c05 vfmt: fix `#include "@VROOT/path/x.h"` 2020-07-21 14:26:49 +03:00
Delyan Angelov 8f23accc4e time: add .format_ss_milli and .format_ss_micro methods 2020-07-21 11:58:33 +03:00
Delyan Angelov 0af415fa28 vlib: add unsafe{} wrappers to C. fn calls, to allow compiling with -prod again 2020-07-21 09:05:31 +03:00
Carlos Esquerdo Bernat 6dbc143d67
websocket: move ws example to examples folder (#5875) 2020-07-21 00:55:58 +02:00
Alexander Medvednikov 303b65c0b9 roadmap: io streams 2020-07-20 22:51:17 +02:00
Alexander Medvednikov 059722f211 checker: minor vfmt run 2020-07-20 22:30:09 +02:00
Nick Treleaven 15ca64d81d
tests: rename pointer_arithmetic_should_be_checked.vv -> unsafe_required.vv (#5897) 2020-07-20 23:04:22 +03:00
Nick Treleaven a74cbf55c7
checker: warn if C.m* or C.s* functions are called outside unsafe blocks (#5869) 2020-07-20 20:06:41 +03:00
spaceface777 1a5236e53d
jsgen: export module through commonjs (#5895) 2020-07-20 19:57:13 +03:00
Ruofan XU 88c8e194d0
cgen: fix map and array with fns (#5894) 2020-07-20 19:53:02 +03:00
Nick Treleaven e6fc8eb015
checker: check that array slicing indexes are valid (#5892) 2020-07-20 19:52:03 +03:00
Enzo 8653605b0a
fmt: allow for comments in call args and if expressions branches (#5871) 2020-07-20 17:48:33 +03:00
Nick Treleaven fb76e02c59
builtin: speed up string.clone() by using C.memcpy (#5837) 2020-07-20 17:44:35 +03:00
Carlos Esquerdo Bernat c60948e52e
runtime: simplify nr_cpus(), add a test for nr_jobs() 2020-07-20 17:36:44 +03:00
Delyan Angelov fb4c3ff31a tests: split unsafe.v to vlib/v/tests/unsafe_test.v and a checker output .vv&.out test 2020-07-20 16:53:27 +03:00
Carlos Esquerdo Bernat 60997b3052
net.http: wrap unsafe{} around req.headers.free() (#5891) 2020-07-20 15:39:46 +03:00
Delyan Angelov c858978348 cgen: add support for `-d trace_gen` too. Add `v tracev` command. 2020-07-20 12:36:27 +03:00
Delyan Angelov 587b9dd8aa tests: reduce iterations for the atomic and semaphore tests, to speed up test-fixed 2020-07-20 11:14:55 +03:00
Ruofan XU 9f6aacb739
cgen: fix array of fns init (#5884) 2020-07-19 21:44:03 +02:00
Louis Schmieder bb60fe2ccf
vweb: implement cookie expiration date (#5873) 2020-07-19 21:42:50 +02:00
Enzo 8a855ccae1
fmt,vet: handle `var in [single_value]` (#5882) 2020-07-19 19:58:34 +02:00
Delyan Angelov 9c3aa8bfc3 sqlite: add more detailed C.sqlite3_ APIs 2020-07-19 19:14:40 +03:00
Ryan Willis 1114fd28d0
all: import individual symbols feature (#5872) 2020-07-18 21:34:38 +02:00
Delyan Angelov de0fc53d62 CI: fix failing tests because of hash.wyhash duplicates 2020-07-18 15:27:57 +03:00
Delyan Angelov ca8344460a cli: fix failing test on macos/windows 2020-07-18 15:02:05 +03:00
XeGrox e5a508c0d7
checker: fix inability to access aliased struct fields (#5861) 2020-07-18 13:58:16 +02:00
Alexander Medvednikov 74d70b8719 all: more cached moduels fixes 2020-07-18 13:49:03 +02:00
Delyan Angelov 3a4f2dfe8b cli: extract improvements to vlib/cli, based on PR 5616 (without cmd/v2) 2020-07-18 14:24:29 +03:00
Alexander Medvednikov 7ab6899538 builtin: fix compilation (part 1) 2020-07-18 11:17:29 +02:00
Alexander Medvednikov 38e5569503 all: cached modules fixes 2020-07-18 11:15:44 +02:00
Nick Treleaven 105a0e015e
checker: warn if unsafe method called outside unsafe block (#5863) 2020-07-17 19:14:12 +02:00
Enzo 90d9040e6e
all: make comment expressions + fix vfmt array init (#5851) 2020-07-17 19:13:22 +02:00
Nick Treleaven 39f90e25f3
all: `if` guard optional: define `err` in `else` branch (#5853) 2020-07-17 19:10:01 +02:00
Uwe Krüger ea322bdd97
checker, cgen: fix call of generic function returning normal type (#5865) 2020-07-17 18:28:45 +02:00
Ryan Willis e804ba5294
vfmt: add support for VDIFF_TOOL, detect more diffing tools (#5857) 2020-07-17 14:03:07 +03:00
Uwe Krüger f6947d111b
parser: fix `sizeof(int)` when used as call arg for external function (#5855) 2020-07-17 11:31:35 +03:00
spaceface777 3583302ad4
parser: force `...` rather than `..` in matches for inclusive ranges (#5852) 2020-07-17 11:30:21 +03:00
Lukas Neubert fa03f390b3
parser: add error for `for i := 0; i++; i < ..` (#5850) 2020-07-17 10:31:58 +03:00
Ryan Willis 82e2b1ec33
strconv: use import instead of module in test files (#5856) 2020-07-17 02:35:42 +02:00
Alexander Medvednikov 69ef43ba00 vweb: fix ip() 2020-07-16 21:23:35 +02:00
Alexander Medvednikov cb1009d91b strconv: more fixes 2020-07-16 20:55:15 +02:00
Alexander Medvednikov f1b4af33ac tests: atof_test fix 2020-07-16 19:50:09 +02:00
Alexander Medvednikov 9b2cbdacc6 vfmt: verify 2020-07-16 19:46:03 +02:00
Alexander Medvednikov a989e017fe tests: fix f32_f64_to_string_test.v 2020-07-16 19:41:01 +02:00
Alexander Medvednikov e4fac6ff97 autofree: fix scope position 2020-07-16 19:40:14 +02:00
Alexander Medvednikov dc89a914ea cc: build-module/module cache fixes; strconv: move all code in one module 2020-07-16 19:01:56 +02:00
Ryan Willis f66967a88c
vsymlink: real Windows symbolic link, fallback to batch, make.bat updates (#5841) 2020-07-16 18:33:26 +02:00
Swastik Baranwal f3a505b558
scanner: add check for `_` in num literals (#5849) 2020-07-16 17:29:07 +03:00
spaceface777 b900577dae
compiler: handle ranges as `match` conditions (#5847) 2020-07-16 16:41:18 +03:00
joe-conigliaro 612fe1b8fb
cgen: autofree scope var position fixes 2020-07-16 20:06:50 +10:00
Alexander Medvednikov 6245876806 vweb: ip() 2020-07-16 00:48:14 +02:00
Nick Treleaven f5e6a83a05
builtin: unsafe vlib pointer indexing (#5836) 2020-07-15 21:56:50 +02:00
Alexander Medvednikov c563168d69 rand: string() 2020-07-15 21:36:09 +02:00
Nick Treleaven 4b0ded0475
checker: Warn instead of error for pointer arithmetic (#5840) 2020-07-15 19:59:39 +02:00
Delyan Angelov 1873a0cb6d builder: pass -g3 for -cg 2020-07-15 12:46:24 +03:00
Enzo 2ee8f93d60
parser: duplicate method declaration on interface (#5825) 2020-07-15 10:23:21 +02:00
Uwe Krüger 8df6e59678
sync: add semaphores (#5831) 2020-07-15 10:22:33 +02:00
Delyan Angelov cf7d03bda6 builtin: implement array.pop() 2020-07-14 20:01:39 +03:00
Enzo de0b96f52c
parser: fail when interface name is duplicated (#5828) 2020-07-14 18:52:51 +02:00
Enzo d301611de7
fmt: interface decl fixes (#5829) 2020-07-14 18:52:28 +02:00
Alexander Medvednikov 60ce938149 builder: make builtin, strconv, os work with `v build-module` 2020-07-14 18:27:14 +02:00
Delyan Angelov 5ad957f270 vfmt: fix formatting for `x, _ := f()` 2020-07-14 19:11:16 +03:00
Delyan Angelov e23925f2be pref: add -show-timings option 2020-07-14 18:47:40 +03:00
Alexander Medvednikov 06f5279f77 checker: fix multi_const_field_name_duplicate test 2020-07-14 17:44:08 +02:00
Alexander Medvednikov 899c69caf1 checker: fix dup const test 2020-07-14 17:24:08 +02:00
Enzo 880c8e4dc9
cgen: else if guard (#5822) 2020-07-14 17:19:55 +02:00
Alexander Medvednikov d33fbe4547 checker: format + fix duplicate const error 2020-07-14 17:18:10 +02:00
Swastik Baranwal c3bdacbf04
doc: add info about _ separator in literals (#5823) 2020-07-14 15:46:13 +02:00
Alexander Medvednikov c3ec5323f0 autofree: move new scope free behind -experimental for now 2020-07-14 15:30:55 +02:00
Alexander Medvednikov 7231b467a6 autofree: fix stmts() free 2020-07-14 14:50:51 +02:00
Alexander Medvednikov 1338e7fce2 autofree: free in each scope 2020-07-14 13:56:52 +02:00
Delyan Angelov 3703ade9f1 doc: add a Numbers section. Add tests for `0b` prefixed integer literals too 2020-07-14 11:10:43 +03:00
Alexander Medvednikov 361d12bf43 pref: -experimental flag 2020-07-14 00:32:33 +02:00
ka-weihe df45488e09
cgen: fix warnings (#5820) 2020-07-14 00:16:31 +02:00
joe-conigliaro 042add0e7f
ast: fix typo in comment 2020-07-14 04:04:16 +10:00
joe-conigliaro dd06d90466
checker/gen: temp hack for struct fn type field (fixes ui) 2020-07-14 03:59:00 +10:00
Alexander Medvednikov 1c682d7b89 cgen/autofree: sb.writeln() optimization fixes 2020-07-13 18:59:47 +02:00
Delyan Angelov e5a5e76a30 cgen: fix for passing functions as voidptr args 2020-07-13 19:45:13 +03:00
Delyan Angelov e3f7681e89 smtp_test: use `assert false return`, remove for loop 2020-07-13 18:52:46 +03:00
Delyan Angelov 97d01a5487 test: enable passing username/password through env vars to smtp_test.v 2020-07-13 18:22:36 +03:00
spaceface777 e9c144bf98
smtp: rewrite module api (#5819) 2020-07-13 16:41:23 +02:00
Delyan Angelov a565848dfa tests: remove duplicate test autolock_array_1_test.v 2020-07-13 15:02:44 +03:00
Uwe Krüger 6e6010d198
checker, cgen: implement auto-lock for `a[i]++`, `a[i]--` (#5817) 2020-07-13 15:01:32 +03:00
Delyan Angelov b04fff272e tests: move autolock_array_1.v to autolock_array_1_test.v 2020-07-13 14:21:44 +03:00
Uwe Krüger aa364ddaca
checker, cgen: checks for shared/lock, first autolock (#5815) 2020-07-13 12:19:28 +02:00
Delyan Angelov 1baa7ef806 os: implement os.write_file_array and os.read_file_array . 2020-07-13 10:46:37 +03:00
Alexander Medvednikov db2346069a gg: always use stb_truetype for now 2020-07-13 01:02:50 +02:00
Delyan Angelov f1fdafcdff pref: add -check-syntax for just parsing files, without checking them 2020-07-12 22:44:38 +03:00
Swastik Baranwal b5b5176f9b
string: add filter method (#5812) 2020-07-12 21:07:28 +03:00
Nedim 8674991bac
smtp: add mail sent confirmation and tests for smtp lib (#5813) 2020-07-12 20:42:11 +03:00
Takeru Tanaka f61a7bf3df
os,rand.mt19937: fix broken links in code comments (#5806) 2020-07-12 16:18:52 +03:00
Delyan Angelov d28a1042a0 net.http, net.websocket: allow importing both in the same app 2020-07-12 15:21:40 +03:00
Delyan Angelov 53ee5eb043 vfmt: fix removing cmod. in []Enum return values 2020-07-12 14:40:50 +03:00
Nick Treleaven 53023c1ca9
all: add UnsafeExpr (#5793) 2020-07-12 12:58:33 +02:00
Alexander Medvednikov cad816a19d gg: text_height() 2020-07-12 12:48:42 +02:00
Delyan Angelov 9c43d36513 parser,checker: add `-d trace_parser`, `-d trace_checker` 2020-07-12 12:56:01 +03:00
Delyan Angelov 23c8e1f06d checker: add support for `-d debug_stmts` to ease debugging checker panics 2020-07-12 12:04:39 +03:00
Alexander Medvednikov 40da32a141 gg: text_width() 2020-07-12 01:46:21 +02:00
Nedim 25c397f921
net.smtp: remove credentials from the test (#5808) 2020-07-11 21:19:36 +02:00
Nedim 549c4f54cd
net: implementation of SMTP RFC 2821 (#5807) 2020-07-11 21:05:24 +02:00
Delyan Angelov c891014c77 scanner: reduce memory, increase speed for long commented sections 2020-07-11 21:27:39 +03:00
Delyan Angelov 022cc72740 scanner: parse multiple comments and long strings without a stackoverflow 2020-07-11 20:52:08 +03:00
Alexander Medvednikov a2cb01e16a parser: parse _x64.v files only with -x64 2020-07-11 19:03:59 +02:00
Alexander Medvednikov d4dd5645fe parser: remove strconv import 2020-07-11 18:53:50 +02:00
Delyan Angelov 498c8cfc8e builtin: skip print_backtraces on panics with tcc, it does it automatically 2020-07-11 17:51:06 +03:00
yuyi 9b4c81e85f
checker: check missing return values in functions (#5803) 2020-07-11 16:30:49 +02:00
Delyan Angelov 37d739684c checker: prevent string(byte), suggest byte.str() instead 2020-07-11 17:09:22 +03:00
ka-weihe ae349ca6ba
cgen: fix all -Wmissing-variable-declarations (#5802) 2020-07-11 15:37:40 +02:00
Alexander Medvednikov 59df2db4e0 ci: disable C++ test for now 2020-07-11 15:36:08 +02:00
Delyan Angelov 26768e8514 vfmt: strip `current_module.` in fn args more robustly 2020-07-11 16:09:20 +03:00
Delyan Angelov b55f84c0a8 vfmt: turn off module is imported but never used for vfmt 2020-07-11 15:03:37 +03:00
Delyan Angelov 7c0a298701 vfmt: fix crash when a .v file contains only imports 2020-07-11 14:54:55 +03:00
Delyan Angelov 3aeca70970 benchmark: update the example in the README.md 2020-07-11 14:54:55 +03:00
Alexander Medvednikov ab3c1f2a08 prealloc: skip frees for now 2020-07-11 13:22:18 +02:00
yuyi fae601fe39
array: add `reverse_in_place` for performance (#5798) 2020-07-11 13:17:11 +02:00
Alexander Medvednikov b92ce38593 os: fix v_realloc call on windows 2020-07-11 12:45:22 +02:00
Alexander Medvednikov 2e275731a3 websocket: fix compilation 2020-07-11 12:41:37 +02:00
Alexander Medvednikov 649821be4c all: use v_realloc 2020-07-11 12:37:54 +02:00
Alexander Medvednikov 2a696cb837 vet: prohibit spaces before `)` 2020-07-11 12:14:19 +02:00
Alexander Medvednikov d94a02ba79 strings: builder.writeln() optimization 2020-07-11 12:03:24 +02:00
Alexander Medvednikov 549d7a487d tests: fix scanner_test.v 2020-07-11 11:51:58 +02:00
Alexander Medvednikov d4d552fb00 vet: prohibit spaces after `(` 2020-07-11 11:41:39 +02:00
Alexander Medvednikov a1073105e1 all: re-enable -prealloc 2020-07-11 11:25:56 +02:00
Delyan Angelov 006d260d20 vfmt: keep `vproto.Name`, in module `proto` in struct inits too 2020-07-11 02:42:57 +03:00
Uwe Krüger 646df49c74
builtin: fix string.hash method for `gcc -O2` (#5794) 2020-07-11 01:18:52 +03:00
Delyan Angelov 7248d8422e vfmt: keep `vproto.Name`, when current module is `proto` 2020-07-11 00:59:19 +03:00
pancake 7d6ba2d07d
checker: add error when interface i, without a .str() method, have i.str() called (#5788) 2020-07-10 22:47:29 +03:00
Delyan Angelov 2fb5c91f4d scanner: remove error check for embedded \x00 chars in c'literals' 2020-07-10 21:42:03 +03:00
yuyi bf14e666ea
cgen: add `gen_map_equality_fn` to compare maps (#5770) 2020-07-10 18:08:17 +02:00
yuyi 0c9c66dd6b
cgen: fix mutable array arguments (#5769) 2020-07-10 18:04:51 +02:00
Emily Hudson 7488dd829d
all: _allow_multiple_values enum attribute (#5772) 2020-07-10 16:43:02 +02:00
Delyan Angelov 88946a34bb checker: limit showing too many unhandled match cases 2020-07-10 15:49:02 +03:00
penguindark e85c1fb762
utf8: bug fix in get_uchar (#5775) 2020-07-10 14:44:40 +02:00
Swastik Baranwal 9839b0eb7f
parser: handle `a,b += 1,1` (fix #5735) (#5783) 2020-07-10 13:59:17 +02:00
Delyan Angelov 75b7b9564a builder: show the contents of the C .rsp file on -showcc 2020-07-10 13:07:20 +03:00
Delyan Angelov ca9790a71f vweb: ensure the tcp connection is always closed at the end of the response 2020-07-10 10:49:39 +03:00
Delyan Angelov d3e676bdc1 orm: use errcode comparisons, instead of strcmp(sqlite3_errmsg,msg) 2020-07-10 10:14:30 +03:00
Uwe Krüger 581603f2bd
fmt: make formatter know about new keywords `shared`, `rlock` (#5779) 2020-07-09 22:41:45 +02:00
Daniel Däschle fb927dab60
checker: check all branches for return (#5763) 2020-07-09 22:38:43 +02:00
Uwe Krüger 194ecda829
fmt: array_init: use line breaks of first elements in every hierarchy (#5777) 2020-07-09 22:36:49 +02:00
Lukas Neubert 14d83c8457
orm: fix invalid `no more rows available` error (#5774) 2020-07-09 22:36:01 +02:00
Uwe Krüger e47ad33af6
fmt: format array elements line-by-line when nl after `[` (#5776) 2020-07-09 19:47:12 +02:00
yuyi 31ac20876c
cgen: minor formatting of `struct_init` (#5768) 2020-07-09 17:25:48 +02:00
Louis Schmieder 3792e17885
vweb: fix routing for 0 params (#5773) 2020-07-09 17:16:02 +02:00
Daniel Däschle c5dc1a33b6
all: remove `it` smartcast and replace with original variable name (#5764) 2020-07-09 17:14:14 +02:00
Alexander Medvednikov 9511b7d0a1 cc: do not use -ldl in cross compiling for now 2020-07-09 12:29:49 +02:00
Alexander Medvednikov 8c338a7c3b cc: format and fix linuxroot download 2020-07-09 12:26:15 +02:00
Alexander Medvednikov dfa29b6e4d fast: fix 1mil.v test 2020-07-09 11:56:31 +02:00
Delyan Angelov 73a259496e tests: support `VTEST_ONLY=fn_,match_ ./v test-fixed` and in compiler_test.v 2020-07-09 10:47:16 +03:00
Delyan Angelov ce31c4c03e tests: support `VTEST_ONLY=parser ./v vlib/v/compiler_errors_test.v` 2020-07-09 10:27:31 +03:00
Louis Schmieder 373aa3dbc8
vweb: router: fix trailing / (#5760) 2020-07-08 22:15:37 +02:00
Alexander Medvednikov b8d762df97 gg: use D3D and stb_truetype on Windows; 2020-07-08 21:43:27 +02:00
Tomas Hellström 2790890bc2
ci: use pre built docker containers for musl (#5759) 2020-07-08 21:30:57 +03:00
Daniel Däschle c0fa31e75a
cgen: if smartcast part 3 (#5755) 2020-07-08 19:14:47 +02:00
Alexander Medvednikov 03b76d19f1 repl: make the info message a bit smaller 2020-07-08 17:22:38 +02:00
Daniel Däschle e7cd496c31
parser: smartcast fix (#5756) 2020-07-08 16:08:44 +02:00
Nick Treleaven f834276803
doc: struct literals (#5726) 2020-07-08 16:02:35 +02:00
yuyi 64e9bdc213
parser: fix non-void optional fn missing return value (fix #5736) (#5741) 2020-07-08 16:01:17 +02:00
Daniel Däschle 5ea17ad2d4
all: if smartcast part 2 (#5754) 2020-07-08 15:46:58 +02:00
Louis Schmieder 7ad03e9d6a
vweb: simplify router (#5751) 2020-07-08 15:22:03 +02:00
Daniel Däschle b62bf59c21
all: if-is smartcast part 1 (#5730) 2020-07-08 15:17:28 +02:00
Emily Hudson 3b0dfd9ae1
cc: use @response files to avoid command line length limits (#5750) 2020-07-08 15:50:17 +03:00
Delyan Angelov 69d3c3f596 cgen: sort const inits/cleanups topologically, skip calling non `fn init(){}` fns 2020-07-08 14:28:58 +03:00
Alexander Medvednikov 2425c05c42 Revert "cgen: sort const inits/cleanups topologically too"
This reverts commit 38000f8622.
2020-07-08 12:56:56 +02:00
Uwe Krüger 88248b1b66
cgen: add support for shared arrays (#5721) 2020-07-08 11:05:43 +02:00
Delyan Angelov 38000f8622 cgen: sort const inits/cleanups topologically too 2020-07-08 11:22:30 +03:00
Ruofan XU 9c87ace153
cgen: fix cross assign for functions (#5734) 2020-07-08 09:17:26 +03:00
Louis Schmieder 3bb1d24dad
parser: add template path by fn name for vweb (#5737) 2020-07-08 09:12:57 +03:00
yuyi bd16dd9fdf
cgen: fix assert `sumtype is` (#5739) 2020-07-08 09:05:01 +03:00
yuyi b0ce66d141
gen: fix generated `defer` (#5717) 2020-07-08 08:39:11 +03:00
Alexander Medvednikov 246e7e8464 vweb: form error 2020-07-07 21:35:59 +02:00
Emily Hudson cdfb578565
builder: cache msvc (#5733) 2020-07-07 20:35:49 +02:00
joe-conigliaro c99200918e
checker: fix if 2020-07-08 01:42:42 +10:00
joe-conigliaro 2480cce1ed
checker: optimize if & fix typo 2020-07-08 01:36:48 +10:00
Alexander Medvednikov e0fcd565d5 gg: fix default text size 2020-07-07 17:33:24 +02:00
joe-conigliaro 5fd5e558ae
parser/checker/gen: anon fn direct call with args 2020-07-08 01:10:39 +10:00
Louis Schmieder f8a89e3f8f
gg: fix text rendering (#5727) 2020-07-07 17:09:35 +02:00
Louis Schmieder 2a7a6fa1eb
orm: add delete stmt (#5725) 2020-07-07 16:55:32 +02:00
Alexander Medvednikov 4d7d1eb0c4 http: referer() 2020-07-07 14:37:43 +02:00
yuyi dc24327b1e
cgen: minor optionals fix (#5714) 2020-07-07 14:21:02 +02:00
Tarang11 68e01d87be
checker: fix multi assignment for multiple fns (#5716) 2020-07-07 14:18:51 +02:00
Louis Schmieder d2d4ea42ce
vweb: add url query (#5719) 2020-07-07 13:46:57 +02:00
yuyi 4490cd2e8a
os: replace panics with optionals (#5718) 2020-07-07 12:41:42 +02:00
Alexander Medvednikov a6450e8e98 vweb: fix and simplify routing 2020-07-07 12:35:45 +02:00
Uwe Krüger ef02373061
all: remove `rwshared` keyword, make its semantics default for `shared` (#5710) 2020-07-07 01:57:31 +02:00
Alexander Medvednikov 013c0e6e16 gg: make FT private 2020-07-06 21:40:24 +02:00
Alexander Medvednikov 48f1f814d2 gg: minor fixes 2020-07-06 20:40:54 +02:00
Alexander Medvednikov 0ed8199da2 gg: merge ft module 2020-07-06 20:29:09 +02:00
yuyi 43c8726c37
cgen: minor optimization of comptime (#5705) 2020-07-06 19:58:21 +02:00
Alexander Medvednikov 1f3d7d393e gg: simplify text rendering 2020-07-06 19:45:00 +02:00
Leah Lundqvist cfa8e0a81a
js: |0 -> parseInt (#5703) 2020-07-06 18:09:54 +02:00
joe-conigliaro 9a4d989188
test: move sumtype int cast test into fn & test var 2020-07-06 23:39:51 +10:00
Leah Lundqvist 659aa8db3c
js: fix int division (#5701) 2020-07-06 15:24:24 +02:00
Delyan Angelov 6b2777e681 compiler: support VTMP; tests: delete .tmp.c files on successfull tests 2020-07-06 15:08:46 +03:00
joe-conigliaro d82e6c9cd9
checker/table: fix sumtype cast from int literal 2020-07-06 21:27:48 +10:00
Delyan Angelov 25771a1afe compiler: remove -keepc option (it is now always on) 2020-07-06 13:42:18 +03:00
yuyi c94038af89
cgen: improve generated code formatting (#5693) 2020-07-06 12:33:57 +02:00
yuyi fc7237be7b
checker: fix cast to sum type (fix #5690) (#5692) 2020-07-06 12:32:59 +02:00
yuyi f41edef4c6
checker: add `1/0x0 1/0b0..` division by zero check (#5694) 2020-07-06 12:32:00 +02:00
Uwe Krüger c3614c0e38
cgen, sync: implement separate read/write locks for `rwshared` types (#5687) 2020-07-05 22:53:28 +02:00
Louis Schmieder 3cd9e2cab7
vweb: fix index (#5682) 2020-07-05 22:05:58 +02:00
spaceface777 d0e321c8a3
fmt: allow parsing files without `fn main()` (#5681) 2020-07-05 20:53:01 +02:00
KrisChambers 8d035a446a
Fix v/parser: Failure to parse structs with fields typed as anonymous functions returning having an optional void (`?`) return type. (#5684)
* Handle optional void return type in function types in struct fields.

* Add more testing for optional return types in struct fields.

* Move language parsing into it's own function

* Fix issue caused by not setting typ.

* Fix test for structs containing anon fn with optional void return types
2020-07-05 19:29:39 +02:00
Alexander Medvednikov f6ab63f3a0 stbi: remove opengl call 2020-07-05 19:28:31 +02:00
Delyan Angelov 1416c70e73 net.websocket: fix building client.v 2020-07-05 18:44:39 +03:00
joe-conigliaro 4e66728477
checker/table: rearrange sumtype check fns 2020-07-06 00:53:56 +10:00
Alexander Medvednikov 36183660e6 remove oldgg, gl, glfw, freetype from vlib now that we have the new sokol based `gg` 2020-07-05 16:44:28 +02:00
yuyi 96bd4e8794
parser: fix type detection in `match` (#5679) 2020-07-05 16:35:45 +02:00
joe-conigliaro 9d7f1a236a
checker/gen: fix nested sumtype matching 2020-07-06 00:25:04 +10:00
yuyi 34a24eaa4e
checker: validate loop var names (#5677) 2020-07-05 15:27:37 +02:00
yuyi cda9240632
cgen: add unsafe block braces and comments in generated code (#5674) 2020-07-05 13:32:39 +02:00
Delyan Angelov 770ffa1ebd crypto.rand: fix linux/solaris rand.read() compilation 2020-07-05 01:33:43 +03:00
Alexander Medvednikov 188bad4f38 vfmt: handle string attrs 2020-07-04 23:38:28 +02:00
Enzo 7778cbe9f5
all: make `os` global in scripts (#5669) 2020-07-04 23:37:41 +02:00
yuyi 11866fb017
cgen: improve code formatting of `array_init` (#5663) 2020-07-04 21:49:04 +02:00
Delyan Angelov f374e37b61 checker: add details about a non matching functional argument 2020-07-04 22:37:06 +03:00
Delyan Angelov 108913c69e checker: handle error token positions with negative pos.len 2020-07-04 21:55:14 +03:00
Delyan Angelov 0637feb382 checker: use a more readable error message for non matching fn args 2020-07-04 21:23:22 +03:00
Delyan Angelov db4a9d6b59 checker: stricter check for function type signatures 2020-07-04 21:01:08 +03:00
Ryan Willis bb6ab185c3
ci: fix periodic integration tests (#5666) 2020-07-04 19:52:25 +02:00
Daniel Däschle 0626ac2901
checker: fix position of infix expr error 2020-07-04 18:52:40 +02:00
div72 be04de98bb
checker: check for enum value duplicates/overflow (#5659) 2020-07-04 18:28:01 +03:00
Delyan Angelov b018381f10 vfmt: fix `as var` in `match expr as var {}` 2020-07-04 16:46:46 +03:00
Delyan Angelov fe50bdc164 vfmt: ran `v vet vlib/v/` and fix spaces 2020-07-04 16:19:54 +03:00
Delyan Angelov d2a2db7bff vfmt: format scanner.v 2020-07-04 16:14:30 +03:00
Delyan Angelov 5b93b4f37d vfmt: allow multiple comments after if branches 2020-07-04 16:13:58 +03:00
Delyan Angelov 68af46402e vvet: allow passing many files, improve specifity for emacs goto error 2020-07-04 15:29:00 +03:00
Delyan Angelov dc3101384f checker: cleanup indentation 2020-07-04 14:45:11 +03:00
Delyan Angelov 48029fa9ad checker: check .str() calls too 2020-07-04 14:43:01 +03:00
Delyan Angelov 35431d457b checker: add check for strict .str() method signature 2020-07-04 14:14:43 +03:00
Delyan Angelov 4403c76406 vfmt: print `or { }` on a single line 2020-07-04 14:14:43 +03:00
Delyan Angelov bae9ed0350 os: fix file.writeln(s) too, where s contains `0` bytes 2020-07-04 14:14:43 +03:00
Uwe Krüger 3b067f5f85
all: experimental locked concurrency support, part 1 (#5637) 2020-07-04 12:44:25 +02:00
yuyi 27149ba8bc
cgen: fix `in` in mutable arrays (#5647) 2020-07-04 12:12:44 +02:00
Ruofan XU 765ffa37eb
cgen: fix == for mut arraay args (#5648) 2020-07-04 11:36:33 +02:00
joe-conigliaro da98c3c135
checker: use new match syntax everywhere 2020-07-04 19:23:41 +10:00
joe-conigliaro cdd4a7c880
checker: only check ForInStmt.high once 2020-07-04 19:10:37 +10:00
div72 95696559b7
os: fix early termination when saving binary (#5646) 2020-07-04 01:48:01 +02:00
Ruofan XU 37f31da6c9
parser: minor simplification (#5645) 2020-07-03 23:22:43 +02:00
Alexander Medvednikov 3d3549d65a Revert "parser: advanced division by zero check (#5629)"
This reverts commit f03688e443.
2020-07-03 22:30:51 +02:00
Alexander Medvednikov e9e437ce05 repl: show short version 2020-07-03 22:30:34 +02:00
Alexander Medvednikov 244d61f8d0 vweb: fix a route matching bug 2020-07-03 22:00:17 +02:00
yuyi 67e85fa9dd
cgen: fix indent in `for_in_string` (#5631) 2020-07-03 18:10:45 +02:00
yuyi 61213263cd
cgen: remove extra `\n` in map.get (#5630) 2020-07-03 18:10:29 +02:00
Nick Treleaven 0b49e4db1c
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} (#5640) 2020-07-03 18:10:10 +02:00
Ruofan XU a2395ff3e8
cgen: fix mut map with relation op in fn (#5642) 2020-07-03 18:07:11 +02:00
yuyi 9e949622d3
vrepl: pre-imported common modules (#5643) 2020-07-03 18:06:36 +02:00
Alexander Medvednikov 2281163efd vweb: fix a routing bug 2020-07-03 17:50:48 +02:00
Tom Leen 51410fdb6d
vweb: add .txt and .md mime types (#5641) 2020-07-03 17:17:25 +02:00
Delyan Angelov 8adaf4efd4 cgen: allow `-printfn main` for _test.v files too 2020-07-03 17:53:48 +03:00
Delyan Angelov 652380c5fd cgen: fix `-printfn main` 2020-07-03 17:42:59 +03:00
yuyi dff385cb37
cgen: fix map_in mut (#5638) 2020-07-03 17:33:53 +03:00
Delyan Angelov df2749dd50 vfmt: fix indent level of commented match branches 2020-07-03 17:16:20 +03:00
Alexander Medvednikov b7175b54eb vweb: ['/:arg1/:arg2/action'] attribute 2020-07-03 15:10:39 +02:00
yuyi f03688e443
parser: advanced division by zero check (#5629) 2020-07-03 11:28:00 +02:00
yuyi 1efbb83060
cgen: add space before `else` in match (#5632) 2020-07-03 11:23:23 +02:00
Delyan Angelov 3c432f5e07 orm: require `order by` instead of just `order` 2020-07-02 23:37:30 +03:00
Delyan Angelov 7004f74b71 orm: fix `LIMIT var` as well 2020-07-02 23:29:29 +03:00
Louis Schmieder 421b6d4a80
orm: fix offset when order is given too (#5625) 2020-07-02 23:22:52 +03:00
Delyan Angelov 5813d2bf72 net.socket: add s.peer_ip() 2020-07-02 23:02:56 +03:00
Louis Schmieder b89cbf3224
orm: add support for ordering (#5624) 2020-07-02 20:29:22 +03:00
yuyi 68ac8fde26
tests: add mixed and complex types tests for cross assign (#5622) 2020-07-02 18:20:03 +02:00
Delyan Angelov 5b900056f3 vfmt: add _keep.vv tests for the recent fixes, to prevent regressions 2020-07-02 17:50:21 +03:00
Delyan Angelov d809bbb715 vfmt: fix enum field comments 2020-07-02 17:39:56 +03:00
Delyan Angelov 132170f54c vfmt: handle comments in enum Abc{} and after match branches 2020-07-02 16:51:09 +03:00
Delyan Angelov 05e11f6336 vfmt: fix `for x; y; i++ \n {}` 2020-07-02 15:30:06 +03:00
Delyan Angelov 37d51e8d74 vfmt: keep top level comments on their own lines 2020-07-02 15:21:09 +03:00
Delyan Angelov 29943d7a91 vfmt: fix eating C. from C.sapp_desc{} and adding & to &&&App() 2020-07-02 15:06:35 +03:00
Tim Basel 703b060d09
cli: add flag/cmd sorting + get_all_found (#5615) 2020-07-02 11:10:03 +02:00
yuyi 6cbc0e84f0
cgen: fix cross assign with mutable args (fix #5609 #5610 #5611) (#5614) 2020-07-02 11:09:26 +02:00
yuyi c21527d3c6
cgen: fix indent in multi_return (#5617) 2020-07-02 11:08:27 +02:00
yuyi e904732554
cgen: remove an extra \n in for loops (#5618) 2020-07-02 11:03:40 +02:00
Uwe Krüger 6c022db786
scanner: fix string interpolation for '$a.b().c' (#5612) 2020-07-02 00:02:59 +02:00
Delyan Angelov 4e34edfa81 vweb: allow quoting @css/@js resources with both ' and " 2020-07-01 22:03:30 +03:00
Alexander Medvednikov 2716a37916 ci: fix v vet call; fmt: fix SizeOf 2020-07-01 20:07:33 +02:00
Alexander Medvednikov 66f36f6dcc cgen: fix gen_cross_tmp_variable, part 2 2020-07-01 19:39:41 +02:00
Alexander Medvednikov 625ed030ef cgen: fix getn_cross_tmp_variable 2020-07-01 19:19:49 +02:00
Alexander Medvednikov dbcb23ddc8 ci: run v vet on cgen and ast 2020-07-01 19:07:19 +02:00
Alexander Medvednikov da99868a28 ci: run v vet vlib/v/parser 2020-07-01 18:57:14 +02:00
yuyi 40a393926d
cgen: fix cross assign of struct fields (#5606) 2020-07-01 18:43:14 +02:00
Delyan Angelov 56ae814cbc gen: fix js main entry point generation 2020-07-01 19:37:24 +03:00
Alexander Medvednikov 5de0f944bd vweb: fix a template leak 2020-07-01 17:04:30 +02:00
Alexander Medvednikov e78dc4d682 strings: fix a leak in builder 2020-07-01 16:52:04 +02:00
Delyan Angelov d43722fa85 vweb: fix compiling templates containing ' 2020-07-01 17:44:26 +03:00
yuyi 2f614ad79f
parser: optimize cross assign using expr.str() (#5604) 2020-07-01 16:43:13 +02:00
Alexander Medvednikov 013a4fc0f6 cgen: do not free strings in const decls 2020-07-01 16:40:04 +02:00
Alexander Medvednikov 6dad3cc018 cgen: fix a leak 2020-07-01 15:45:02 +02:00
Nick Treleaven e7339fec15
all: disallow pointer arithmetic for AssignStmt, PostfixExpr outside unsafe{} (#5581) 2020-07-01 14:50:17 +02:00
Alexander Medvednikov 5eb76606ae cgen: store return vals in tmp vars with -autofree 2020-07-01 14:34:14 +02:00
yuyi 92eea7f95a
cgen: fix map cross assign (#5603) 2020-07-01 14:03:12 +02:00
yuyi 6c5b638202
parser: fix array cross assign (fix #5577) (#5591) 2020-07-01 12:11:03 +02:00
Tim Basel 7386adfc99
cli: help/version abbrev optional + fix various inconsistencies (#5586) 2020-07-01 10:54:34 +02:00
Delyan Angelov ca1f47a742 cgen: fix `for k,_ in map { x << k }` 2020-07-01 11:49:02 +03:00
Delyan Angelov cfd71560fa cgen: fix << for `mut a []Type` args 2020-07-01 09:21:50 +03:00
Delyan Angelov 78e1127d99
cgen: treat the main module like any other v module 2020-07-01 00:53:53 +02:00
Alexander Medvednikov 34ddc9240e tutorials: web blog fixes 2020-06-30 21:04:00 +02:00
Delyan Angelov 3fed6ca050 cgen: comment out g_str_buf for now 2020-06-30 18:32:04 +03:00
Delyan Angelov 2fd960f12c builtin: implement a double free detection for v strings 2020-06-30 18:32:04 +03:00
nyaascii f10d2bb75f
string: fix trim_prefix and trim_suffix methods (#5572) 2020-06-30 15:44:53 +02:00
Delyan Angelov af56b01a41 cgen: parametrize g_str_buf size by V_STRBUF_MB; free in _vcleanup() 2020-06-30 16:31:02 +03:00
Louis Schmieder f3010cbfb2
http: add post function with json as payload (#5580) 2020-06-30 14:36:11 +02:00
Uwe Krüger 8a46911725
checker: check if mut function arg is declared as mut (#5579) 2020-06-30 14:19:22 +02:00
yuyi 61b8c0b699
cgen: change `i++` to `++i` in `for` 2020-06-30 14:14:48 +02:00
yuyi 628f13f1c8
cgen: minor optimization of `index_expr()` 2020-06-30 14:11:59 +02:00
joe-conigliaro a3086a2ef3 cgen: optimize generic struct name replacement (temp solution) 2020-06-30 13:45:52 +10:00
joe-conigliaro 73da3c9e4c
generic structs: better naming & comments 2020-06-30 09:22:15 +10:00
Louis Schmieder 616b07204d
vweb: add cookies with expire date 2020-06-29 21:14:36 +02:00
joe-conigliaro 7565fe595b
builder: generic struct fix - derive field type 2020-06-30 04:37:07 +10:00
nyaascii 3436ae99fc
picoev: add html() content-type method 2020-06-29 20:25:16 +02:00
Alexander Medvednikov 77e56aa3f9 cgen: fix string frees in calls 2020-06-29 20:20:35 +02:00
joe-conigliaro ab37dcaa9c
generic structs: initial implementation 2020-06-29 20:09:09 +02:00
Tim Basel 76176eddab
cli: calculate indent based on name length 2020-06-29 17:59:55 +02:00
Alexander Medvednikov 5b98cde811 cgen: free temp strings 2020-06-29 17:47:12 +02:00
yuyi 9d845262b7
parser: fix module type cast 2020-06-29 17:15:40 +02:00
yuyi c69ef876c5
os: remove `return none` in `fn()?` 2020-06-29 15:06:26 +02:00
Tim Basel 4a1ce3e1f5
cli: add pretty print for multiline descriptions 2020-06-29 14:47:20 +02:00
Ned Palacios 025652bb78
vdoc: dd .vdocignore + minor fixes 2020-06-29 11:03:09 +02:00
yuyi c588bdee5a
cgen: fix fn()? return 2020-06-29 11:02:40 +02:00
Delyan Angelov 1ba5996404 parser: fix interface functions with no params (ui examples) 2020-06-29 10:53:12 +03:00
Delyan Angelov b6e6cde3e8 parser: disallow fns with type only args and a body 2020-06-29 10:21:01 +03:00
ka-weihe 1b0b4be287
atof: fix is_space (#5555) 2020-06-29 09:23:51 +03:00
Delyan Angelov 8f1e8a9dde orm: cleanup test (put structs at top) 2020-06-28 22:10:49 +03:00
Alexander Medvednikov 3f59f23427 vweb: fix a leak 2020-06-28 19:55:53 +02:00
Alexander Medvednikov d2c508e9a9 checker: clean up 2020-06-28 19:44:41 +02:00
Alexander Medvednikov 219ecd18b5 orm: handle unknown tbale names 2020-06-28 19:01:30 +02:00
Alexander Medvednikov 3dea698c93 checker: do not register pseudo variables in sql queries 2020-06-28 18:56:11 +02:00
Alexander Medvednikov 9cbf572561 tests: fix a typo 2020-06-28 15:59:05 +02:00
Alexander Medvednikov 9feaff3464 x64: fix tests 2020-06-28 14:05:18 +02:00
Alexander Medvednikov 0138f46797 vweb: fix a leak 2020-06-28 13:56:38 +02:00
yuyi 05de780219
map: add map['aa']+='str' test 2020-06-28 13:34:59 +02:00
Delyan Angelov 9814497b91 vfmt: fix eating of sql x { ... limit 1 } 2020-06-28 14:27:53 +03:00
Delyan Angelov fa867578bc vfmt: fix segfault in update where the struct is not yet known 2020-06-28 14:07:28 +03:00
Delyan Angelov 0661273aad vfmt: add support for sql x {} expressions and statements 2020-06-28 13:36:21 +03:00
yuyi b924c6c4a9
cgen: minor opitimize `infix_expr` (#5547) 2020-06-28 11:35:49 +02:00
Delyan Angelov 13783aea70 vfmt: support for 'VDIFF_OPTIONS=-w' 2020-06-28 12:35:05 +03:00
yuyi d9409006fa
cgen: fix a[0]+='str' 2020-06-28 11:16:16 +02:00
Alexander Medvednikov e666209fe2 vweb: set_content_type() 2020-06-27 23:22:41 +02:00
Emily Hudson c84bafbdae
vlib,cgen: cleanup array inits using `.repeat() instead of new init syntax 2020-06-27 21:46:04 +02:00
Delyan Angelov 1e5a53abb3 sqlite: support for thirdparty/sqlite amalgamation install 2020-06-27 21:23:26 +03:00
Emily Hudson 1848eb0973
cgen,map: fix leaks in `keys()` and `for x in y` 2020-06-27 17:00:27 +02:00
Alexander Medvednikov 190f970544 checker: handle limit and offset 2020-06-27 16:41:29 +02:00
Alexander Medvednikov 3672cfad0b orm: offset test 2020-06-27 16:25:25 +02:00
Alexander Medvednikov f990a0b3d3 orm: offset 2020-06-27 16:22:41 +02:00
Alexander Medvednikov f073ffa4ad orm: limit 2020-06-27 16:19:12 +02:00
Louis Schmieder f8f2fa246e
orm: fix sql table names 2020-06-27 15:14:53 +02:00
Alexander Medvednikov 6a335c4416 fmt: run on parser/assign.v 2020-06-27 15:00:28 +02:00
Alexander Medvednikov 2bfe8e5153 vet: a basic version that just checks indentation for now 2020-06-27 14:50:07 +02:00
yuyi 58763ff299
map: remove unused `get2()` and `get3()` 2020-06-27 13:58:07 +02:00
Alexander Medvednikov 02b846aa72 vweb: fix json() and text() results 2020-06-27 13:56:15 +02:00
Uwe Krüger 8fe70a24a8
checker: forbid non-reference mut arg or receiver of go function 2020-06-26 23:31:38 +02:00
Tomas Hellström 993cd1467b
sync: own submodule for atomic 2020-06-26 23:31:03 +02:00
Alexander Medvednikov d52f1da7a2 orm: handle missing rows 2020-06-26 20:38:21 +02:00
Tomas Hellström def99bed02
sync: atomic counters 2020-06-26 20:04:17 +02:00
Emily Hudson 09236a438b
msvc: unique names for pdb files, remove test job limit 2020-06-26 17:16:15 +02:00
Delyan Angelov c83c5e7c61 os: use `return none` in functions returning `?` 2020-06-26 17:57:02 +03:00
joe-conigliaro 2440ffd013
cgen: always unwrap generic type. fix `x := &T{}` 2020-06-27 00:31:36 +10:00
Delyan Angelov 951f30853a os: fix rmdir on windows 2020-06-26 17:24:36 +03:00
Daniel Däschle 8903f6e0c0
tmpl: add docs for variables 2020-06-26 15:02:49 +02:00
Lukas Neubert 692ca8ac83
os: make all rm functions return an optional 2020-06-26 15:01:10 +02:00
jhuntos 20884c9576
pg: call PQclean in rows() 2020-06-26 11:55:59 +02:00
joe-conigliaro 202d479bad checker: fix typo in check_types.v 2020-06-26 15:05:07 +10:00
Alexander Medvednikov 9a713ff9b0 orm: handle more operators 2020-06-25 22:58:28 +02:00
Alexander Medvednikov aec7f2f6c4 checker: SqlStmt fixes 2020-06-25 22:37:40 +02:00
Uwe Krüger 46379d92f4
fmt: force break in front of long unbreakable parts, avoid very small sub-expressions 2020-06-25 22:24:28 +02:00
Alexander Medvednikov 328cb7ed7e orm: `update` with selectors and other fixes 2020-06-25 22:23:19 +02:00
Alexander Medvednikov 450c6e843c orm: `update` with multiple fields 2020-06-25 17:18:44 +02:00
Alexander Medvednikov b280e08ee0 orm: `update` cgen 2020-06-25 17:12:32 +02:00
Alexander Medvednikov a8b0dfb38a checker: allow casting strings to string aliases 2020-06-25 14:55:53 +02:00
Alexander Medvednikov ce6f687f65 checker: remove an unnecessary error for unexisting types 2020-06-25 14:51:58 +02:00
Alexander Medvednikov afa5a134b7 orm: move fields fetching to a separate function to remove copy pasta 2020-06-25 14:43:25 +02:00
yuyi f1e17f30f6
cgen: fix map_in error 2020-06-25 12:53:12 +02:00
yuyi 5e9c154376
os_api: cp/cp_all/... ?bool => ? 2020-06-25 12:06:47 +02:00
Alexander Medvednikov 786be1d1c3 orm: move type logic to checker, so that sql queries can be used before type def 2020-06-25 12:05:24 +02:00
Uwe Krüger a1bad50b2f
token: use only one representation for precedences 2020-06-25 11:36:13 +02:00
Uwe Krüger bdecbc1945
fmt: use `-1` for *really* no precedence, since `&` and `|` have precedence 0 2020-06-25 02:39:33 +02:00
ka-weihe 3bb6b6c8b2
map: comments and renaming 2020-06-24 23:31:19 +02:00
Alexander Medvednikov bb5793d485 vweb: more xss fixes 2020-06-24 22:38:25 +02:00
Alexander Medvednikov 83b300435a vweb: escape html; table: rename parent_typ to parent_type 2020-06-24 22:12:33 +02:00
yuyi 67d9d94fb3
map: fix m[a]++ etc 2020-06-24 20:41:26 +02:00
Lukas Neubert 955c0b1576
cgen: add 'link' to c_reserved 2020-06-24 20:40:56 +02:00
Uwe Krüger eb68c222fe
fmt: fix weird bug with tabs in string inpertolation 2020-06-24 20:40:29 +02:00
Alexander Medvednikov 9a77c0ab81 parser: fix the for loop check 2020-06-24 16:58:11 +02:00
Alexander Medvednikov 8ac00b8711 parser: check for loop key/val names 2020-06-24 16:54:21 +02:00
Alexander Medvednikov 4b0e606ae8 checker: fix the alias check 2020-06-24 16:52:23 +02:00
Alexander Medvednikov 9df29d0dd2 checker: do not allow {} for aliases; orm: update stmt 2020-06-24 16:35:18 +02:00
Uwe Krüger 0018e44102
fmt: further improvements by taking precedence into account for subexpressions 2020-06-24 15:19:30 +02:00
Alexander Medvednikov 9d0cc7912a fmt: re-run on gen/fn.v 2020-06-24 14:56:44 +02:00
Alexander Medvednikov e918f8faf2 fmt: re-run on checker.v and cgen.v 2020-06-24 14:44:06 +02:00
Alexander Medvednikov 11871d9544 fmt: re-run on parser.v and fmt.v 2020-06-24 14:35:00 +02:00
Alexander Medvednikov 090e6e936a orm: SqlStmt 2020-06-24 14:32:17 +02:00
Lukas Neubert 30169f86c1
os: make `rm` return an optional 2020-06-24 14:01:19 +02:00
Daniel Däschle 852fca2151
all: call anon fns right away 2020-06-24 12:54:39 +02:00
Alexander Medvednikov cf7ac7be7f cgen: zero_struct_field(); orm: zero un-inited fields 2020-06-24 12:53:39 +02:00
yuyi 5f36874c9b
vrepl: fix optional call 2020-06-24 12:45:48 +02:00
yuyi 514ee9d396
cgen: fix optional void return error 2020-06-24 12:45:15 +02:00
Uwe Krüger 56749877ea
fmt: fix handling of double quotes inside single quotes 2020-06-23 23:59:58 +02:00
Alexander Medvednikov 11ad18cd28 vweb: page gen time 2020-06-23 21:02:20 +02:00
Delyan Angelov fcd73bcb63 scanner: ignore CR signs in string literals 2020-06-23 21:10:58 +03:00
Alexander Medvednikov 74af88bc92 Revert "fmt: re-format parser.v and cgen.v"
This reverts commit 6b2808a3f9.
2020-06-23 18:16:24 +02:00
Alexander Medvednikov 6b2808a3f9 fmt: re-format parser.v and cgen.v 2020-06-23 18:05:53 +02:00
ka-weihe 4e447db883
parser/fmt: fix comments in structs/consts 2020-06-23 18:01:56 +02:00
Uwe Krüger 000eaca6be
fmt: avoid breaking lines with <= 100 characters 2020-06-23 17:54:39 +02:00
yuyi 7efb3ecb34
checker: check deprecated functions 2020-06-23 16:25:24 +02:00
Alexander Medvednikov db28796b5f orm: handle bool literals for older sqlite versions 2020-06-23 14:07:39 +02:00
Alexander Medvednikov 16dd889922 orm: test true/false 2020-06-23 13:59:00 +02:00
Alexander Medvednikov 076d0208cd cc: add -ldl and .o in cross builds 2020-06-23 12:57:06 +02:00
Alexander Medvednikov 63ef04e03e os: make write_file() return an optional 2020-06-23 11:41:23 +02:00
Alexander Medvednikov 3774ae0d91 orm: fix = 2020-06-23 11:41:23 +02:00
yuyi e2b5debc6b
checker: check optional type call 2020-06-23 11:39:58 +02:00
yuyi ed393896f5
checker: check printing of optional type 2020-06-23 11:38:30 +02:00
joe-conigliaro cff2874608
checker: fn arg - disallow any type with .str() to be passed as string 2020-06-23 08:51:18 +10:00
joe-conigliaro d19a33c420
sync: use Event for waitgroup on windows 2020-06-23 03:23:42 +10:00
Alexander Medvednikov a4b159a80f orm: order by id by default 2020-06-22 17:13:57 +02:00
Alexander Medvednikov e3f00ff28b orm: `limit 1` test 2020-06-22 16:58:43 +02:00
Alexander Medvednikov deb09d95b0 orm: fix `column == var`; limit 1; vweb: @footer 2020-06-22 16:52:16 +02:00
yuyi 73296e486a
parser: fix function return anon_fn without parentheses 2020-06-22 16:03:31 +02:00
Delyan Angelov b930a11203 parser: fix `match x { mod.constname {} }` handling 2020-06-22 16:16:39 +03:00
yuyi d232833573
gen: fix printing of generic arrays 2020-06-22 14:54:24 +02:00
Delyan Angelov cf4dc93e02 sync: run sync.pool without using concurrency features when VJOBS=1 2020-06-22 14:21:54 +03:00
Richard Warburton 640bbbae85
waitgroup: remove races, make platform independent, document 2020-06-22 11:07:34 +02:00
Alexander Medvednikov e65879d076 fmt: fix compilation 2020-06-21 23:23:31 +02:00
Alexander Medvednikov 011e26ca9a checker: check sum types in `match`; cross compilation fixes; orm fixes 2020-06-21 23:09:53 +02:00
yuyi 81c19517d1
cgen: add gen_str_for_multi_return 2020-06-21 17:53:13 +02:00
ka-weihe 7f225f2eaa
map: rename size to len 2020-06-21 16:51:02 +02:00
Delyan Angelov 0d6233cd45 net: support for s.max_single_send_size in Socket.send/2 2020-06-21 17:40:39 +03:00
Uwe Krüger 37927235cd
parser: trigger declaration of array element as error 2020-06-20 14:30:03 +02:00
Daniel Däschle 76dc7eea50
vweb: tmpl: add docs 2020-06-20 13:29:55 +02:00
spaceface777 a02aff9126
jsgen: fixes and improvements 2020-06-20 13:22:49 +02:00
joe-conigliaro ddd83f1fc6
checker: error if variable used before declaration 2020-06-20 12:42:08 +10:00
Alexander Medvednikov 1d8d19c977 vweb: return $vweb.html() 2020-06-20 03:12:38 +02:00
yuyi e41ddab3b0
test: add multiple array clone tests 2020-06-20 02:35:22 +02:00
yuyi e484fe15d3
tests: add nested array not equal tests 2020-06-20 02:34:49 +02:00
yuyi 4dc703af2d
cgen: fix nested array equality 2020-06-20 01:40:33 +02:00
JalonSolov bbd6d0b4e5
vweb: ignore url params on static files 2020-06-20 01:39:55 +02:00
Uwe Krüger 0338d4153a
fmt: make linebreak smarter by algorithm based on penalty 2020-06-19 19:54:26 +02:00
Alexander Medvednikov a609ff4659 orm: skip fields with [skip] 2020-06-19 17:35:50 +02:00
Swastik Baranwal 72b09d4794
term: add clear 2020-06-19 17:15:41 +02:00
Alexander Medvednikov 3cfeb92a4e cgen: fix tmp counter; orm: insert fixes 2020-06-19 17:05:57 +02:00
Alexander Medvednikov cd8392e42d orm: insert 2020-06-19 16:43:35 +02:00
Uwe Krüger c78cfa43bc
checker: make map literals have a real type 2020-06-19 15:00:27 +02:00
joe-conigliaro 7bc9e234a3
revert: checker: error if variable used before decleration p1 2020-06-19 21:37:09 +10:00
yuyi dc8b82e9a4
array: fix multiple array clone 2020-06-19 13:32:55 +02:00
joe-conigliaro 8a5ca4cbdc
checker: error if variable used before decleration p1 2020-06-19 21:31:33 +10:00
spaceface777 624005bbd0
tcc_win: fix tests 2020-06-19 12:54:56 +02:00
Alexander Medvednikov e8b21b4242 checker: type `x` does not support indexing 2020-06-19 12:53:53 +02:00
Alexander Medvednikov 5f5228f0f3 test: fix `as` checker test 2020-06-19 11:48:19 +02:00
Alexander Medvednikov d04554f0b7 all: more match updates 2020-06-19 11:46:08 +02:00
Alexander Medvednikov 274ecb71fa checker: `as` type test 2020-06-19 11:27:20 +02:00
Alexander Medvednikov d9dd9679e7 cgen: fix a typo 2020-06-19 11:16:51 +02:00
Alexander Medvednikov ef36520509 checker: check if the type in `as` exists, skip void type errors 2020-06-19 11:15:15 +02:00
yuyi 5a6d440f68
checker: check `array_insert` `array_prepend` type mismatch 2020-06-19 10:49:43 +02:00
Ned Palacios 5ff7d07138
vdoc: fix sorting + other minor improvements 2020-06-19 10:36:45 +02:00
Uwe Krüger 770132ff37
float: make default string representations for floats become alike 2020-06-18 22:33:41 +02:00
joe-conigliaro 1c68417918
parser: error on variable redefinition 2020-06-19 06:16:38 +10:00
spaceface777 68967e833d
parser: skip comp_if when building for a different compiler 2020-06-18 22:01:00 +02:00
Alexander Medvednikov 5ddb129bc2 checker: use the new match syntax 2020-06-18 20:38:59 +02:00
Alexander Medvednikov 78b32892ac cgen: use the new match syntax 2020-06-18 20:21:08 +02:00
Alexander Medvednikov d4b17fb0c3 fmt: use the new match syntax 2020-06-18 20:07:48 +02:00
Uwe Krüger 3b6e66db0d
fmt: further fixes for string interpolation and builtin macros 2020-06-18 18:48:23 +02:00
joe-conigliaro 812a9d646a
test: fix sumtype shadow & as test 2020-06-19 01:14:53 +10:00
joe-conigliaro 198fdcf1c6
test: change sumtype var shadow and as test 2020-06-19 01:10:16 +10:00
joe-conigliaro 3533335804
test: add match sumtype var shadow and `as` test 2020-06-19 01:06:40 +10:00