Commit Graph

10134 Commits (78d1b7f4efcc7969f2fe36e188fba619df7962d8)

Author SHA1 Message Date
yuyi 0ab4133128
cgen: minor cleanup in struct_init() (#14405) 2022-05-16 12:22:51 +03:00
spaceface 36bec823c2
checker: allow using methods as vars when expecting a ctx arg (#14414) 2022-05-16 12:05:08 +03:00
WoodyAtHome c2b763655d
net.smtp: handle UTF-8 subjects according to RFC 1342 (#14410) 2022-05-16 11:09:36 +03:00
Delyan Angelov 1cf683d482
checker: add a suggestion for misspelled mod.const_name + a test 2022-05-16 10:29:58 +03:00
Ben cbb24d34c9
os: fix is_abs_path function for Windows systems (#14397) 2022-05-16 09:59:37 +03:00
yuyi 7fe3ef9a6e
fmt: fix fmt error of anon fn with if expr (fix #14393) (#14413) 2022-05-16 09:48:21 +03:00
Larpon 5068b8b293
ftp: document all public methods (#14408) 2022-05-16 08:52:12 +03:00
Jah-On 02e026e298
clipboard: add `[heap]` tag to the Clipboard structs (#14412) 2022-05-16 08:45:40 +03:00
WoodyAtHome eeff02a8ee
net.openssl: read doesn't block infinitely (#14406) 2022-05-16 08:44:34 +03:00
spaceface c01a8a1737
checker,gen: allow using methods as function pointers (#14407) 2022-05-15 18:28:37 +03:00
Delyan Angelov c2bc9f4960
sync: only run channel_select_test.v when VTEST_RUN_FLAKY=1 2022-05-15 12:43:04 +03:00
crthpl e4065bd57b
checker,cgen: fix if expressions in lock expression (#14384) 2022-05-15 12:31:07 +03:00
David 'Epper' Marshall c28051020a
time: fix calculate_date_from_offset (#14399) 2022-05-15 10:55:24 +03:00
Delyan Angelov c70e18ea8f
ci: add a skip list in compiler_test.v (for tmpl_parse_html.vv) 2022-05-15 10:23:13 +03:00
David 'Epper' Marshall 8d141878ce
math: cbrt fix (#14395) 2022-05-14 21:06:38 +03:00
yuyi fe9f97074b
cgen: fix appending struct to interface array (#14388) 2022-05-14 17:49:42 +03:00
Alexander Medvednikov 3adad32355 tmpl: fix a test 2022-05-14 17:48:50 +03:00
Alexander Medvednikov b42c824cdb vweb: simplify @foo by removing V_TEMPLATE rule 2022-05-14 17:46:30 +03:00
j. redhead 441637eeb4
checker: fix optionals in infix expression check (fix #14354) (#14390) 2022-05-14 00:54:49 +03:00
Delyan Angelov 714ce4e7fc
ci: fix .out regression after d407a64 2022-05-13 11:18:17 +03:00
playX 6ec4185017
checker: allow to pass alias to array as a pointer (c2v) (#14389) 2022-05-13 10:17:28 +03:00
Daniel Däschle d407a6449d
parser: fix dollar (closes #14292) (#14378) 2022-05-13 08:30:10 +03:00
Delyan Angelov ed12a5c84c
math.big: reduce memory usage of Integer.str() (free intermediary Integers), optimise some operations using `[direct_array_access]` (#14353) 2022-05-13 08:21:34 +03:00
yuyi 3c95504a35
checker, cgen: fix generic fn with array and fixed array arguments (#14385) 2022-05-13 06:57:48 +03:00
Daniel Däschle d679146a80
fmt: remove space in front of ? and ! (#14366) 2022-05-13 06:56:21 +03:00
Delyan Angelov 8ef9dc6247
ci: run `v fmt -w vlib/v/checker/fn.v` (fix CI regression after 4952967) 2022-05-12 21:24:12 +03:00
Delyan Angelov 668d1b04d2
parser: make script mode errors more informative, when a top level declaration is encountered, after script mode had already started 2022-05-12 21:14:00 +03:00
Hunam 20139ad756
checker: fix typo (#14368) 2022-05-12 12:23:32 +03:00
playX 4952967366
checker: alias C2V fix (#14377) 2022-05-12 12:19:31 +03:00
yuyi f48f7014f0
checker: check error for generic sumtype types (#14374) 2022-05-12 11:57:57 +03:00
penguindark e93a8766e5
regex: fix #14370, last IST not managed in advance tests (#14372) 2022-05-12 11:49:57 +03:00
Delyan Angelov b7ca4c1668
checker: fix a compiler panic on `fntest()?(&int,&int){return test()?}` 2022-05-12 11:36:32 +03:00
yuyi 8830af5c89
rand: minor cleanup in choose() (#14376) 2022-05-12 11:20:38 +03:00
yuyi 5bc4fea9e0
checker: check error for cast function to string (#14375) 2022-05-12 10:04:38 +03:00
CC 901b8f0c24
builtin: add a map.clear() method (#14373) 2022-05-12 09:43:01 +03:00
spaceface 49382f1f43
gen: make the closure implementation more performant (#14352) 2022-05-12 00:05:14 +03:00
Emily Hudson c19b037880
net: select with deadlines (#14369) 2022-05-12 00:03:48 +03:00
yuyi cd4fa041ff
checker: check generic sumtype declare error (#14367) 2022-05-11 17:39:58 +03:00
Larpon 34a252ef84
os: add `raw_execute` on Windows (#14363) 2022-05-11 16:56:03 +03:00
David 'Epper' Marshall 26b81d68b5
time: update doc comments (#14359) 2022-05-11 16:55:19 +03:00
Larpon 0ec1c8d9f0
szip: expose zip_folder (#14356) 2022-05-11 16:48:41 +03:00
yuyi 3afc7c4c6d
parser: check error for generic struct parameter (#14362) 2022-05-11 13:24:54 +03:00
Delyan Angelov cf536b848b
Revert "strings: reduce time spent in Builder.writeln (very frequently called)"
This reverts commit b53b1cc7cb.
2022-05-11 09:19:37 +03:00
yuyi 8f765ed5f1
checker: minor cleanup and speedups in fn_call() (#14343) 2022-05-10 16:41:47 +03:00
yuyi 5697d4375b
cgen: fix error for printing aliases of multi fixed array (#14348) 2022-05-10 14:03:18 +03:00
yuyi 606d8cfaca
checker: check error for returning aliases of fixed array (#14349) 2022-05-10 14:01:55 +03:00
Isaiah 9e09b709e3
net.http: fix crash on Windows when using Boehm GC (#14351) 2022-05-10 14:00:55 +03:00
yuyi 940c78bdfd
checker: minor cleanup in method_call() (#14342) 2022-05-09 18:01:44 +03:00
Subhomoy Haldar 79f8a3c796
rand: update README.md (#14341)
* update README for rand module

* use concrete values

* make sure code works
2022-05-09 17:59:20 +03:00
StunxFS d24dce8eb3
parser,checker: support `$compile_error('message')` and `$compile_warn('message')` (#14320) 2022-05-09 08:18:26 +03:00
Dialga 4400f9891e
szip: fix extracting dot folders (#13387) 2022-05-09 07:45:36 +03:00
yuyi 8519996201
checker: fix error for match sumtype that referenced before (#14338) 2022-05-09 07:32:51 +03:00
Merlin Diavova 106487d62f
pg: resolve PG string datetime values to V time.Time ones (#14336)
Co-authored-by: Merlin Diavova <md@merlindiaova.org>
2022-05-08 15:37:46 +03:00
David 'Epper' Marshall 650fb493bd
regex: add split (#14329) 2022-05-08 15:21:39 +03:00
Delyan Angelov 084f2867b6
time: let time.parse_rfc3339('2015-01-06T15:47:32.080254511Z') succeed (dockerd timestamps, Go's RFC3339Nano). 2022-05-08 14:54:57 +03:00
WoodyAtHome a0a3499bdc
net.smtp: correct date in smtp body (#14326) 2022-05-08 09:15:45 +03:00
Merlin Diavova f8747d05dc
pg: add type 18 for pg boolean data type (#14335) 2022-05-08 07:17:43 +03:00
StunxFS d5e70552eb
checker: check error for `json.decode` (fix #6732) (#14305) 2022-05-08 07:17:11 +03:00
David 'Epper' Marshall aef95721a4
strings: builder: add clear (#14328) 2022-05-08 07:15:42 +03:00
yuyi b04d46770b
ast, checker, cgen: fix error for generic method with generic fn type argument (fix #14239) (#14333) 2022-05-07 20:22:20 +03:00
yuyi 724e7f037a
cgen: fix error for if cond with optional expr (#14334) 2022-05-07 20:20:00 +03:00
David 'Epper' Marshall a91226c376
docs: cleanup (#14327) 2022-05-07 20:18:42 +03:00
Delyan Angelov b53b1cc7cb
strings: reduce time spent in Builder.writeln (very frequently called) 2022-05-07 12:55:41 +03:00
Delyan Angelov 7ecd65221e
v.util: support -d trace_cached_read_source_file 2022-05-07 12:55:41 +03:00
Delyan Angelov 56cf0b0a2e
builtin: inline manually isnil calls in array.push_many (very frequently called) 2022-05-07 12:55:40 +03:00
Delyan Angelov 7f974a275a
docs: fix `teh` typo 2022-05-07 12:55:40 +03:00
Alexander Medvednikov ca42ace367 Revert "checker: remove more unnecessary `void` errors"
This reverts commit 89c1e7f980.
2022-05-07 11:03:12 +03:00
Alexander Medvednikov 35cfa0da7c doc: closures work on arm64 too 2022-05-07 11:02:53 +03:00
playX 6a6c005dc0
checker: c2v fixes (#14332) 2022-05-07 09:50:41 +03:00
Alexander Medvednikov 89c1e7f980 checker: remove more unnecessary `void` errors 2022-05-07 09:09:18 +03:00
yuyi 70184ad1f8
scanner: minor simplification in scanner.v (#14331) 2022-05-07 08:30:15 +03:00
Alexander Medvednikov 14f06ead1b cgen: fix c2v consts; enum_decl() 2022-05-07 00:58:37 +03:00
yuyi 621574c12a
checker: fix error for generic method on nested struct (#14322) 2022-05-07 00:51:04 +03:00
Hunam 0699f324b5
builtin: add `map.values()` (#14301) 2022-05-06 20:42:01 +03:00
Lathanao ce99a306c0
net.http: make parse_form return POST requests with json data as a map with a `json` key, containing the json payload (#14289) 2022-05-06 20:23:36 +03:00
Ekopalypse 2027a1969b
v.builder: harmonise the default settings of the different Windows compilers (#14314) 2022-05-06 19:28:13 +03:00
Daniel Däschle 76cdf75299
builtin,cgen: rename `Option` to `_option` (#14317) 2022-05-06 19:25:54 +03:00
yuyi 45fe87c9e3
checker: minor cleanup in fn_call() (#14307) 2022-05-05 21:15:54 +03:00
yuyi 3091f31019
checker: check for optional argument in dump() (#14316) 2022-05-05 21:15:22 +03:00
Andréas Livet 9fde5b067b
docs: add missing function names in the `builtin` example doc comments (#14318) 2022-05-05 17:22:25 +03:00
Daniel Däschle 89fe82b732
checker: fix returning error on reference results (#14313) 2022-05-05 17:02:49 +03:00
yuyi b6058bfd6e
parser, checker: fix generic method on nested struct (fix #14089) (#14310) 2022-05-05 11:24:20 +03:00
playX 8afdb1c3ef
checker: c2v: allow passing fixed array as pointer to functions; bool <-> int (#14309) 2022-05-05 11:23:57 +03:00
StunxFS 7499506cf8
.gitignore: minor cleanup (#14279) 2022-05-05 10:17:24 +03:00
Delyan Angelov 7170a09382
vfmt: fix stackoverflow on long nested infix expressions 2022-05-05 07:41:43 +03:00
Ned 76a7354506
builtin: add libbacktrace as option for generating stack traces (#14277) 2022-05-04 21:17:05 +03:00
yuyi 4242e7610f
checker: add comptime_selector() (#14286) 2022-05-04 19:25:58 +03:00
yuyi e2aa5c9b3f
parser: make peek_token_after_var_list() private (#14288) 2022-05-04 19:25:45 +03:00
Ikko Ashimine 223b96a59a
builtin: fix typo in array_bare.v (#14299) 2022-05-04 19:25:17 +03:00
Delyan Angelov 1a4d9017e2
builtin: improve support for large arrays (`[]int{len: 1_000_000_000}` now works), fix an arr.repeat() bug (#14294) 2022-05-04 18:42:06 +03:00
yuyi ac90a2b53d
checker: check error for fn call argument mismatch (fix #14280) (#14283) 2022-05-04 12:13:22 +03:00
playX 3bd6455178
checker: allow rune->any int and vice versa when translated (#14285) 2022-05-04 12:08:34 +03:00
Alexander Medvednikov 3d4b8dffdf checker: temporary c2v const fix 2022-05-04 08:28:27 +03:00
yuyi f321422964
checker, cgen: check comptime selector that has no field name (#14282) 2022-05-04 07:06:52 +03:00
Alexander Medvednikov 1e9156fd71 checker: c2v rune comparison fix 2022-05-04 06:49:45 +03:00
yuyi 3732db2bcc
cgen: cleanup in gen_array_contains_methods() (#14274) 2022-05-03 20:46:07 +03:00
playX 146051b231
checker: allow fixed array to pointer and vice versa when translated (#14275) 2022-05-03 20:44:45 +03:00
Delyan Angelov 04a77c731e
tests: add `// vtest flaky: true` to atomic_test.v 2022-05-03 20:42:12 +03:00
yuyi 63eacede95
checker: check argument mismatch of array.filter/all/any() (#14273) 2022-05-03 16:56:18 +03:00
yuyi 276bd8060c
cgen: fix error for fixed array in operate (#14269) 2022-05-03 12:45:04 +03:00
Delyan Angelov 0e5c1cee48
builtin: improve musl/Alpine support (define weak backtrace/backtrace_symbols/backtrace_symbols_fd symbols) (#14250) 2022-05-03 09:17:53 +03:00
Delyan Angelov 4da2908d63
vdoc: fix panic on empty `//` comment on `v doc -f html file.v`; turn `expected code block after empty example` to a warning 2022-05-03 00:02:12 +03:00
Delyan Angelov ab1c265679
builtin: add missing panic_result_not_set/1 callback function. 2022-05-02 22:40:26 +03:00
spaceface db185598d2
checker: refactor comptime_if_branch (#14259) 2022-05-02 22:24:20 +03:00
yuyi 990afe37e1
checker: fix a bug in generics array init (#14258) 2022-05-02 16:18:33 +03:00
yuyi d72a25098a
parser: minor cleanup in interface_decl() (#14257) 2022-05-02 16:17:46 +03:00
yuyi 25c1b174ca
checker: fix generic fn infering fn type argument (fix #14243) (#14256) 2022-05-02 16:17:27 +03:00
yuyi b9cf2db6a8
parser: fix inline array's element access (#14253) 2022-05-02 16:16:32 +03:00
playX afbe6bf3a2
cgen: fix const decl gen when translated (#14255) 2022-05-02 15:01:59 +03:00
Isaiah a4fd349cf1
builder: allow `-compress` to work on windows too, when `upx` is installed (#14252)
Allow `-compress` flag on Windows if upx is installed. If upx not installed, same behavior as on linux/mac
2022-05-02 14:28:31 +03:00
yuyi 968d2b4654
cgen: fix fixed array init with `it` (#14251) 2022-05-02 02:00:45 +03:00
spaceface 332e821518
checker, gen: add support for a [minify] struct attribute (#14247) 2022-05-02 01:59:17 +03:00
David 'Epper' Marshall 91c1157810
time: relative update (#14240) 2022-05-01 10:47:05 +03:00
Daniel Däschle ec92d467d1
cgen: fix unsafe return error (#14233) 2022-04-30 17:31:28 +03:00
playX 0b54196962
checker: allow pointer index for translated code (#14231) 2022-04-30 17:30:55 +03:00
Daniel Däschle 9f8a34a528
all: rename result to _result (#14232) 2022-04-30 17:10:30 +03:00
Delyan Angelov 5277ce7dce
tests: support for marking _test.v files with `// vtest flaky: true`, to reduce false positives from the CI 2022-04-30 13:30:02 +03:00
David 'Epper' Marshall a2338dbb7c
docs: document more `builtin` functions/methods (#14229) 2022-04-30 12:31:23 +03:00
spaceface dab649ec8a
cgen: rewrite the closure implementation (#14223) 2022-04-30 09:32:46 +03:00
Alexander Medvednikov ce31a01a70 checker: allow voidptr arithmetic in translated code 2022-04-30 05:52:37 +03:00
yuyi cd30b6ea82
parser: make sure interface field names use uppercase letters (#14228) 2022-04-30 05:29:33 +03:00
Daniel Däschle 08fd0ce0de
all: basic implementation of result type (#14140) 2022-04-30 01:59:14 +03:00
StunxFS db185e6580
checker: check for reserved type names in `for in` (fix #14072) (#14212) 2022-04-30 01:25:29 +03:00
David 'Epper' Marshall 881d0c04f1
time: add custom formatter (#14202) 2022-04-29 15:57:08 +03:00
yuyi ec865cfb37
parser: check interface methods name (fix #14217) (#14218) 2022-04-29 15:48:03 +03:00
yuyi 317acfda97
checker: check struct field name using uppercase letters (#14220) 2022-04-29 14:57:14 +03:00
Wertzui123 872f739396
builtin: ignore C++ 0xE06D7363 exception errors on windows (#14225) 2022-04-29 14:55:29 +03:00
StunxFS 995485c649
builtin: add `string.len_utf8()` method (#14208) 2022-04-29 10:23:57 +03:00
StunxFS 8b798acadd
cgen: fix use of C reserved words inside `defer` statement (fix #14101) (#14211) 2022-04-29 08:04:59 +03:00
Alexander Medvednikov 77645fcf35 builtin: define atoi & ftell 2022-04-29 04:31:51 +03:00
spaceface 14309594fe
ast: add a type_size() method (#14213) 2022-04-28 23:35:10 +03:00
StunxFS e24482a143
transformer: minor optimization for `'string literal'.len` (#14207) 2022-04-28 22:35:16 +03:00
playX e56385d57d
checker: disable op overloading on structures for translated code (#14209) 2022-04-28 20:46:46 +03:00
yuyi 7aca67fb60
ast, parser: fix complex map init (#14206) 2022-04-28 17:37:19 +03:00
yuyi dd94ab890a
cgen: fix go anon fn call with ref argument (fix #14192) (#14197) 2022-04-28 14:43:20 +03:00
yuyi c802688690
ast: fix error for complex map operating (#14204) 2022-04-28 13:20:56 +03:00
Atom a225b25117
arrays: rephrase doc string (#14205) 2022-04-28 13:17:53 +03:00
Delyan Angelov 4538efd8f4
eval: small cleanup in the handling of `$if platform {` 2022-04-28 13:15:09 +03:00
Delyan Angelov e0ed8f8278
eval: make the interpreter backtrace more efficient and informative. 2022-04-28 12:31:30 +03:00
Delyan Angelov f72297c331
eval: add support for C.read/3, C.malloc/1, `$if openbsd {` 2022-04-28 11:30:36 +03:00
Delyan Angelov be04ec0620
pref: add support for `-thread-stack-size 4194304` (default set to 8MB) (#14168) 2022-04-28 08:46:33 +03:00
yuyi 7dd5d9ee61
checker: fix error for array of sumtype appending literal value (#14200) 2022-04-28 08:44:30 +03:00
yuyi 09f8b6a380
checker: check error in for_c_stmt with optional call (#14190) 2022-04-28 08:43:16 +03:00
tzSharing eb03fad934
gg: improve some loops in draw_rounded_rect* methods (#14195) 2022-04-27 22:57:48 +03:00
Delyan Angelov f53b9b4f12
ci: fix tcc compilation of atomic_test.v 2022-04-27 22:50:18 +03:00
Alexander Medvednikov 7dbfa86f25 all: atomic int fixes 2022-04-27 18:31:21 +03:00
yuyi 82ac39eca6
math: fix error for math.abs(0.0)/math.abs(0) (related #14165) (#14191) 2022-04-27 13:23:37 +03:00
yuyi 752e105f25
cgen: fix error for generic sumtype casting to typenode (#14188) 2022-04-27 11:32:43 +03:00
tzSharing 85f616877f
gg: fix gg.draw_rounded_rect_empty() graphical abnormalities and some optimizations (#14186) 2022-04-27 11:22:57 +03:00
playX b76095f28a
checker: allow + - * on pointers for translated code (#14183) 2022-04-26 21:00:44 +03:00