JalonSolov
7145461cc5
arrays: switch panics to optionals ( #11497 )
2021-09-15 15:17:55 +03:00
Ekopalypse
41fc4c55c6
v.builder: simplify target architecture logic for msvc ( #11491 )
2021-09-14 17:47:26 +03:00
ChAoS_UnItY
0c0e28df6e
arrays: add more modern array operation functions ( #11488 )
2021-09-14 16:49:23 +03:00
yuyi
9554470985
checker, cgen: fix generic operator overload of 'cmp' ( #11489 )
2021-09-14 16:20:02 +03:00
yuyi
8862c3af0f
all: implement `if foo in [Foo1, Foo2, Foo3]` ( #11486 )
2021-09-14 15:56:12 +03:00
Alexander Medvednikov
12ec900d20
checker: fix the void type check
2021-09-14 01:02:32 +03:00
Daniel Däschle
b63ec8fbcf
checker: require `params` attribute to use struct as keyword arguments in function ( #11135 )
2021-09-14 00:05:30 +03:00
Alexander Medvednikov
ae41d1d3c6
builtin, cgen: more -nofloat fixes
2021-09-13 19:06:19 +03:00
Alexander Medvednikov
8fc0b486a2
builtin: fix string interpolation when compiling with -nofloat
2021-09-13 18:40:32 +03:00
Alexander Medvednikov
c99281709b
pref: define nofloat comptime define
2021-09-13 18:35:21 +03:00
Alexander Medvednikov
04d4431299
checker: remove another unnecessary error
2021-09-13 18:35:08 +03:00
Alexander Medvednikov
cfcc57f5d3
checker: remove unnecessary "no methods" error; builder: skip float.c.v with -nofloat
2021-09-13 18:14:26 +03:00
ChAoS_UnItY
2ced845e30
arrays: add chunk and window functions ( #11476 )
2021-09-13 16:13:32 +03:00
playX
b9dfc89aa9
js: prefix V builtin functions, so they do not overlap with JS ( #11483 )
2021-09-13 11:44:55 +03:00
Ulises Jeremias Cornejo Fandos
480fe8041a
math.stats: update math.stats using generics ( #11482 )
2021-09-13 10:20:38 +03:00
yuyi
30029eaf5d
checker, cgen: fix generic operator overload ( fix #11472 ) ( #11479 )
2021-09-13 09:49:28 +03:00
Enzo
012da10517
ast, fmt: cleanup ( #11477 )
2021-09-13 04:08:58 +03:00
yuyi
cd7d482c3b
checker: fix generic array append ( #11475 )
2021-09-12 15:09:11 +03:00
Enzo
ccf6285f82
checker: allow mut arg on C functions ( #11430 )
2021-09-11 14:25:38 +03:00
playX
5b619b99c2
v.gen.js: Interfaces support, fix for error propagation & panic stacktraces ( #11471 )
2021-09-11 14:24:47 +03:00
Alexander Medvednikov
90e04d03b2
net.http: fix request_test.v
2021-09-11 06:16:00 +03:00
Ekopalypse
f9eb14d914
builder: remove fPic argument from windows builds ( #11467 )
2021-09-11 04:48:02 +03:00
zakuro
fb20a92b1e
fmt: fix a bug that break generics call in string inter ( #11468 )
2021-09-11 04:47:22 +03:00
Alexander Medvednikov
1546090131
vweb: remove a duplicate function parse_multipart_form
2021-09-11 04:21:10 +03:00
playX
07bd61582c
js: fix strconv build, BigInt infix fix ( #11464 )
2021-09-11 00:11:36 +03:00
Enzo
c8471528ce
fmt: format long sum-types with a line for each type ( #11461 )
2021-09-10 20:56:55 +03:00
Alexander Medvednikov
5c4385a472
cgen: nofloat for kernel code
2021-09-10 20:54:48 +03:00
Daniel Däschle
be0c54caf9
checker: require or block for sumtype map ( #11089 )
2021-09-10 16:07:39 +03:00
yuyi
af75789bbf
parser: fix reference var followed by block expr ( #11456 )
2021-09-10 15:31:09 +03:00
yuyi
91c6eeeae5
cgen: fix `b := &[5, 6, 7]` ( #11457 )
2021-09-10 14:30:30 +03:00
Delyan Angelov
bdd053fcf1
v.builder: fix `./v examples/v_script.vsh` on windows (this quickfix is thanks to yuyi98)
2021-09-10 12:30:40 +03:00
Delyan Angelov
7143b8ab37
v.checker: allow assigning pointers to fn variables (fix vinix compilation)
2021-09-10 11:48:36 +03:00
Alexander Medvednikov
afeb1525a1
native: rename cgen to code_gen to avoid confusion with cgen
2021-09-10 03:17:53 +03:00
Alexander Medvednikov
0370d4f268
native: fix macho test
2021-09-09 23:00:54 +03:00
Dialga
66ef27a776
tmpl: fix escaping @ ( #11452 )
2021-09-09 20:27:24 +03:00
Alexander Medvednikov
ab3adf3346
checker: no longer allow automatic dereferncing in `a = b`
2021-09-09 20:21:01 +03:00
Alexander Medvednikov
d1e9aa49ea
net.http: in memory cert verification
2021-09-09 19:55:57 +03:00
Vincent Laisney
c8d4a64512
math.big: fix subtract_digit_array ( #11451 )
2021-09-09 14:56:20 +03:00
Enzo
1a2d5f65fb
builtin: add `size_t.str()` again ( #11446 )
2021-09-09 10:50:35 +03:00
Enzo
e57b068df0
os: add `open_uri/1`, use it in `v bug` ( #11450 )
2021-09-09 10:48:53 +03:00
Delyan Angelov
4faa0f8487
v.checker: add checks for `.free()` methods
2021-09-09 09:54:06 +03:00
playX
72089c4feb
js: use prefixed names for functions and global symbols ( #11387 )
2021-09-08 20:30:46 +03:00
Subhomoy Haldar
96d4a0777f
math.big: fix comparison and add tests ( #11449 )
2021-09-08 20:30:20 +03:00
Alexander Medvednikov
4a2728e1bf
checker: verify json.decode type
2021-09-08 14:49:02 +03:00
Alexander Medvednikov
55451baa03
builtin: i32 alias
2021-09-08 14:49:02 +03:00
yuyi
e5360e164a
fmt: remove unnecessary parentheses after `return` ( fix #11423 ) ( #11435 )
2021-09-08 14:19:53 +03:00
Enzo
bef3390f36
builtin: fix compilation ( #11445 )
2021-09-08 14:19:21 +03:00
Vincent Laisney
43fae5de74
bigint: division ( #11386 )
2021-09-08 14:16:35 +03:00
Enzo
56ad5d72ef
builtin: add `.str` method for `i/usize` ( #11441 )
2021-09-08 13:41:08 +03:00
Enzo
e3b65092d6
parser: deprecate `size_t` ( #11443 )
2021-09-08 13:09:32 +03:00
Ruofan XU
892971024e
parser: fix generic detection of `foo < bar<T>()` ( #11434 )
2021-09-08 05:54:15 +03:00
Enzo
cc8ee5fb84
all: introduce `isize` and `usize` ( #11437 )
2021-09-08 05:53:39 +03:00
Alexander Medvednikov
577fedfce1
net.http: fix a bug with ? in new_request
2021-09-08 05:11:02 +03:00
Dialga
00433ba460
net.urllib: avoid a double free in set_path() when compiled with -autofree ( #11427 )
2021-09-07 21:11:03 +03:00
Enzo
79c2bca401
v.scanner: fix error messages with unexpected token `?` ( #11428 )
2021-09-07 20:46:56 +03:00
yuyi
bee5e7de03
v.gen.c: fix generics array delete ( #11429 )
2021-09-07 20:40:21 +03:00
pancake
ddc62ab0d3
native: native prints ( #11426 )
2021-09-07 15:44:15 +03:00
Delyan Angelov
0b6d585b07
v.gen.c: allow overriding of the == operator on C.Struct type aliases
2021-09-07 12:02:01 +03:00
Delyan Angelov
aec016bb14
v.builder: change exit code of `v -check file.v` to 0, when file.v is clean from any errors.
2021-09-07 07:29:45 +03:00
Ned Palacios
aedb6b8e84
v.builder: implement a `-check` mode, that runs only the parser + the checker, without codegen ( #11414 )
2021-09-07 07:17:53 +03:00
Xavier Noria
2533f06e1b
regex: define the predicate matches_string ( #11422 )
2021-09-07 07:01:23 +03:00
Dialga
905c292a81
tmpl: enforce stricter line checking for html interpolation ( #11413 )
2021-09-07 02:21:23 +03:00
penguindark
bd10a63839
builtin: string interpolation: binary format support ( #11421 )
2021-09-07 00:12:54 +03:00
Delyan Angelov
f5a22f15d9
time: fix `./v -o vcross -os cross cmd/v` on macos
2021-09-06 19:50:16 +03:00
Delyan Angelov
c6ff687e8a
term: do not put the unused c_line field in C.termios in declarations_linux.c.v (breaks BSD build)
2021-09-06 19:15:47 +03:00
Delyan Angelov
166dd61e90
Revert "Revert "term: obtain the cursor position via termios.h ( #11372 )""
...
This reverts commit 0376cbf6bd
.
2021-09-06 19:04:14 +03:00
Alexander Medvednikov
0376cbf6bd
Revert "term: obtain the cursor position via termios.h ( #11372 )"
...
This reverts commit af28d09630
.
2021-09-06 18:21:55 +03:00
AAAA
af28d09630
term: obtain the cursor position via termios.h ( #11372 )
2021-09-06 17:24:39 +03:00
Lathanao
78c26e69cf
builtin: fix the string.index_any method ( #11310 )
2021-09-06 15:06:37 +03:00
yuyi
6084c0fc54
checker, cgen: fix complex generic sumtype ( fix #11392 ) ( #11400 )
2021-09-06 03:15:53 +03:00
Dialga
87f38bf6e7
tmpl: don't trim whitespace and escape \ ( #11393 )
2021-09-06 03:12:53 +03:00
penguindark
438bdd1b0b
regex: fix #11404 ( #11406 )
2021-09-06 03:11:38 +03:00
Wertzui123
e5c4c408b5
readline: fix typo ( #11405 )
2021-09-06 03:11:25 +03:00
Alexander Medvednikov
71f1be5388
checker: fix a typo
2021-09-05 18:46:14 +03:00
yuyi
3fd2dd45a4
checker: do now allow type name shadowing ( #11401 )
2021-09-05 18:34:21 +03:00
zakuro
aefe267970
fmt: fix removal of selective imported generic type ( #11395 )
2021-09-05 17:59:35 +03:00
Delyan Angelov
6b55b6d417
ci: add more details for diagnosing the sporadically failing init_global_test.v
2021-09-05 16:19:00 +03:00
yuyi
48e65a7bb2
checker: check type in match range ( fix #11337 ) ( #11389 )
2021-09-05 04:50:43 +03:00
penguindark
724942c4e6
regex: bug fixes ( #11394 )
2021-09-05 04:48:59 +03:00
yuyi
87934ecf39
cgen: fix variable name are 'array' or 'string' ( fix #10991 #11343 ) ( #11378 )
2021-09-04 19:51:45 +03:00
AAAA
289e77d51b
term: group related functions ( #11371 )
2021-09-04 19:49:47 +03:00
yuyi
5181031480
builtin: check array.sort_with_compare() arg mismatch ( #11385 )
2021-09-04 15:02:05 +03:00
Dialga
9b983bdd95
net.urllib: fix double free in escape() ( #11390 )
2021-09-04 14:57:09 +03:00
yuyi
923ef733c0
checker: disallow array sort with fancy args for now ( #11388 )
2021-09-04 14:34:29 +03:00
zakuro
19a43db2de
fmt: fix removal of comment before embed in struct ( #11384 )
2021-09-04 11:02:04 +03:00
Delyan Angelov
91f7be98d0
builtin.js.v: run vfmt
2021-09-03 14:13:36 +03:00
Delyan Angelov
96ef553f59
checker: check sumtype common fields for mutability when assigning too
2021-09-03 13:33:25 +03:00
playX
a4df418a68
js: support `[export: 'AnotherName']` for FnDecl codegen ( #11377 )
2021-09-03 13:00:24 +03:00
yuyi
67ab5b858b
checker: fix checking fn prototype mismatch ( #11369 )
2021-09-03 12:26:46 +03:00
yuyi
939a6417ce
cgen: fix reserved keywords as struct field ( #11370 )
2021-09-03 12:18:45 +03:00
playX
08c517c966
strconv,v.gen.js: proper optionals returns, strconv compiles to the JS backend ( #11364 )
2021-09-03 12:16:07 +03:00
Larpon
bd33eaa3b8
os: add function to expand "~" to home directory ( #11362 )
2021-09-01 16:32:28 +03:00
penguindark
63ff5690ff
sokol.sapp,gg: add support for drag & drop events ( #11359 )
2021-09-01 09:21:27 +03:00
Delyan Angelov
56993b9e2d
net.http: support passing client certificates in http.fetch ( #11356 )
2021-09-01 01:43:35 +03:00
Enzo
d1974f500f
cgen: cleanup `Gen.cc_type` ( #11357 )
2021-08-31 23:55:37 +03:00
Adam Oates
1b262c4f1d
vweb: show correct page on http error 404 ( #11355 )
2021-08-31 21:36:26 +03:00
Subhomoy Haldar
dadfda9400
math.big: implement big.integer in V ( #11352 )
2021-08-31 19:21:00 +03:00
playX
f8aaf4bf67
js: fix strings module ( #11353 )
2021-08-31 17:10:19 +03:00
Delyan Angelov
a208138283
v.markused: support a const used as default value in struct init
2021-08-31 15:55:32 +03:00
Delyan Angelov
f68bdb7805
v.markused.walker: support `for x in struct{}` iterators
2021-08-31 15:15:05 +03:00
Delyan Angelov
37b4553f52
v.parser: fix running `math` programs, from V installed in folders containing `.v`
2021-08-31 09:16:12 +03:00
zakuro
ebed01c946
v.tests: add a test_ fn, that returns an optional ( #11340 )
2021-08-31 08:50:26 +03:00
Alexander Medvednikov
b72a2de931
0.2.4
2021-08-30 22:25:14 +03:00
playX
a9b705bfd8
js: fix printing, make builtins for result and option types behave correctly ( #11336 )
2021-08-30 20:47:18 +03:00
Delyan Angelov
f33f216698
v.markused: fix compilation with `-prod -skip-unused` of programs that embed files
2021-08-30 17:57:33 +03:00
penguindark
8dcb27a11d
sokol: expose the toggle_fullscreen and is_fullscreen functions ( #11339 )
2021-08-30 17:10:14 +03:00
Delyan Angelov
9496fcdfe1
v.builder: fix compilation with tcc on FreeBSD 13.0
2021-08-30 13:21:49 +00:00
yuyi
f44eb88a8d
vfmt: fmt '!(a in/is b)' to 'a !in/is b' ( #11335 )
2021-08-30 09:45:36 +03:00
playX
61ac7b671d
js: add initial support for optional types, IfGuardExpr codegen for `if` ( #11332 )
2021-08-29 14:27:17 +03:00
yuyi
985fe85de2
checker: show concretes type name in error message ( #11333 )
2021-08-29 12:08:57 +03:00
Daniel Däschle
ac442abc11
checker: allow noreturn in match expr ( #11126 )
2021-08-29 11:57:11 +03:00
yuyi
4ce9ad6a56
util/module: fix mod_path_to_full_name() ( #11329 )
2021-08-29 11:56:05 +03:00
yuyi
8be2be8311
all: change 'if !(a in b)' to 'if a !in b' ( #11330 )
2021-08-29 11:55:18 +03:00
playX
118c5fdcd8
js: fix -stats compilation of tests, proper alias codegen ( #11327 )
2021-08-28 16:57:33 +03:00
Delyan Angelov
f41939f005
ci: fix deprecations.out (time is now > 2021/08/28 00:00:00)
2021-08-28 13:02:59 +03:00
Alexander Medvednikov
cf4081e2dd
all: more chdir/chmod fixes
2021-08-28 12:52:48 +03:00
yuyi
e90a624738
checker: fix generic fn infer variadic parameter with arrays ( #11324 )
2021-08-28 10:32:51 +03:00
Alexander Medvednikov
f731060caf
all: update chmod/chdir usages
2021-08-28 10:23:01 +03:00
Alexander Medvednikov
29f550158e
all: update chdir usages
2021-08-28 09:39:18 +03:00
Alexander Medvednikov
853d3cb83e
os: make chmod() return error
2021-08-28 09:37:24 +03:00
Alexander Medvednikov
858ba25d55
os: make chdir() return error
2021-08-28 09:35:39 +03:00
Larpon
e85311c2ba
gg: change draw_cubic_bezier* call signatures for speed and to match *_poly ( #11323 )
2021-08-27 16:52:05 +03:00
William Gooch
4d5521bbf7
scanner: clarify the float literal warning ( #11313 )
2021-08-27 16:49:29 +03:00
Delyan Angelov
c954c2834a
net: add `-d trace_tcp` support for more TcpConn methods; support again `-d net_blocking_sockets` too
2021-08-27 13:10:34 +03:00
crthpl
a85467eb0f
cgen: fix `expr in shared_array` ( #11319 )
2021-08-27 11:48:32 +03:00
Delyan Angelov
16455a7660
fmt: preserve local fn parameter, when a module const with the same name is declared
2021-08-27 09:22:53 +03:00
playX
bdf11d969a
js: add basic support for running tests, fix string.replace_each ( #11314 )
2021-08-26 15:20:54 +03:00
Delyan Angelov
db194abeac
os: merge os.c.v and os_c.c.v
2021-08-26 10:01:55 +03:00
yuyi
187c1c160b
parser: minor cleanup in comp_call() ( #11311 )
2021-08-26 07:57:10 +03:00
yuyi
b635ff80de
fmt: format '1.' to '1.0' ( #11312 )
2021-08-26 07:18:27 +03:00
Alexander Medvednikov
714fa3215c
scanner: make the 1. float error a warning for now
2021-08-25 16:58:54 +03:00
playX
109d5d5847
js: `os` now compiles to the JS backend, more builtins & minor codegen fixes ( #11302 )
2021-08-25 14:40:53 +03:00
yuyi
f257a23313
checker: check non-generic struct init ( #11300 )
2021-08-25 14:40:40 +03:00
Ned Palacios
50d1e9aa2b
mssql: fix c function definition parameters ( #11307 )
2021-08-25 14:39:56 +03:00
yuyi
4d078edb72
scanner: no longer allow `1.` float literals ( #11301 )
2021-08-25 14:39:37 +03:00
yuyi
96398efd2b
checker: check array insert/prepend arguments ( #11295 )
2021-08-24 20:28:05 +03:00
Fabricio Pashaj
0bf9197f41
net.http: add a close method to immediatly close the listener of a started http.Server, add more tests ( #11248 )
2021-08-24 19:21:24 +03:00
pancake
3c85a03b8a
v.gen.native: initial support for the asm statement in the native backend ( #11292 )
2021-08-24 15:30:41 +03:00
pancake
57b148032f
v.gen.native: initial support for cast statements ( #11291 )
2021-08-24 15:26:49 +03:00
Larpon
833bf2cf15
gg: add cubic Bézier curves + examples ( #11286 )
2021-08-24 06:35:27 +03:00
Lukas Neubert
3249f8f0e7
cgen: properly cast to sumtypes in array prepend and insert ( #11289 )
2021-08-24 06:25:09 +03:00
Alexander Medvednikov
4824b409b1
builder: simplify the C error message
2021-08-24 06:24:35 +03:00
Adam Oates
83e2a84c21
encoding: add base58 support ( #11288 )
2021-08-24 06:22:46 +03:00
playX
d78e7e3b2b
js: codegen fixes, W.I.P `os` availability for JS backend ( #11281 )
2021-08-23 14:25:02 +03:00
Benjamin Stigsen
76205cff2b
gg: add scaling to draw_convex_poly ( #11276 )
2021-08-23 13:38:29 +03:00
Miccah
51d7aede68
net.http: render each header value on a newline ( #11270 )
2021-08-23 00:38:09 +03:00
Benjamin Stigsen
352df873d5
gg: add scaling to draw_empty_poly() ( #11272 )
2021-08-23 00:37:20 +03:00
Ulises Jeremias Cornejo Fandos
1cfc4198f5
vlib/math: Add a pure V backend for vlib/math ( #11267 )
2021-08-23 00:35:28 +03:00
playX
dd486bb0fb
js: match support ( #11269 )
2021-08-22 19:36:49 +03:00
yuyi
b80777df4b
table: fix alias of sumtype method_call ( #11268 )
2021-08-22 17:20:10 +03:00
Delyan Angelov
ec196cfcd1
all: support overriding individual function from .v files in .c.v or .js.v files.
2021-08-22 15:51:26 +03:00
Simon
ed06c47a51
net: remove sockets if they already exists ( #11264 )
2021-08-22 13:38:02 +03:00
yuyi
2e28c9a4d6
checker: remove a duplicate check ( #11265 )
2021-08-22 12:09:14 +03:00
penguindark
fde934cd93
builtin: optimize hex() ( #11261 )
2021-08-22 11:10:24 +03:00
playX
2f6b2dd189
js: math.big support, f{32,64}_bits,from_bits support, typeof(expr).name support ( #11260 )
2021-08-21 17:18:57 +03:00
yuyi
0d81d0c0c6
table, checker: fix sumtype array appending aggregate type values ( fix #11197 ) ( #11258 )
2021-08-21 17:18:01 +03:00
pancake
02d823fa6e
v.gen.native: support infinite loops `for {}` in amd64 and arm64 ( #11254 )
2021-08-20 14:23:15 +03:00
pancake
82b16453e4
v.gen.native: improve error messages for unsupported features ( #11253 )
2021-08-20 14:21:05 +03:00
Alexander Medvednikov
c9d6242c6d
json: top level array test
2021-08-20 11:41:09 +03:00
yuyi
e87cf8bac6
checker: cleanup checker.v ( #11251 )
2021-08-20 10:25:16 +03:00
yuyi
6201e78201
checker: fix generic struct with non-generic interface in generic fn ( #11252 )
2021-08-20 09:28:26 +03:00
Hualin Song
4fb570522a
json: fix json.decode bug for u64 values greater than 2^31 ( #11238 )
2021-08-20 09:14:55 +03:00
playX
1570e613b5
math: inf,nan,fmod for the JS backend ( #11246 )
2021-08-20 01:14:49 +03:00
Benjamin Stigsen
70a658a265
gg: set_pixels() ( #11236 )
2021-08-20 01:14:25 +03:00
yuyi
a440b43630
checker, cgen: fix generic struct with non_generic interface ( #11240 )
2021-08-20 01:13:48 +03:00
Miccah
2cb0db633d
vweb: use Response struct for 302 response ( #11245 )
2021-08-20 01:13:36 +03:00
spaceface
67e8031a08
cgen: fix interface parameters in fn type aliases ( #11247 )
2021-08-20 01:12:31 +03:00
Jordan Liese
a9fb24cb5f
vweb: fix missing newline in redirect header string ( #11242 )
2021-08-19 14:58:57 +03:00
Miccah
6991a3c8d5
net.http: add graceful shutdown .stop() method to the http.Server struct ( #11233 )
2021-08-19 11:19:49 +03:00
Leo Developer
7bffabbce2
vdoc: add `-comments` and new comment merger ( #11221 )
2021-08-19 10:20:43 +03:00
Delyan Angelov
fe08e1c504
strings: add Builder.write_rune/1 and Builder.write_runes/1 methods
2021-08-19 07:18:09 +03:00
Alexander Medvednikov
26b77515b9
builtin: optimize []rune.string()
2021-08-19 06:58:53 +03:00
yuyi
3d22dc1608
all: fix formating Foo<A,B> to Foo<A, B> ( #11225 )
2021-08-18 17:17:21 +03:00
div72
881510e7ce
cgen: fix enum print ( #11218 )
2021-08-18 17:11:12 +03:00
div72
2bf1015ae1
os: add File.read_into_ptr ( #11219 )
2021-08-18 17:08:41 +03:00
JalonSolov
b3c641f7d5
time: use `&C.time_t` instead of `&time_t` in C fn declaration ( #11232 )
2021-08-18 17:05:43 +03:00
spaceface
d2ce1f74d6
ast.table: fix aggregate field type equality check ( #11210 )
2021-08-18 14:09:54 +03:00
yuyi
e07678d6f3
checker: check using redundant parentheses ( #11228 )
2021-08-18 13:49:50 +03:00
spaceface
09e854c064
cgen: small interface conversion fix ( #11229 )
2021-08-18 13:47:57 +03:00
Delyan Angelov
9ca99c6f93
v.builder: add `-Wl,--allow-multiple-definition` when targeting FreeBSD
2021-08-18 12:57:44 +03:00
playX
0121c8b4fd
v.gen.js: fix method calls and other codegen parts, rand module compiles ( #11205 )
2021-08-18 11:33:37 +03:00
yuyi
c51f83efba
checker: fix match expr type mismatch ( #11220 )
2021-08-18 08:52:01 +03:00
JalonSolov
1dee4f25fd
vweb: add more common mime types ( #11226 )
2021-08-18 08:51:18 +03:00
spaceface
7d9969ac17
all: support runtime interface conversions ( #11212 )
2021-08-17 21:00:27 +03:00
spaceface
7c9a1defa4
fmt: preserve method receiver mutability in interface decls ( #11222 )
2021-08-17 19:39:53 +03:00
Delyan Angelov
f96b81b53a
ci: fix failing vweb_test.v
2021-08-17 18:57:04 +03:00
yuyi
e1c762a616
cgen: fix assert fn_call with parentheses ( fix #11207 ) ( #11214 )
2021-08-17 18:21:15 +03:00
Alexander Medvednikov
f8174c381c
net.http: simplify fetch()
2021-08-17 09:17:03 +03:00
Miccah
19abe8c750
math.big: add from_bytes function ( #11213 )
2021-08-17 09:12:39 +03:00
pancake
90b25e7a4b
os: filesystem level locking api ( #11191 )
2021-08-17 08:21:33 +03:00
yuyi
8521e227b4
cgen: fix if expr of multi stmts ( #11208 )
2021-08-16 21:48:58 +03:00
Delyan Angelov
405ed584a1
v.vmod: return errors instead of panic-ing
2021-08-16 16:54:41 +03:00
Louis Schmieder
0d30667ab5
orm: fix orm unique lists ( #11198 )
2021-08-16 14:59:23 +03:00
Louis Schmieder
482eecbc13
cgen: fix comptime selector reserved field names ( #11199 )
2021-08-16 14:58:23 +03:00
Leo Developer
b417d3c043
v.readline: fix key delete panic'king on linux ( #11204 )
2021-08-16 12:28:40 +03:00
Miccah
d235de63e2
math: add egcd function implementing the extended Euclidean algorithm ( #11203 )
2021-08-16 11:49:50 +03:00
yuyi
90b052b1db
v.gen.c: fix error of if_expr in infix_expr ( #11200 )
2021-08-16 11:23:19 +03:00
Delyan Angelov
46ede3fb98
v check-md: reduce false positives for too long lines in various cases (real problems are easier to spot now)
2021-08-16 10:12:29 +03:00
Alexander Medvednikov
fadfc3b457
gg: format a line
2021-08-16 06:36:23 +03:00
Alexander Medvednikov
eb1ac5b30d
time: use i64 in unix()
2021-08-16 06:28:54 +03:00
Lukas Neubert
1c847e04c8
fmt: fix malformed import for incorrect module lookup paths ( #11192 )
2021-08-16 05:15:32 +03:00
Miccah
60f21f065f
encoding.hex: remove strconv dependency ( #11196 )
2021-08-16 04:59:21 +03:00
Benjamin Stigsen
022503a107
gg: fix top left corner pixel not being drawn ( #11202 )
2021-08-16 04:59:05 +03:00
Miccah
ea4f6fd48f
encoding: add a hex sub-module ( #11193 )
2021-08-15 21:42:51 +03:00
playX
659f823c5c
js: initial work on porting rand module to JS backend ( #11188 )
2021-08-15 18:09:51 +03:00
Delyan Angelov
0be20f1556
v.pref: keep the -error-limit option for now too
2021-08-15 13:46:50 +03:00
Leo Developer
b3094b0667
checker: abort prematurely on too many errors ( #11185 )
2021-08-15 13:41:51 +03:00
Delyan Angelov
6843b85063
ci: fix `clang -std=c99 -D_DEFAULT_SOURCE -o v vc/v.c` warnings
2021-08-15 11:12:48 +03:00
Delyan Angelov
eef7eea7bc
v.pref, v.builder: support `-no-std` (skips passing `-std=c99` to the C backend)
2021-08-15 11:05:06 +03:00
Delyan Angelov
f7cbcc241a
v.pref, v.builder: support `-no-rsp` (pass C options directly to the C compiler backend, without writing response files)
2021-08-15 10:47:44 +03:00
Delyan Angelov
f67e5d12e5
v.gen.c: fix v_typeof_interface_idx codegen (add `static `)
2021-08-15 09:15:33 +03:00
Delyan Angelov
3ffa6c1664
v.pref: fix `./v -usecache -cg run examples/hello_world.v`
2021-08-15 08:35:41 +03:00
yuyi
d3cf53ec41
cgen: fix a bug with autofree in if expr ( #11182 )
2021-08-15 07:55:27 +03:00
Delyan Angelov
d540b3f1a8
v.util: improve formatted_error by adding cached_file2sourcelines, so .split_into_lines is called just once (important for long source files with many errors)
2021-08-14 23:01:30 +03:00
Leo Developer
f6d7170e77
checker: changes related to warn/error limit ( #11184 )
2021-08-14 22:14:13 +03:00
Delyan Angelov
1743ad05c0
v.util: add a small cache for util.read_file, so reading individual source files is done just once
2021-08-14 21:59:28 +03:00
Leo Developer
8a8a0932f7
all: add limit to accumulated errors / warnings ( #11183 )
2021-08-14 19:49:21 +03:00
Delyan Angelov
deb26b92b9
cgen: support `typeof(x).idx`, as well as `iface.type_idx()` ( #11178 )
2021-08-14 17:22:25 +03:00
Subhomoy Haldar
8dc043ba2c
builtin: fix minor C fn definitions ( #11180 )
2021-08-14 17:19:27 +03:00
Delyan Angelov
900c37aa65
v.gen.c: support `T.typ` - an int for the type index of the generic type `T` ( #11175 )
2021-08-14 08:48:25 +03:00
penguindark
fb3671107e
regex: bug fix about \w \W backslash chars ( #11176 )
2021-08-14 08:47:12 +03:00
playX
b72d1e5e86
v.gen.js: implement `u64` and `i64` with BigInt ( #11174 )
2021-08-13 21:24:10 +03:00
Delyan Angelov
34d39ccb64
builtin: fix leak in rune.str(), fix leaks in most assert x == y statements in tests ( #11091 )
2021-08-13 18:37:34 +03:00
Subhomoy Haldar
0bd68bf5a2
builtin: rename invalid parameter names in C fn declarations ( #11173 )
2021-08-13 17:03:39 +03:00
playX
aa14fd1b05
v.gen.js: support operator overloading ( #11171 )
2021-08-13 10:06:59 +03:00
yuyi
083a90148d
tests: supplement multi-instances generic testing ( #11170 )
2021-08-13 08:38:20 +03:00
yuyi
579aa7b1b5
v.checker: fix multi insts of generics fn with generic struct ( #11161 )
2021-08-12 22:58:02 +03:00
Delyan Angelov
576664e31f
gg,sokol,stbi,gx,fontstash: cleanup for -Wimpure-v
2021-08-12 22:42:42 +03:00
Delyan Angelov
8fbd8f790d
os: cleanup for -Wimpure-v
2021-08-12 21:53:29 +03:00
Delyan Angelov
47884dfd1f
builtin: move C. calls to .c.v files ( #11164 )
2021-08-12 21:46:38 +03:00
playX
c9e9556a92
js: array.delete_last() ( #11160 )
2021-08-12 19:39:33 +03:00
Miccah
1a7ba6f6d4
vweb: fix catchall route ( #11168 )
2021-08-12 19:05:50 +03:00
FireRedz
a8905e2788
gg: add a `color` field to gg.DrawImageConfig ( #11158 )
2021-08-12 11:11:38 +03:00
Daniel Däschle
6dbc6f233b
v.parser: add checks for interoperability (C. or JS.) function declarations ( #11140 )
2021-08-12 10:47:24 +03:00
yuyi
89a8854e57
v.parser: fix generics type name in if_expr ( #11156 )
2021-08-12 10:19:06 +03:00
zakuro
9c74fb0449
cli: fix bug that caused help to panic ( #11157 )
2021-08-12 09:25:28 +03:00
penguindark
6771b7fea9
regex: added documentation about multiple dots syntax error ( #11147 )
2021-08-12 08:54:57 +03:00
yuyi
90adf4d092
v.checker: fix multi insts of generics struct with array ( #11142 )
2021-08-11 16:59:13 +03:00
Delyan Angelov
a64a4d932c
v.checker: turn `interface field ... must be initialized` to a notice temporarily
2021-08-11 16:39:41 +03:00
Enzo
9d4d0a9894
v.gen.c: generate the closure helper for the choosen target platform, not the current one ( #11134 )
2021-08-11 14:09:40 +03:00
div72
8c2f7901aa
cli: have a posix mode to handle -- ( #11133 )
2021-08-11 12:26:17 +03:00
wilesun
18be9e52be
log: avoid using string__plus memory leak ( #11128 )
2021-08-11 09:26:02 +03:00
playX
70124d2d23
js: time module: implement utc,now,local ( #11138 )
2021-08-11 09:22:53 +03:00
Shobi
012b3f0f64
orm: refactor insert part of orm_stmt_gen ( #11121 )
2021-08-10 23:31:09 +03:00
Enzo
da53f818df
all: initial support for closures (x64 / linux-only) ( #11114 )
2021-08-10 21:27:15 +03:00
pancake
2cfb8fd697
native: document arm64 registers with comments ( #11122 )
2021-08-10 21:15:32 +03:00
yuyi
aceaaa681d
ast: fix formatting fn variadic of reference param ( #11130 )
2021-08-10 21:14:37 +03:00
Daniel Däschle
2ae77c1998
v.scanner: fix escaped backslash after string interpolation ( #11118 )
2021-08-10 17:04:42 +03:00
playX
8d6903a65a
time: move C backend specific code into .c.v files ( #11125 )
2021-08-10 14:34:53 +03:00
yuyi
11794039e2
v.gen.c: fix fn variadic of reference param ( #11115 )
2021-08-10 10:36:11 +03:00
pancake
e7b8cf17e5
v.gen.native: add support for assert statements for amd64 ( #11117 )
2021-08-10 10:29:44 +03:00
Enzo
506c30a291
builtin: remove methods that can be autogenerated ( #11109 )
2021-08-09 15:42:31 +03:00
Enzo
1a555ab898
v.gen.c: fix generation for `string.index` ( #11106 )
2021-08-09 07:39:15 +03:00
Daniel Däschle
a64b191ce5
checker: forbid multiple pointer yields ( #11105 )
2021-08-09 02:11:53 +03:00
yuyi
eed8c4671f
cgen: fix fn mut arg of array ( #11104 )
2021-08-09 01:49:30 +03:00
playX
7a67a08d2f
js: implement codegen for array.sort and implement .any,.all ( #11100 )
2021-08-09 01:46:40 +03:00
yuyi
1f3f7705a2
cgen: fix struct_init with fixed array field ( #11099 )
2021-08-08 10:54:52 +03:00
Alexander Medvednikov
03ed32f805
ast: bring back Table.free() for now
2021-08-08 07:07:06 +03:00
Alexander Medvednikov
eaf8b63dd2
cgen: fix a c2v bug with variadics
2021-08-08 06:23:22 +03:00
Delyan Angelov
e32c65c322
ci: fix TcpConn.set_blocking on windows
2021-08-07 23:27:25 +03:00
Delyan Angelov
b22c335496
net: add TcpConn.get_blocking/0, TcpConn.set_blocking/1 methods, change TcpConn.read_line to set the connection to blocking, if it was not already
2021-08-07 23:21:55 +03:00
Daniel Däschle
9af65d8830
checker: protect against assigning to a typeless variable ( #11094 )
2021-08-07 18:09:07 +03:00
yuyi
1d3786ff1e
v.parser: fix `if a == Abc{} {` ( #11092 )
2021-08-07 18:05:22 +03:00
playX
94c321c80d
v.gen.js: port fully the array test suite & add fixes ( #11073 )
2021-08-07 17:58:49 +03:00
Uwe Krüger
c560d58f1e
cgen: use heuristic to detect circular reference in auto str ( #11090 )
2021-08-07 14:56:09 +03:00
Delyan Angelov
7d3476cbca
ci: fix tests-sanitize-address-clang job (regression after 9995f6c
)
2021-08-07 14:37:51 +03:00
Sebastian Schicho
9995f6cca1
encoding.base64: speed up encoding and decoding ( #11055 )
...
* add new function headers
* new encoding function
* rename to decode_micro and add helper functions
* implement new decoding function
* add test for buffer to buffer decoding
* - add notice to GO code
- v fmt base64.v
* implement new decoding function
* fix base64_memory_test.v by commenting a few lines
* vfmt base64.v
* add some more asserts to base64_memory_test.v
* remove unused decoding function
* add bounds check, when detecting the padding
* use union for storing the decoded data
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2021-08-07 00:09:55 +03:00
Caden Haustein
cf0767ad6c
v: add constant folding AST transformation ( #11085 )
2021-08-06 23:19:18 +03:00
yuyi
ec39e38e14
cgen: fix generic method on alias struct receiver ( #11080 )
2021-08-06 21:26:54 +03:00
Daniel Däschle
3b116d2455
cgen: support embedded struct fields on sumtype common fields ( #11084 )
2021-08-06 21:26:19 +03:00
Dialga
25d49bc615
orm: handle empty fields ( #11083 )
2021-08-06 21:25:38 +03:00
alula
e1cc1665dc
cgen: push function arguments in fn_args() ( #11086 )
2021-08-06 20:01:20 +03:00
Uwe Krüger
e89bed3e25
ci: temporarily deactivate test case for #11061 (fixes CI timeouts) ( #11079 )
2021-08-06 12:46:56 +03:00
Louis Schmieder
a4358a6801
orm: fix unique fields ( #11045 )
2021-08-06 06:21:59 +03:00
zakuro
490dec222f
fmt: keep char literal, `'` ( #11060 )
2021-08-06 06:21:28 +03:00
Daniel Däschle
91ade5bf8c
cgen: fix shared field init ( #11061 )
2021-08-06 05:11:03 +03:00
Enzo
44bacfc931
cgen: fix optional generation order ( #11070 )
2021-08-06 03:57:34 +03:00
Enzo
7346aeca5f
cgen: refactor array sort generation ( #11067 )
2021-08-06 03:55:48 +03:00
Daniel Däschle
8d2567740b
parser: make [..] work ( #11064 )
2021-08-06 03:54:24 +03:00
yuyi
c30cda3daf
v.gen.c: fix error of `println(alias of struct)` ( #11062 )
2021-08-05 20:20:10 +03:00
yuyi
11784279ba
checker: check fn_call().sort() ( fix #11040 ) ( #11056 )
2021-08-04 21:23:22 +03:00
Daniel Däschle
f59119485a
v.parser: add check for existing type on sum type declaration ( #11054 )
2021-08-04 18:14:16 +03:00
Daniel Däschle
310b51c883
vlib: remove unused `os2` module ( #11053 )
2021-08-04 17:56:08 +03:00
Delyan Angelov
f9c279d11d
v.checker: make calling a deprecated fn an error, 180 days (6 months) after its deprecation date ( #10682 )
2021-08-04 17:41:00 +03:00
Delyan Angelov
efa8dcf4d2
time: turn Time.unix to i64, so it can represent times before 1970-01-01, fix time operators, add more tests ( #11050 )
2021-08-04 13:12:02 +03:00
Delyan Angelov
1bf6d04e37
ci: fix failing program_test.v due to deprecation warnings
2021-08-04 12:58:06 +03:00
yuyi
5162c257a2
v.parser: minor cleanup in parse_type.v ( #11047 )
2021-08-04 12:49:36 +03:00
playX
8743b616a0
v.gen.js: codegen fixes, add a few builtins, port more array tests ( #11049 )
2021-08-04 12:46:24 +03:00
Daniel Däschle
800c0e5092
vlib: remove deprecated map{} usages as well as deprecated functions ( #11035 )
2021-08-04 12:44:41 +03:00
yuyi
b870f7a6f1
cgen: fix array sort error ( #11046 )
2021-08-04 06:31:57 +03:00
yuyi
2eb11110d6
cgen: fix autofree error of array init with string variable ( fix #10427 ) ( #11041 )
2021-08-04 03:39:20 +03:00
Daniel Däschle
815c4b7420
all: rename generic_struct_inst to generic_inst ( #11044 )
2021-08-04 03:37:27 +03:00
Leo Developer
3677391329
vdoc: add v/preludes_js/ to .vdocignore ( #11039 )
2021-08-03 18:52:45 +03:00
pancake
00d4c7082e
native: add support for print, eprint and eprintln ( #11034 )
2021-08-03 16:04:31 +03:00
Alexander Medvednikov
80976e640c
vweb: remove init_server() from all examples, tutorials, and tests
2021-08-03 16:03:16 +03:00
Alexander Medvednikov
f879b3e221
ci: run gitly
2021-08-03 15:41:52 +03:00
playX
0455632b1f
v.gen.js: fix prefix, postfix and assign codegen and add more array tests ( #11031 )
2021-08-03 14:59:46 +03:00
Delyan Angelov
0ebad47d2a
v doc: fix an infinite recursion in `v doc .` executed in /tmp. Add tests for v.doc.get_parent_mod/1 .
2021-08-03 13:36:58 +03:00
yuyi
fd58e9f819
cgen: fix auto str for map of reference struct ( fix #11024 ) ( #11028 )
2021-08-03 08:03:00 +03:00
Enzo
fc193bebf2
builtin: add documentation for builtin array functions ( #11023 )
2021-08-03 06:25:33 +03:00
Louis Schmieder
a55ba08fad
orm: fix time ( #11026 )
2021-08-03 05:17:00 +03:00
Leo Developer
6dcf72fe9b
cgen: dont generate function if its flag is false ( #11021 )
2021-08-03 03:17:22 +03:00
Yuval Greenfield
820669b011
math.fractions: make the numerator and denominator public ( #11018 )
2021-08-02 18:50:11 +03:00
Florian Blasius
69f31d8d5c
checker: check int literal to enum cast ( fix #10125 ) ( #10348 )
2021-08-02 07:12:29 +03:00
pancake
dbf5c976a3
v.gen.native: support more `ifs` constructs for amd64 ( #11007 )
2021-08-01 20:19:02 +03:00
Miccah
cc9463401e
http: change server handler from function to interface ( #10994 )
2021-08-01 15:50:11 +03:00
playX
836ac54d12
v.gen.js: add more array tests and fixes ( #11014 )
2021-08-01 14:08:49 +03:00
playX
77e9ed417f
v.gen.js: fix segfault when anonymous function is declared with assertion ( #11009 )
2021-08-01 07:27:44 +03:00
Delyan Angelov
33e4dc3ad3
ci: fix coutput_test.v on windows by fixing `-o -` on windows
2021-08-01 00:27:06 +03:00
Uwe Krüger
6068777e03
parser/checker: deduce type of global from initialization expression ( #11005 )
2021-07-31 16:35:19 +03:00
Delyan Angelov
e374ffb590
checker: add an early checker error for `node.left_types.len != node.left.len` in assignments
2021-07-31 14:57:29 +03:00
Delyan Angelov
9082712e10
ci: skip coutput_test.v on windows temporarily
2021-07-31 14:17:33 +03:00
Delyan Angelov
d82d41d804
os: fix os.dir, os.base, os.file_name, when the argument contains / on windows
2021-07-31 13:52:54 +03:00
Delyan Angelov
1231e5df20
debug coutput_test.v on windows
2021-07-31 13:27:28 +03:00
Delyan Angelov
456a19f6d4
ci: fix coutput_test.v on windows
2021-07-31 13:16:33 +03:00
Delyan Angelov
08016ab374
v.gen.c: add vlib/v/gen/c/coutput_test.v, to ease testing of produced C output
2021-07-31 12:14:56 +03:00
Delyan Angelov
033b027361
v.gen.c: use `const type* const_x` for `const_x &type` fn args
2021-07-31 08:42:40 +03:00
Delyan Angelov
26b7712bbe
tests: add a regression test for the comptime evaluated consts, using a _constructor function
2021-07-30 20:33:08 +03:00
Louis Schmieder
0bb587c8c2
checker: fix defer ident handling & fix defer optional error message ( #10975 )
2021-07-30 20:29:06 +03:00
Uwe Krüger
a7c2aaf35b
cgen: initialize globals directly for simple cases ( #11002 )
2021-07-30 19:20:45 +03:00
Delyan Angelov
f67922782e
ci: fix tools using `import math`, for `const x = i64(-9223372036854775807-1)` fails
2021-07-30 17:56:46 +03:00
Delyan Angelov
06d1422a05
ast,checker,cgen: support simple `const x = u16(0x53)` without using _vinit()
2021-07-30 17:22:27 +03:00
Delyan Angelov
afb7168a64
hash: move dummy map initialisation into an `fn init(){}`, so users do not have to do it explicitly to be compatible with -skip-unused
2021-07-30 13:25:37 +03:00
playX
a7ca051016
v.gen.js: fix for array filter, add more tests and other fixes ( #10999 )
2021-07-30 11:17:11 +03:00
Delyan Angelov
c31397e17d
tests: fix `v test-self` running locally
2021-07-30 09:26:05 +03:00
Alexander Medvednikov
ec92964bb0
checker: make interface init check a warning for now
2021-07-30 03:32:02 +03:00
Delyan Angelov
7d5b6d2b48
fix running `v run file.v` in a current working folder containing a run/ subfolder
2021-07-30 03:28:54 +03:00
Delyan Angelov
44892fd942
os: let `os.dir("/xyz")` return "/" (fixes compiling .v files in /)
2021-07-30 03:28:53 +03:00
Louis Schmieder
7c504920e1
checker: fix negative values for unsigned integers ( #10976 )
2021-07-30 03:27:59 +03:00
Daniel Däschle
6fa8e4269e
checker: force interface init ( #10910 )
2021-07-30 03:18:20 +03:00
blackshirt
1eac351f25
math.big: change the return value of divmod to (quotient, remainder) ( #10993 )
2021-07-30 02:28:32 +03:00
pancake
6337325676
v.gen.native: improve few x64 generators ( #10996 )
2021-07-30 01:26:49 +03:00
Uwe Krüger
44d8dcc418
ci,globals: hot fix for hanging test case ( #10997 )
2021-07-29 22:06:08 +03:00
Lukas Neubert
1e255d3ab1
fmt: cleanup redundant generic types code ( #10990 )
2021-07-29 15:21:10 +03:00
yuyi
57f30668e3
v.checker: fix `a.map(voidfn(it))` ( #10985 )
2021-07-29 11:43:56 +03:00
playX
75c41252d9
js: add more tests & add array prepend codegen ( #10988 )
2021-07-29 11:39:36 +03:00
Uwe Krüger
08aa6c08f6
all: more improvements for global variables ( #10986 )
2021-07-29 10:57:31 +03:00
Delyan Angelov
7547882c11
ci: fix failing fn_args.vv (use `zu8` as a temporary name of the unaliased `u8` type, since `uu8` is already used in fn_args.vv as a function name)
2021-07-29 10:14:55 +03:00
Delyan Angelov
7a9b326200
ci: fix -cstrict rebuilding of V with clang
2021-07-29 09:54:52 +03:00
Alexander Medvednikov
b79dd7f0b3
builtin: re-enable u8 alias
2021-07-29 06:46:12 +03:00
Alexander Medvednikov
09df5adbdd
builtin: re-gen v.c
2021-07-29 06:45:04 +03:00
Alexander Medvednikov
1343ec7444
builtin: fix temporary u8 alias
2021-07-29 06:42:22 +03:00
Alexander Medvednikov
0b9b80e0c9
cgen: register u8
2021-07-29 05:02:13 +03:00
Alexander Medvednikov
628498e0dc
table: register u8 type
2021-07-29 05:00:03 +03:00
Alexander Medvednikov
a7270148e5
builtin: remove u8 alias to re-generate v.c
2021-07-28 22:41:41 +03:00
Alexander Medvednikov
65126efdc3
builtin: remove u8 for now
2021-07-28 22:36:04 +03:00
Delyan Angelov
d25bd95a0e
v: support -show-depgraph in addition to -show-callgraph
2021-07-28 16:42:11 +03:00
playX
e3cf95b058
js: add more tests for array, support array insert_many, minor fixes for references ( #10983 )
2021-07-28 13:01:00 +03:00
shadow
66bc8bc0cb
vlib: remove many deprecated functions ( #10972 )
2021-07-28 09:22:19 +03:00
yuyi
9f4431544d
checker: fix typo in selector_expr() ( #10977 )
2021-07-28 08:28:55 +03:00
Uwe Krüger
45ad48d76a
cgen: properly handle initialization expression for globals ( #10981 )
2021-07-28 08:11:55 +03:00
Delyan Angelov
8eb544146e
os: fix building V on Haiku
2021-07-27 20:28:04 +03:00
Uwe Krüger
abd17ddb6a
cgen: initialize globals with default initializer when none is given. ( #10979 )
2021-07-27 20:14:30 +03:00
Alexander Medvednikov
a56f579e0d
Revert "cgen: define new u8 type"
...
This reverts commit b7f2adb69c
.
2021-07-27 19:38:48 +03:00
Alexander Medvednikov
b7f2adb69c
cgen: define new u8 type
2021-07-27 19:07:47 +03:00
Delyan Angelov
ef0161c233
v.markused: handle compiling vweb, `-live` and orm example programs
2021-07-27 15:50:42 +03:00
Miccah
e98817e5ce
sync: only release semaphore in WaitGroup when there are waiters ( #10967 )
2021-07-27 15:49:51 +03:00
Delyan Angelov
b0a721b2ec
js: draft support for compiling `-b js x_test.v`
2021-07-27 13:49:47 +03:00
Delyan Angelov
6e0c9f637d
v.markused: support `import json` programs too
2021-07-27 13:00:07 +03:00
Delyan Angelov
6134c4870b
v.util: extract v.util.version, use it to speed up building `v repl`, `v up` and `v doctor`
2021-07-27 12:59:56 +03:00
yuyi
cb7be87d4e
parser: fix struct init and assign using `sql` variable ( #10968 )
2021-07-26 21:14:31 +03:00
Delyan Angelov
79c7aed3c2
gg: allow easily detecting the edges of key_down keyboard events
2021-07-26 18:39:59 +03:00
Delyan Angelov
0d12d55295
gg: allow customisation of the image format in gg.new_streaming_image
2021-07-26 11:05:16 +03:00
yuyi
4cf91a28f6
checker: fix generics interface with multi generic types ( #10964 )
2021-07-26 08:54:57 +03:00
Delyan Angelov
b666482d84
ci: fix the vinix-build job
2021-07-26 08:50:05 +03:00
Delyan Angelov
b44f81528f
v.gen.c: fix codegen for `const a = u64(5) + 5`
2021-07-26 08:06:59 +03:00
Delyan Angelov
db5e0f2117
v.gen.c: fix cgen regression after f457b94
(prevented vinix builds), add tests
2021-07-25 23:31:23 +03:00
Delyan Angelov
6438099644
builtin: fix building vinix (missing C.strerror)
2021-07-25 23:31:22 +03:00
penguindark
e4e6c90292
zip: read in memory ( #10960 )
2021-07-25 21:29:51 +03:00
Delyan Angelov
684c10af1f
json: support for a [required] field attribute ( #10955 )
2021-07-25 17:27:37 +03:00
Ben-Fields
8a097293a8
sokol: define a pixel color format ( #10951 )
2021-07-25 17:27:07 +03:00
Alexander Medvednikov
e246ed9818
cgen: fix VUNREACHABLE on freebsd/tcc
2021-07-25 16:29:05 +03:00
yuyi
ab20b8c53a
cgen: fix generics interface with multi generic structs ( #10950 )
2021-07-25 15:54:22 +03:00
Uwe Krüger
a6245a56d8
builtin: fix Windows panic message ( #10952 )
2021-07-25 15:34:48 +03:00
Delyan Angelov
0bcb955258
checker: fix regression of anon fns that have loops with break/continue
2021-07-25 10:46:31 +03:00
Uwe Krüger
55c5b9ce7b
cgen: panic with error message when `go` command fails ( #10943 )
2021-07-25 01:13:34 +03:00
Daniel Däschle
a09324faa9
scanner: remove pos 0 hack which is no longer needed ( #10935 )
2021-07-25 01:13:07 +03:00
Louis Schmieder
1943da54a5
orm: integrate psql to orm ( #10933 )
2021-07-24 20:49:40 +03:00
Miccah
a0e27d3fd9
net.http: refactor the Response struct ( #10922 )
2021-07-24 20:47:45 +03:00
zakuro
3979e5c5ff
v.parser: show better position for sort struct init warning ( #10939 )
2021-07-24 20:41:59 +03:00
Daniel Däschle
3be8ef3b5a
checker: check duplicated field and method (only for fields that are anon-fns for now) ( #10927 )
2021-07-24 16:06:09 +03:00
spaceface
a621149fc2
builtin: add bdwgc to thirdparty, statically link it on Windows ( #10542 )
2021-07-24 16:04:26 +03:00
playX
f51fa7e665
v.gen.js: fix references and add iterator to map ( #10938 )
2021-07-24 15:35:17 +03:00
Delyan Angelov
45a15755b8
v.builder: implement -show-callgraph
2021-07-24 13:32:56 +03:00
Delyan Angelov
c8e671d88c
v.pref: support a `-show-callgraph` option
2021-07-24 13:32:56 +03:00
Delyan Angelov
a4c9aeab14
v.ast.walker: pass nodes by reference
2021-07-24 13:32:56 +03:00
Delyan Angelov
9ffbda3833
v.scanner: improve error diagnostic when scanner's file_path is not a file
2021-07-24 13:32:55 +03:00
Delyan Angelov
b9771ea120
v.checker: small cleanup for incomplete match errors
2021-07-24 13:32:55 +03:00
Delyan Angelov
72c56ccc85
v.builder: use os.write_file/os.write_file_array for writing full files to disk.
2021-07-24 13:32:55 +03:00
Miccah
0acb84d5a5
net: add parse_headers function and handle header line folding ( #10936 )
...
Closes https://github.com/vlang/v/issues/10930
2021-07-24 11:31:33 +03:00
a-iga
304f26edeb
flag: fix panic when given an empty string as args ( #10937 )
2021-07-24 11:26:00 +03:00
Delyan Angelov
29f55bdf9b
time: fix V compilation for solaris
2021-07-24 11:17:54 +03:00
yuyi
29cda252f1
builtin: fix multiple array init ( #10929 )
2021-07-23 23:25:12 +03:00
Louis Schmieder
3d907caa3f
gen: fix comptime attrs stmts ( #10925 )
2021-07-23 23:24:56 +03:00
Uwe Krüger
1e5627e777
parser: don't require unary `>` prefix for `select` timeout ( #10928 )
2021-07-23 23:24:27 +03:00
Louis Schmieder
1999850f88
checker: disallow labels in defer statements ( #10901 )
2021-07-23 22:35:05 +03:00
playX
69cbdf9fdc
v.gen.js, os_js: port the OS module to JS ( #10872 )
2021-07-23 18:04:36 +03:00
Delyan Angelov
6313ed6a79
checker,cgen: fix `-os cross` support for `$if !solaris { #include <sys/ptrace.h> }`
2021-07-23 16:24:42 +03:00
Delyan Angelov
c797e1460d
checker: do not skip any of the top level `$if OS {` branches in `-os cross` mode
2021-07-23 15:53:03 +03:00
yuyi
f5776eb259
cgen: fix multiple assign array index ( #10926 )
2021-07-23 15:46:18 +03:00
Louis Schmieder
26db3b0995
orm: redesign orm (re-write it in V) ( #10353 )
2021-07-23 12:33:55 +03:00
Delyan Angelov
ad41cd5c6f
cgen: fix `dump(fn_name)` ( closes #10912 )
2021-07-23 12:24:12 +03:00
Lukas Neubert
5e4cbcc1e3
fmt: unify struct field align code ( #10887 )
2021-07-23 12:12:09 +03:00
Lukas Neubert
3cc54d8e81
vfmt: split up asm code into more granular methods, add test ( #10878 )
2021-07-23 08:58:06 +03:00
Daniel Däschle
091ce6cc08
cgen: fix several sort declarations ( #10919 )
2021-07-23 08:55:55 +03:00
Daniel Däschle
a2de3ffcdb
checker: check if condition optional ( #10921 )
2021-07-23 08:52:51 +03:00
shadow
fe5e3c452f
parser: disable generic type aliases ( #10917 )
2021-07-23 01:17:16 +03:00
Daniel Däschle
2c0c211c79
all: implement accessing embedded field and method of aggregate ( #10907 )
2021-07-23 01:14:39 +03:00
Daniel Däschle
f40090e8ff
checker: fix break inside anon fn ( #10914 )
2021-07-23 01:13:36 +03:00
Delyan Angelov
44828cbb29
ci: fix -cstrict job
2021-07-22 18:47:23 +03:00
Daniel Däschle
ed234188b7
scanner: fix single backslash in raw string ( #10890 )
2021-07-22 17:02:11 +03:00
Delyan Angelov
b537c9f624
tests: add a separate File.tell() test
2021-07-22 16:25:23 +03:00
Delyan Angelov
c4da74dbf6
ci: fix building V on windows with tcc (regression since d7dcb47
)
2021-07-22 14:50:22 +03:00
Delyan Angelov
9171c1131e
ci: skip a failing f.tell() test on macos only
2021-07-22 13:28:00 +03:00
Delyan Angelov
ec585b4a54
os: fix sporadic failing glob_test.v
2021-07-22 13:26:23 +03:00
Bastian Buck
8f3646cb81
os: fix debugger_present for solaris ( #10902 )
...
-solaris has no `sys/ptrace.h`, instead `ptrace` is included in `sys/types.h` and `unistd.h`
2021-07-22 10:44:00 +03:00
Louis Schmieder
742f6f849c
checker: check using a map as a struct init in parameter ( #10904 )
2021-07-22 10:42:59 +03:00
Delyan Angelov
d7dcb47db3
os: implement File.seek/2 and File.tell/0
2021-07-22 08:00:21 +03:00
Daniel Däschle
054bd67490
cgen: don't change field name of c structs ( #10894 )
2021-07-22 01:37:49 +03:00
Delyan Angelov
06de9c799c
Revert "gen: add type name to comp for ( #10881 )"
...
Reason: 713a079
is more general and provides the same information.
This reverts commit dd3ee20566
.
2021-07-21 23:56:00 +03:00
Louis Schmieder
dd3ee20566
gen: add type name to comp for ( #10881 )
2021-07-21 23:45:08 +03:00
Uwe Krüger
713a079684
cgen: properly support `typeof()`, sizeof(), ... in compile time `for` ( #10896 )
2021-07-21 23:43:30 +03:00
Daniel Däschle
12884e9eb7
checker: disallow invalid pointer arithmetic ( #10888 )
2021-07-21 23:39:49 +03:00
Uwe Krüger
41982053f1
builtin: make `array.delete()` reallocate, provide `.delete_many()` ( #10889 )
2021-07-21 20:55:32 +03:00
Alexander Medvednikov
de6784a007
net: base address_freebsd.c.v on darwin instead of linux
2021-07-21 17:31:32 +03:00
yuyi
ec87f4ee99
table: fix error of generics interface declaration ( #10883 )
2021-07-21 15:24:52 +03:00
Alexander Medvednikov
e38b0d7e9f
net: freebsd fixes
2021-07-21 14:29:45 +03:00
Lukas Neubert
38100faecf
fmt, parser: fix pos.last_line for assembly blocks ( #10877 )
2021-07-21 11:48:12 +03:00
Daniel Däschle
aebb028349
gen: fix C keyword escape to _v_ instead of just v_ ( #10876 )
2021-07-21 11:46:04 +03:00
shadow
591af866ba
checker: prohibit returning a fixed array ( #10882 )
2021-07-21 11:39:22 +03:00
Delyan Angelov
c12cd0c964
ci: workaround for failing net tests
2021-07-21 09:58:40 +03:00
Delyan Angelov
d41a4ec662
v test-self: check unsafe_test.v, match_test.v, match_in_fn_call_test.v with -cstrict
2021-07-20 19:34:16 +03:00
Delyan Angelov
24c59881f5
v.gen.c: do not use precomputed const values in -usecache mode (fix `v test-all` on M1)
2021-07-20 17:52:07 +03:00
Daniel Däschle
3f5e3c4bfe
gen: fix haiku platform ( #10875 )
2021-07-20 16:13:23 +03:00
Delyan Angelov
2c9f6899ba
v.gen.c: fix `v -cstrict -o vtmp_werror cmd/v` on Apple M1
2021-07-20 16:09:47 +03:00
Delyan Angelov
5098334e65
os: add execute_or_exit(cmd), use it consistently instead of execute_or_panic(cmd)
2021-07-20 15:22:04 +03:00
yuyi
850a715c79
table: minor cleanup in does_type_implement_interface() ( #10870 )
2021-07-20 15:19:02 +03:00
Uwe Krüger
f457b94fe4
cgen: properly support reference args in receivers and arithmetic op methods ( #10873 )
2021-07-20 15:08:32 +03:00
Lukas Neubert
05d0288e8d
fmt: move asm related code into it's own file ( #10874 )
2021-07-20 15:07:15 +03:00
Daniel Däschle
f6402eae10
checker: check `match` with type alias ( #10863 )
2021-07-20 15:06:36 +03:00
Daniel Däschle
60b705b4c4
checker, gen: implement basic struct embed direct field init support ( #10871 )
2021-07-20 15:06:06 +03:00
Daniel Däschle
ad3835b598
parser: deprecate short struct init ( #10842 )
2021-07-20 11:17:08 +03:00
Uwe Krüger
de39bba7bd
v.gen.c: fix calling pointer receiver on function return result ( #10866 )
2021-07-20 08:30:07 +03:00
Delyan Angelov
eed4f50d8c
ci: fix sanitize failures with math.big
2021-07-19 20:51:41 +03:00
Enzo
1db354c360
v.gen.c: fix codegen ordering problem with interfaces with interface fields ( #10862 )
2021-07-19 19:57:12 +03:00
Delyan Angelov
732d8101e0
math.big: add .bytes() and .bytes_trimmed() methods, `big.from_int(1024).bytes_trimmed() == [byte(0x00), 0x04]`
2021-07-19 17:17:08 +03:00
Daniel Däschle
9127e202d5
v.parser: fix error on empty name expr ( #10860 )
2021-07-19 17:09:51 +03:00
playX
425ca5e3c3
v.gen.js: add three backend options for JS, and comptime if support ( #10859 )
2021-07-19 15:55:03 +03:00
yuyi
8e99a018df
checker, cgen: fix generics interface method ( #10858 )
2021-07-19 13:29:46 +03:00
yuyi
cf82bd3407
checker: fix fixed array with const unint type size ( fix #10826 ) ( #10853 )
2021-07-19 12:44:03 +03:00
yuyi
fdba3607af
checker: fix generics fn selector expr with unexpected symbol ( #10851 )
2021-07-19 09:16:15 +03:00
Delyan Angelov
83b0a80ff4
ci: fix MSVC build (delay const string initialiastion to _vinit)
2021-07-19 08:20:09 +03:00
Delyan Angelov
8ea576783b
tests: fix failed consts test (it now works properly)
2021-07-19 01:18:39 +03:00
Delyan Angelov
241a7b760d
strconv,checker,cgen: fix -cstrict compilation of hello_world.v
2021-07-19 01:08:48 +03:00
Delyan Angelov
48546d0f45
all: do compile time const evaluation for `const x = "abc" + "xyz"` and `const x = 16 * 1024 + 5` (fix const prealloc_block_size)
2021-07-18 22:59:18 +03:00
Delyan Angelov
3ccde5ce55
builtin: use `prealloc_block_size = 16777216` temporarily
2021-07-18 17:03:25 +03:00
Delyan Angelov
016240d00b
v: support `-o - x_test.v` too, describe `-o -` in the `v help` screen
2021-07-18 16:41:32 +03:00
Delyan Angelov
a007dd5d22
builder: support `-o -` to print the generated C/JS source to stdout
2021-07-18 16:26:50 +03:00
yuyi
a5c784830b
all: simplify global_scope processing ( #10848 )
2021-07-18 15:29:34 +03:00
shadowninja55
eb65ad078d
checker: prohibit passing non-lvalue as `voidptr` ( #10838 )
2021-07-18 15:04:16 +03:00
Miccah
1a6a7a678a
vweb: change Context.headers from string to struct Header ( #10749 )
2021-07-18 12:21:07 +03:00
playX
d5e0fa6d1b
v.gen.js: port string methods and fix booleans ( #10824 )
2021-07-18 09:00:20 +03:00
yuyi
8b8f496762
checker: fix generics fn return generic interface ( fix #10818 ) ( #10831 )
2021-07-18 08:55:19 +03:00
Delyan Angelov
6edfb2c7fe
v.parser: eliminate PrefixExpr from `&Type(x).name` and `&Type(x)[idx]` too (fix vinix build)
2021-07-17 20:20:20 +03:00
Delyan Angelov
fc8a8e3b6f
ci: fix failure for function_stored_in_global.vv
2021-07-17 18:19:20 +03:00
Delyan Angelov
ee9e91b8e7
builtin: fix `-d no_backtrace` error with tcc
2021-07-17 18:09:16 +03:00
Delyan Angelov
568aa742b2
v.parser: improve conditions for debugging ast.CastExpr parsing
2021-07-17 17:49:29 +03:00
Delyan Angelov
b0167297e5
builtin: support `-d no_backtrace` on macos/bsd too
2021-07-17 17:49:28 +03:00
yuyi
3a0fa550b6
checker: fix generics fn inferring map type ( fix #10835 ) ( #10839 )
2021-07-17 17:49:21 +03:00
div72
d84ffbf73c
runtime: decrement default cpu amount in nr_jobs ( #10841 )
2021-07-17 17:07:59 +03:00
spaceface
22fcbe70a2
checker: allow omitting `{}` in trailing struct args ( #10832 )
2021-07-17 15:44:44 +03:00
crthpl
ec47cda386
cgen: fix other generic pointer cases ( #10834 )
2021-07-17 11:51:42 +03:00
William Gooch
51dd8304bb
tools: make the `v` REPL help screen look nicer ( #10833 )
2021-07-17 11:23:29 +03:00
shadowninja55
355f46f475
gen: implement `thread.str()` ( #10820 )
2021-07-17 11:19:28 +03:00
shadowninja55
0d587d3580
checker: prohibit using non-lvalue as mut receiver ( #10790 )
2021-07-16 13:03:40 +03:00
yuyi
fe64346ae2
parser: minor optimization of array filtering judgement ( #10821 )
2021-07-16 12:00:37 +03:00
Delyan Angelov
cbe4ac703e
v.builder: remove temporary file.js file after `v -b js run file.v`
2021-07-16 10:03:46 +03:00
Delyan Angelov
0723daf788
tests: add vlib/v/gen/js/program_test.v to ease regression testing `-b js` programs
2021-07-16 09:36:45 +03:00
spaceface
ebc34c237b
cgen: fix generating invalid Option decls for generic interfaces ( #10817 )
2021-07-15 22:15:25 +03:00
yuyi
aca66d503d
parser: minor optimization in call_expr() ( #10809 )
2021-07-15 17:47:59 +03:00
yuyi
ddaac5af92
checker: fix generics with multi generic struct types ( #10808 )
2021-07-15 17:39:55 +03:00
playX
06edbc8a38
v.gen.js: implement most of array and map methods in builtin/js ( #10806 )
2021-07-15 17:36:53 +03:00
Delyan Angelov
027be2ecd4
tests: show a list of all failed commands in the summary too
2021-07-15 11:53:14 +03:00
shadowninja55
7c0be629ab
checker: prohibit fixed array to fixed array assignment where elem_typ is a pointer ( #10775 )
2021-07-15 08:38:03 +03:00
spaceface
6e942bf4c2
v: initial support for generic interfaces and sumtypes ( #10795 )
2021-07-15 08:29:13 +03:00
yuyi
7687b28d8d
cgen: remove Gen.write_expr_to_string() ( #10804 )
2021-07-15 08:15:28 +03:00
Delyan Angelov
54dd510ace
strconv: fix compilation with `-cc gcc -cstrict -prod`
2021-07-15 01:05:00 +03:00
shadowninja55
de6918b8c9
checker: fix hex literal overflow check ( #10782 )
2021-07-14 22:33:02 +03:00
penguindark
646c1e15e2
regex: fix a bug with find_all, fixes #10799 ( #10801 )
2021-07-14 22:20:05 +03:00
yuyi
fe1cf2ea26
cgen: fix error of the map literals method call ( #10791 )
2021-07-14 22:03:47 +03:00
playX
9c710b2a34
v.gen.js: improve reference support ( #10793 )
2021-07-14 11:43:48 +03:00
playX
0e08d15bc4
v.gen.js: add basic support for references ( #10785 )
2021-07-13 22:52:01 +03:00
Delyan Angelov
24f5d0afc4
ci: fix `-o x.c` regression introduced in ff62b27
2021-07-13 22:13:28 +03:00
Delyan Angelov
ff62b27ef0
v.builder: remove unused vjs_cc vestige (the -b js backend does its job now)
2021-07-13 20:32:30 +03:00
yuyi
ed78e638b3
cgen: fix if_expr with array methods cond ( #10786 )
2021-07-13 19:51:49 +03:00
Daniel Däschle
78a41969f6
vdoc: fancier attributes ( #10789 )
2021-07-13 19:44:22 +03:00
Miccah
c3c420a41c
vweb: remove chunked encoding support in server responses ( #10750 )
2021-07-13 15:47:16 +03:00
playX
ee00d80931
v.gen.js: support global declarations in the JS backend ( #10773 )
2021-07-13 15:36:06 +03:00
Delyan Angelov
d444dbd4d9
tests: add a multilevel pointer cast test too
2021-07-13 14:08:50 +03:00
Delyan Angelov
bd0653abab
parser: cleanup `&Type(x)` more, add fmt regression test
2021-07-13 13:12:37 +03:00
crthpl
5089eb4a84
parser: fix pointer cast expressions hack ( #10777 )
2021-07-13 12:01:24 +03:00
Delyan Angelov
1bf6743987
vinix: support -os vinix (part 2)
2021-07-13 11:41:45 +03:00
Delyan Angelov
05466ce1b6
v.gen.c: fix cheaders.v
2021-07-13 11:30:51 +03:00
Delyan Angelov
85564b7b83
vinix: support -os vinix (part 1)
2021-07-13 11:24:09 +03:00
yuyi
2a9d6fef9f
cgen: fix initialization errors with fixed array aliases ( #10784 )
2021-07-13 10:51:54 +03:00
shadowninja55
d1f1c5ae51
v doc: add attribute tags to `v doc -f html` ( #10778 )
2021-07-13 08:27:20 +03:00
shadowninja55
7694afa44c
checker: check that `mut` args are lvalues ( #10779 )
2021-07-13 08:06:39 +03:00
shadowninja55
02f0a30555
checker: ensure hex character literals don't overflow in strings ( #10725 )
2021-07-12 22:37:31 +03:00
yuyi
1b26ce1f7a
cgen: fix array of alias's slice() ( #10772 )
2021-07-12 15:59:01 +03:00
pancake
fe65cde03b
tools: use os.symlink instead of system('ln -s') in `v symlink` ( #10769 )
2021-07-12 14:23:25 +03:00
Miccah
3039092b89
net.http: add header_from_map and join functions ( #10747 )
2021-07-12 12:16:41 +03:00
yuyi
581280e6fc
parser: cleanup check_cross_variables() ( #10754 )
2021-07-12 12:10:42 +03:00
Delyan Angelov
b5f1cf80a6
ci: fix regression bug in formatting of go_array_wait_test.v (caused by 974737f
)
2021-07-12 10:55:30 +03:00
Delyan Angelov
974737f26b
vfmt: keep `module mymodule ... x := []thread MyStruct{}` as it is
2021-07-12 10:46:36 +03:00
yuyi
5c7881feb7
checker: fix error of for_in alias ( #10770 )
2021-07-12 09:17:00 +03:00
yuyi
719bf63f16
scanner: fix nested multiline comments ( #10760 )
2021-07-12 07:17:38 +03:00
zakuro
ba9b53cc4d
cgen: fix error when using anon generics fn that have generics struct arg ( #10751 )
2021-07-11 19:30:41 +03:00
yuyi
a3ed9c1bbd
cgen: fix fixed array of function str() ( fix #10744 ) ( #10753 )
2021-07-11 19:24:33 +03:00
yuyi
938e9b61b5
parser: check undefined variables in assign_stmt ( #10755 )
2021-07-11 19:09:35 +03:00
yuyi
c65bfc122d
checker: check assigning array_init with no type ( #10757 )
2021-07-11 18:52:01 +03:00
Delyan Angelov
9d241f75eb
v.markused: add string_at_with_check to the roots
2021-07-11 12:03:37 +03:00
Delyan Angelov
fd644e4e28
flag: add .usage_example/1, .footer/1, .remaining_parameters/0 and tests
2021-07-11 11:06:48 +03:00
yuyi
71e8237483
parser: check undefined variables in array inits ( #10746 )
2021-07-11 03:49:07 +03:00
shadowninja55
b222e4efae
checker: change expr depth limit to 150 ( #10745 )
2021-07-10 20:24:53 +03:00
Miccah
44e78a6301
vweb: use http.Response constants instead of strings ( #10730 )
2021-07-10 11:58:07 +03:00
zakuro
cb14e42af8
fmt: fix removal of selective imported Enum ( #10729 )
2021-07-10 11:06:01 +03:00
shadowninja55
a1088275b9
checker: prohibit illegal types in string interpolation literals ( #10705 )
2021-07-10 00:00:12 +03:00
waspoza
075e09b10e
os: fix a file descriptor leak in os.read_bytes() ( #10723 )
2021-07-09 23:49:46 +03:00
Delyan Angelov
477d442f18
flag: add overridable --help and --version by default
2021-07-09 22:08:23 +03:00
Louis Schmieder
eb96ad11d9
checker: add pkgconfig to comptime if ( #10692 )
2021-07-09 18:17:04 +03:00
shadowninja55
aa5b609d95
checker: check integer literals ( #10706 )
2021-07-09 14:02:10 +03:00
yuyi
310bb1a8a6
cgen: fix generics with variadic generic args ( #10700 )
2021-07-09 12:09:30 +03:00
pancake
6f234ee34a
v.pref: uncomment the `$if serenity {}` block, after vc gets regenerated ( #10716 )
2021-07-09 11:57:43 +03:00
Delyan Angelov
972cbe2e9a
serenity: add more support
2021-07-09 11:33:51 +03:00
JalonSolov
f62b6b37f0
flag: handle `--` as a parsing stop, and pass everything after it in .finalise() ( #10703 )
2021-07-09 11:13:32 +03:00
pancake
47bf64473c
vlib: reimplement glob in V for UNIX to not depend on libc ( #10707 )
2021-07-09 03:27:16 +03:00
pancake
151cd0bfe6
all: SerenityOS support ( #10702 )
2021-07-09 03:26:43 +03:00
Delyan Angelov
13917dc095
Revert "cgen: fix g.typ() not adding correct number of * for generic types ( #10687 )"
...
This reverts commit bfafdb69c9
.
2021-07-08 22:15:44 +03:00
crthpl
bfafdb69c9
cgen: fix g.typ() not adding correct number of * for generic types ( #10687 )
2021-07-08 21:28:40 +03:00
Delyan Angelov
f5d3a6e020
v.pref: fix `error: duplicate method` with -b native of a file.v with `import os`
2021-07-08 19:19:28 +03:00
yuyi
fb9b2e873c
checker: fix generic fn with assign reference generic struct ( fix #10681 ) ( #10695 )
2021-07-08 16:50:25 +03:00
pancake
eac8f77613
cgen: add sys/wait.h in cheaders.v for SerenityOS too ( #10698 )
2021-07-08 16:29:30 +03:00
Alexander Medvednikov
9ba6c23d5c
checker: casted => cast
2021-07-08 05:11:12 +03:00
Delyan Angelov
7b4c342396
os: disable os.glob() on Android for now (fixes termux compilation)
2021-07-08 00:00:40 +03:00
shadowninja55
806d6172cb
checker: prohibit casting `void` ( #10690 )
2021-07-07 21:59:58 +03:00
yuyi
6436d9a827
cgen: fix error of generic array typedef ( #10679 )
2021-07-07 12:42:53 +03:00
shadowninja55
f070222124
checker: prohibit option and `IError` in multi-return ( #10689 )
2021-07-07 11:57:10 +03:00
crthpl
d14de5fdaf
all: fix generic functions with pointer args ( #10686 )
2021-07-07 11:51:05 +03:00
crthpl
9eee6631cc
sokol: add mouse locking ( #10684 )
2021-07-06 20:43:41 +03:00
Delyan Angelov
55eeb701a9
time: fix `time.parse_iso8601(2037-07-23)?.add_days(181).str() == "1901-12-13 17:31:44"`
2021-07-06 18:54:33 +03:00
yuyi
9f8c3cc159
cgen: fix fn return array of interface ( #10677 )
2021-07-06 16:33:26 +03:00
Delyan Angelov
6dde9f76c6
cgen: reset g.tmp_count at the start of each fn (minimise v.c commit delta)
2021-07-06 14:50:30 +03:00
Delyan Angelov
1e6230a441
v.scanner: use mathutil instead of `mu` (easier to search)
2021-07-06 13:06:19 +03:00
Delyan Angelov
54f6dc70c3
v.util: add Timers.show_remaining/0, use it in v.builder.compile/2
2021-07-06 13:06:11 +03:00
yuyi
59d80e2758
cgen: fix interface fn return with struct_init ( #10675 )
2021-07-06 10:14:13 +03:00
El Koulali András
dacfb71820
cgen: fix string interpolation where the expression generates multiple C statements ( #10674 )
2021-07-06 09:04:29 +03:00
yuyi
1857874d1a
tests: rename anon_fn_with_array_arguments.v to anon_fn_with_array_arguments_test.v ( #10650 )
2021-07-05 21:08:31 +03:00
Uwe Krüger
a1f123bd42
cgen: enable string index error handling `s[i] or {...}` ( #10670 )
2021-07-05 21:00:30 +03:00
Lukas Neubert
9e61321d4c
cgen: fix VUNREACHABLE inside ternary ( #10672 )
2021-07-05 18:26:01 +03:00
Delyan Angelov
d307ab2c7c
v.markused: fix `-skip-unused -gc boehm` after removing of ustring
2021-07-05 16:48:03 +03:00
Alexander Medvednikov
0f72bc9819
parser: temporary [c2v_variadic] fn attr for c2v'ed code
2021-07-05 11:32:15 +03:00
yuyi
c4b5805890
checker: check generic method call args mismatch ( #10669 )
2021-07-05 10:14:00 +03:00
Delyan Angelov
972542d6ee
checker: `[noreturn]` part 2 (cleanup) ( #10667 )
2021-07-05 05:05:37 +03:00
shadowninja55
da9c75f2ca
checker: string != IError ( #10665 )
2021-07-05 05:05:08 +03:00
Delyan Angelov
6aecda3be8
all: support `[noreturn] fn abc() { for{} }`, mark panic/1 and exit/1with it too. ( #10654 )
2021-07-04 20:24:19 +03:00
yuyi
b0b4b8e65b
checker: fix missing check generic fn call args ( fix #10649 ) ( #10657 )
2021-07-04 19:15:15 +03:00
yuyi
665279938e
checker: fix nested generic struct init ( fix #10652 ) ( #10659 )
2021-07-04 18:37:31 +03:00
shadowninja55
8c43d2450f
vweb: prohibit invalid parameter types in vweb app methods ( #10631 )
2021-07-04 18:37:09 +03:00
yuyi
f246d73d6e
cgen: fix generic fn return mut parameter ( #10662 )
2021-07-04 18:36:37 +03:00
Alexander Medvednikov
6a64259527
string: bring back the is_lit comment
2021-07-03 20:16:49 +03:00
Daniel Däschle
0f9537ece5
all: remove ustring ( #10630 )
2021-07-03 20:14:09 +03:00
yuyi
5a4a1997e7
cgen: fix empty struct initilization ( #10651 )
2021-07-03 20:11:56 +03:00
مهدی
55aa810e8a
gx: complete the string_colors map ( #10634 )
2021-07-03 10:09:11 +03:00
Tomas Hellström
ec973f5c6e
x.websocket: move to net.websocket module ( #10648 )
2021-07-03 02:56:00 +03:00
Alexander Medvednikov
c44a47acb1
gg: fix draw_line on macos (native rendering)
2021-07-03 02:49:20 +03:00
yuyi
e4d88a5be5
v.checker: minor cleanup of fn_call() ( #10632 )
2021-07-02 19:45:12 +03:00
yuyi
21512d1491
checker: fix generic fn inferring multi paras type ( fix #10623 ) ( #10626 )
2021-07-02 17:38:57 +03:00
yuyi
c0f855ace7
cgen: fix anon optional fn ( fix #10640 ) ( #10644 )
2021-07-02 17:07:05 +03:00
yuyi
8628b19a3a
ast.table: optimize get_final_type_symbol() ( #10646 )
2021-07-02 16:59:41 +03:00
Flinner
1486258591
strconv: fix `atoi` returning 0 on large strings ( #10635 )
2021-07-02 10:39:57 +03:00
yuyi
abbf71c794
ast.table: cleanup type_implements_interface() ( #10643 )
2021-07-02 10:18:04 +03:00
Delyan Angelov
a33a2ba095
checker: check for `x := []Interface{len: 9}` without `init:`
2021-07-02 08:37:49 +03:00
Enzo
d0a09579cc
cgen: cleanup `Gen.gen_*_equality_fn` ( #10633 )
2021-07-01 15:42:49 +03:00
yuyi
8b901df366
table: optimize generated code for an empty interface ( #10624 )
2021-07-01 12:25:40 +03:00
Alexander Medvednikov
41e88423aa
Revert "builtin: use == 0 instead of isnil()"
...
This reverts commit 8650ec6916
.
2021-07-01 06:21:03 +03:00
Daniel Däschle
3881e97a40
vlib: remove ustring usage ( #10618 )
2021-06-30 22:30:28 +03:00
div72
9d02ca51d1
checker: relax naming requirements for translated code ( #10619 )
2021-06-30 14:47:13 +03:00
Bastian Buck
8cc49b5e9e
os: add utime() ( #9796 )
2021-06-30 10:21:23 +03:00
Enzo
b351aa1289
gen: cleanup `Gen.array init` ( #10613 )
2021-06-30 09:45:18 +03:00
Daniel Däschle
6838030ab5
builtin: add string.runes() ( #10611 )
2021-06-30 09:17:38 +03:00
yuyi
1e896c7020
checker: check optional interface type mismatch ( #10617 )
2021-06-30 08:54:28 +03:00
Bastian Buck
d2f19ac494
os: add a glob() function ( #10497 )
2021-06-30 08:30:18 +03:00
shadowninja55
f029f7e897
checker: prohibit `char.str()`, add tests ( #10615 )
2021-06-30 08:16:31 +03:00
yuyi
00333806e0
cgen: minor cleanup in cheaders.v ( #10610 )
2021-06-29 22:35:36 +03:00
yuyi
aaee251550
cgen: simplify auto_str_methods.v ( #10606 )
2021-06-29 18:47:03 +03:00
Bastian Buck
97b83a4986
os: add debugger_present() for linux ( #10257 )
2021-06-29 15:00:48 +03:00
Delyan Angelov
ab5a4cf4e5
builtin: cleanup .before() documentation
2021-06-29 14:50:55 +03:00
Delyan Angelov
1b5d0ba8fd
builtin: document existing behaviour of .before() methods on strings
2021-06-29 14:40:37 +03:00
Delyan Angelov
d5ee60b4a1
v.builder: use a github repo for ~/.vmodules/linuxroot/ folder, to ease its updating
2021-06-29 13:05:43 +03:00
shadowninja55
f45f30a9c2
checker, cgen: fix aliased array methods ( #10603 )
2021-06-29 12:14:37 +03:00
Delyan Angelov
58df35b453
x.json2: fix `json_string` for utf8 codepoints, add regression test
2021-06-29 11:40:52 +03:00
yuyi
04221475d1
cgen: fix go call interface method ( fix #10520 ) ( #10602 )
2021-06-29 11:16:15 +03:00
yuyi
2bcc733ff6
v.parser: rename pratt.v to expr.v ( #10566 )
2021-06-28 19:35:06 +03:00
shadowninja55
06a6a8e199
checker: check for empty branches in match expressions ( #10593 )
2021-06-28 19:32:28 +03:00
Delyan Angelov
63638fd271
cgen: optimize generated array.index(elem)
2021-06-28 17:45:13 +03:00
yuyi
4af4f2b5a5
cgen: fix `go fn(mut x Interface){ println(x) }(x)` ( #10585 )
2021-06-28 16:31:11 +03:00
yuyi
0ac0ab6b4b
cgen: fix auto str for sumtype with alias ( #10599 )
2021-06-28 14:17:00 +03:00
Ned Palacios
003f60fc1a
x.json2: fix nest level check ( #10584 )
2021-06-28 14:05:27 +03:00
R cqls
cdb31119f3
x.ttf: apply ctx.scale for x and y in draw_text_bmp ( #10598 )
2021-06-28 13:32:17 +03:00
Lukas Neubert
1492eae27d
v.fmt: keep selective type imports used for casting ( #10597 )
2021-06-28 13:21:26 +03:00
shadowninja55
2e5ed08558
v.parser: allow anonymous function to return a function ( #10592 )
2021-06-28 11:51:24 +03:00
Delyan Angelov
8650ec6916
builtin: use == 0 instead of isnil()
...
Do not rely on C inlining that may not happen for a *very* frequently
called fn in lower level code.
2021-06-28 10:59:14 +03:00
shadowninja55
830cf4645c
v.parser: prohibit registering selectively imported (structs / enums / aliases / interfaces) ( #10579 )
2021-06-28 10:26:09 +03:00
yuyi
67d1b72e36
cgen: fix interface with nested fields ( fix #10077 ) ( #10589 )
2021-06-28 10:24:05 +03:00
Delyan Angelov
c3b9eaf146
v.c.gen: fix codegen of auto str methods for structs having &voidptr fields
2021-06-28 10:05:42 +03:00
Thomas Treffner
9651a9796b
builtin: fix termux prints ( #10595 )
2021-06-28 08:27:12 +03:00
spaceface
4bed4afef7
cgen: fix clash in generated variant and method names ( #10581 )
2021-06-27 19:05:32 +03:00
shadowninja55
ea3983a91b
checker: require .sort() body for some types ( #10550 )
2021-06-27 17:17:03 +03:00
Delyan Angelov
bafea57622
tests: move the test.bin output of macho_test.v to os.temp_dir()
2021-06-27 10:50:17 +03:00
yuyi
51075ffa15
cgen: fix fn mut val of interface type ( #10568 )
2021-06-26 18:13:48 +03:00
shadowninja55
eb5afb7403
checker: prohibit selective const imports ( #10574 )
2021-06-26 18:09:52 +03:00
Alexander Medvednikov
02f4f635cf
cgen: remove debug comments before for loops
2021-06-26 02:06:02 +03:00
Delyan Angelov
19dca026a9
checker: bugfix for `__global ( cpu_get_id fn () u64 ) ... cpu_get_id()`
...
Support new vlib/v/checker/tests/globals_run/ folder, for .vv files
that will be run with `-enable-globals run`, and the results will be
compared with their matching `.run.out` files.
Add regression tests.
2021-06-26 01:23:50 +03:00
Delyan Angelov
6890756cd2
os: cleanup of old deprecated functions. Add File.write_full_buffer/2; use it in os.write_file/2
2021-06-25 22:51:59 +03:00
Alexander Medvednikov
e797547d6d
Revert "Revert "v.gen.c: remove unused memfreedup""
...
This reverts commit 72c12b6735
.
2021-06-25 20:29:42 +03:00
Alexander Medvednikov
7458927593
checker: fix global fn calls
2021-06-25 20:26:24 +03:00
Alexander Medvednikov
72c12b6735
Revert "v.gen.c: remove unused memfreedup"
...
This reverts commit 6333adad23
.
2021-06-25 20:15:27 +03:00
shadowninja55
9b84faad6f
v.parser: prohibit redeclaration of imported functions ( #10564 )
2021-06-25 14:27:58 +03:00
shadowninja55
be8be3d319
v.parser: prohibit redeclaration of builtin types ( #10563 )
2021-06-25 13:08:56 +03:00
yuyi
e9de30373f
table: fix interface embedding with interface parameter ( #10567 )
2021-06-25 12:52:25 +03:00
yuyi
e3ea5c1e17
v.ast: cleanup Table.resolve_generic_to_concrete/3 ( #10559 )
2021-06-24 18:21:18 +03:00
Delyan Angelov
b2391424d9
examples: add examples/gg/random.v demonstrating how to stream images/pixels
2021-06-24 17:45:14 +03:00
yuyi
4bfe76123a
generics: fix generic fn type mismatch of returning a generic struct ( #10553 )
2021-06-24 12:47:36 +03:00
BigBlack
8324a766e8
checker: allow for `unsafe {*(p+1) = 22}` ( #10557 )
2021-06-24 12:39:42 +03:00
Delyan Angelov
96adfc9d5b
x.ttf: vfmt the examples in the README.md
2021-06-24 11:15:13 +03:00
Delyan Angelov
f18265e6a8
gg: remove obsolete usages of `use_ortho: true`
2021-06-24 11:15:12 +03:00
Delyan Angelov
cc91d9bee3
gg: keep/update commonly used event state inside the gg.Context
2021-06-24 11:14:57 +03:00
shadowninja55
83eb9d5d07
checker: disallow accessing fields or methods of `void` ( #10552 )
2021-06-24 07:33:12 +03:00
Rémi
c0b53048f5
bitfield: minor documentation and function tweaks ( #10549 )
2021-06-24 07:27:04 +03:00
Alexander Medvednikov
1469b47f7d
vweb: free app object for each request
2021-06-24 01:37:06 +03:00
Delyan Angelov
f580597ffc
ci: fix -cstrict compilation on tests-sanitize-undefined-clang
2021-06-23 20:17:58 +03:00
yuyi
93bb87f44f
cgen: simplify auto_str_methods ( #10544 )
2021-06-23 20:13:14 +03:00
Delyan Angelov
66bf963a48
builtin: remove C.printf call from string.free()
2021-06-23 16:31:46 +03:00
yuyi
e8a1e9d88f
cgen: fix interface only declare with optional method ( #10546 )
2021-06-23 15:14:08 +03:00
crthpl
500b48788e
parser, cgen: fix basic asm registers, fix numbered labels in addressing, support indirect branching ( #10545 )
2021-06-23 14:20:07 +03:00
Delyan Angelov
69227b8be7
tests: bump up sleep times in break_in_lock_test.v, so that its results are stabler
2021-06-23 14:14:53 +03:00
Delyan Angelov
9151f085f5
ci: fix failing Freestanding task
2021-06-23 13:18:17 +03:00
Delyan Angelov
6333adad23
v.gen.c: remove unused memfreedup
2021-06-23 12:22:05 +03:00
Delyan Angelov
dd254a6652
builtin: streamline print/eprint/println/eprintln, do not println in 2 steps when possible
2021-06-23 12:22:05 +03:00
Delyan Angelov
a588e50b47
v.gen.c: remove unused g_str_buf
2021-06-23 12:22:04 +03:00
Yuriy Zymlex
6736817bba
parser: fix `rewind_scanner_to_current_token_in_new_mode` ( #10495 )
2021-06-22 20:17:36 +03:00
Delyan Angelov
b6bd6d1d35
tests: add cmd/tools/vdoc/tests/vdoc_file_test.v, extract a `v.util.diff` module, cleanup
2021-06-22 18:52:34 +03:00
yuyi
0aef92b613
cgen: cleanup auto_str_methods() ( #10540 )
2021-06-22 14:28:44 +03:00
Uwe Krüger
72358833e0
time: use `Duration(C.INT64_MAX)` as infinite ( #10539 )
2021-06-22 12:17:44 +03:00
Delyan Angelov
dd6591b2f5
ci: fix `[if xyz ?]` usages
2021-06-22 10:46:43 +03:00
Delyan Angelov
a3f876d683
strconv: use `[if debug_strconv?]` for `fn assert1`
2021-06-22 10:33:48 +03:00
Delyan Angelov
79df7f51c3
v: deprecate `[if ident]` in favour of `[if ident ?]`
2021-06-22 10:30:14 +03:00
Rémi
d65aa977b8
v.gen.native: cleanup, remove unused hi.s ( #10538 )
2021-06-22 09:55:27 +03:00
kahsa
f1c4753cc0
gg: fix draw_line ( #10534 )
2021-06-21 20:30:03 +03:00
yuyi
6dbe8a8a2c
cgen: fix for in mut reference selector val ( fix #10524 ) ( #10536 )
2021-06-21 19:25:18 +03:00
yuyi
da4b6b934d
checker: fix map assign array of interface values ( #10532 )
2021-06-21 19:24:42 +03:00
Ekopalypse
e259f7ac58
net: make openssl init function backward compatible ( #10537 )
2021-06-21 19:23:57 +03:00
Delyan Angelov
71523c86a1
v.util: simplify smart_quote more
2021-06-21 16:08:19 +03:00
yuyi
5d0e9417db
cgen: minor simplification of gen_str_for_struct() ( #10533 )
2021-06-21 14:19:52 +03:00
Bastian Buck
1e9e717111
os: fix using Win32-API with TCC32 ( #10496 )
2021-06-21 14:14:58 +03:00
Delyan Angelov
45c6b6493b
v.util: make util.smart_quote use its output string builder directly
2021-06-21 09:13:38 +03:00
Ekopalypse
81fe702b77
builtin: disable the unhandled exception handler, when `-d no_backtrace` is used ( #10530 )
2021-06-21 08:01:18 +03:00
Uwe Krüger
8f2f377cb1
v.checker,v.gen.c: extend auto heap mechanism to objects used as interfaces ( #10529 )
2021-06-21 07:10:10 +03:00
Uwe Krüger
f32a76b268
all: promote value type function arguments to heap if necessary ( #10528 )
2021-06-20 18:40:24 +03:00
yuyi
6c8182cc25
cgen: fix assigning literal fixed arrays to map values ( #10525 )
2021-06-20 13:36:01 +03:00
Delyan Angelov
a21ee1abd4
strings.textscanner: add .current/0, .peek_back/0, .peek_back_n/1 and .goto_end/1 methods
2021-06-20 13:32:20 +03:00
Enzo
44d0305ca9
checker,gen: remove automatic string to C string conversion ( #10144 )
2021-06-20 09:30:08 +03:00
yuyi
afc81277be
v.gen.c: fix assigning a fixed array variable to a map value ( #10523 )
2021-06-20 08:09:24 +03:00
KJ Lawrence
79879128b6
gg: add `rotate` to `DrawImageConfig` ( #10521 )
2021-06-20 08:01:41 +03:00
KJ Lawrence
123682dffb
gg: add a `draw_line_with_config` method ( #10513 )
2021-06-19 21:32:08 +03:00
crthpl
71b41d1042
ast.table: fix anonymous function declaration uniqueness for non-tcc c compilers ( #10509 )
2021-06-19 19:02:26 +03:00
yuyi
1a52da9f62
tests: add as_cast_already_smartcast_sumtype_test.v ( #10517 )
2021-06-19 18:50:09 +03:00
yuyi
7ec55e4c51
v.ast: add comments for ast.AsCast ( #10516 )
2021-06-19 17:07:07 +03:00
Ekopalypse
c53a344d2f
builtin: allow a static gc build on windows ( #10510 )
2021-06-19 17:06:25 +03:00
Ryan Roden-Corrent
6171e12f9f
orm: don't panic for a psql query with no results. ( #10511 )
2021-06-19 09:10:49 +03:00
KJ Lawrence
22214c73e3
gg: apply ctx.scale to circle pos ( #10512 )
2021-06-19 09:07:34 +03:00
Delyan Angelov
aea23e8a40
strconv: fix fxx_to_str_l_parse/fxx_to_str_l_parse_no_dot returning s without cloning
2021-06-19 07:48:46 +03:00
Bastian Buck
acf9d168cb
os: fix some C compiler warnings for windows ( #10506 )
2021-06-18 20:07:25 +03:00
Delyan Angelov
d56ae2d508
v.fmt: keep comments after struct embeds
2021-06-18 18:42:05 +03:00
Delyan Angelov
de384f1cc8
strconv: vfmt everything
2021-06-18 17:59:56 +03:00
Delyan Angelov
5dff8dc097
v.fmt: keep `[ ... \n 123, // end of line comment \n ... ]` as is
2021-06-18 16:43:03 +03:00
Delyan Angelov
9f6ddb4c21
v.fmt: add an independent Comment.is_inline flag. Use it for fixing `[ .. //x ]` => `[ .. //x, ]`
2021-06-18 15:52:31 +03:00
yuyi
2298063129
checker: fix nested if smartcast selector exprs ( fix #10372 #10379 ) ( #10502 )
2021-06-18 14:49:15 +03:00
Enzo
05f0f3e180
v.gen.c: refactor infix expression ( #10485 )
2021-06-18 14:27:52 +03:00
Delyan Angelov
b7fea87d07
os: fix normalize_drive_letter (used by os.real_path) returning a parameter
2021-06-18 13:06:52 +03:00
Delyan Angelov
a01e8eb0f8
v.checker: implement `-d debug_manualfree`, noticing `[manualfree]fn f(s string){return s}`
2021-06-18 13:06:52 +03:00
crthpl
4abb1a8b7b
cgen: fix unknown labels in addressing ( #10503 )
2021-06-18 13:03:38 +03:00
Uwe Krüger
3f5aa5e634
sync: make `Semaphore.*wait()` robust against interrupts by signals ( #10491 )
2021-06-18 12:44:18 +03:00
yuyi
a98d644637
cgen: fix fn mut args of array ( #10493 )
2021-06-18 02:51:55 +03:00
zakuro
751f2950ea
checker: skip checking `[required]` fields for struct update syntax ( #10500 )
2021-06-18 02:51:33 +03:00
JalonSolov
64f34f6d61
net: return error unless response code was 200 ( #10499 )
2021-06-18 01:28:40 +03:00
crthpl
4688c75389
cgen, parser: fix several assembly bugs ( #10498 )
2021-06-18 01:20:46 +03:00
Delyan Angelov
39e7290416
v: support for `[if expr]`, part 2 (old `[if ident]` is not yet deprecated)
2021-06-17 18:55:20 +03:00
yuyi
c58b04bcbf
checker: implement if smartcast multi conds (part 2) ( #10487 )
2021-06-17 12:27:31 +03:00
Tomas Hellström
46eb6befd5
vweb,net: just log errors in accept() instead of panic-ing, add time.sleep(1ms) after each retry in select ( #10489 )
2021-06-17 10:41:26 +03:00
Delyan Angelov
c2a7a84c72
v.parser: support for [if expr], part 1
...
Enables bootstrapping.
Supports the new [if x?] syntax, without using it.
2021-06-17 10:31:44 +03:00
Miccah
6a19a13812
vweb: re-enable concurrency and fix the counter example ( #10484 )
2021-06-17 02:08:02 +03:00
Alexander Medvednikov
ae014ad06d
vweb: add a missing check
2021-06-16 23:35:14 +03:00
Alexander Medvednikov
eacdd0d7e1
comptime: fix $(field.name) in $for; vweb: shared fields
2021-06-16 20:33:39 +03:00
Andreas Heissenberger
b2e2a53f98
net.http: add ability to parametrize the read and write timeouts of a http request ( #10482 )
2021-06-16 20:21:49 +03:00
yuyi
e31be9f5c4
checker: fix generic fn assign ( #10479 )
2021-06-16 19:17:07 +03:00
yuyi
1dca06495d
checker: implement if smartcast multi conds (part 1) ( #10477 )
2021-06-16 19:16:15 +03:00
Delyan Angelov
2f35aad8ce
ci: fix tests-sanitize-memory-clang too
2021-06-16 13:32:37 +03:00
Delyan Angelov
9dff3c36a6
ci: fix failing `Self tests` task on the `windows-msvc` job 2
2021-06-16 12:44:55 +03:00
Delyan Angelov
ed0af3fd88
ci: fix failing `Self tests` task on the `windows-msvc` job
2021-06-16 12:44:00 +03:00
Delyan Angelov
e518cdbe7f
ci: fix msvc compilation of interface code
2021-06-16 12:15:16 +03:00
Delyan Angelov
69ce8baefd
v.ast: allow for `fn f()&IAbc{return voidptr(0)}` with no additional voidptr implicit conversions to compile
2021-06-16 11:07:04 +03:00
Delyan Angelov
862c4cf371
v.checker,v.gen: allow for `&IAbc(voidptr(0))` where IAbc contains fields
2021-06-16 10:48:50 +03:00
Delyan Angelov
e7cc93a120
v.checker: allow for a `f(unsafe{voidptr(0)})` call of `fn f(x &Interface){}`
2021-06-16 09:20:01 +03:00
Tomas Hellström
2f9e03b360
net: retry logic on select when fail on signal ( #10453 )
2021-06-16 04:07:24 +03:00
yuyi
ffcc6cf6d2
checker: fix `for in mut val` for floats ( #10470 )
2021-06-16 04:04:31 +03:00
yuyi
c3b9336f21
cgen: fix generic method receiver typeof name error ( #10469 )
2021-06-16 04:03:50 +03:00
Miccah
a0b7e1a0ca
os/notify: make epoll wrapper thread safe ( #10473 )
2021-06-16 04:03:33 +03:00
JalonSolov
aaa59ac770
net: fix chunked check, remove length workaround ( #10472 )
2021-06-15 19:28:54 +03:00
KJ Lawrence
b0caadae31
gg: add new draw_image_with_config method ( #10428 )
2021-06-15 18:30:35 +03:00
Dialga
7201d5db59
vweb: fix parsing form data ( #10468 )
2021-06-15 18:28:16 +03:00
Uwe Krüger
f3408a2484
gc: use optimized mode by default ( #10466 )
2021-06-15 15:43:00 +03:00
Uwe Krüger
60c880a0cc
vlib: use `malloc_noscan()` where possible ( #10465 )
2021-06-15 14:47:11 +03:00
Delyan Angelov
48b3ab831b
ci: fix failing test test_realpath_existing for os.real_path on macos
2021-06-15 14:13:12 +03:00
Delyan Angelov
0c922f5570
ci: fix the failing os.real_path tests on windows
2021-06-15 13:34:28 +03:00
Delyan Angelov
51596da314
os: fix returning parameter in [manualfree]os.real_path(fpath), when fpath==""
2021-06-15 13:10:41 +03:00
JalonSolov
12bb0c236a
net: fix 0 length file if Content-Header is missing or corrupt ( #10464 )
2021-06-15 07:29:02 +03:00
Miccah
e328b1d292
os: create epoll wrapper ( #10404 )
2021-06-15 04:44:31 +03:00
yuyi
bdc8586ddd
checker, cgen: fix `for in mut val` ( #10444 )
2021-06-15 04:43:10 +03:00
Uwe Krüger
98a496d70c
tests: remove white space from file name ( #10462 )
2021-06-15 04:42:15 +03:00
Uwe Krüger
a8437584aa
gc: extend optimized mode to channel buffers ( #10443 )
2021-06-14 18:12:47 +03:00
yuyi
e5debbbe01
checker: implement smartcast if multi conds (part 1/2) ( #10452 )
2021-06-14 18:10:29 +03:00
kac-
8d4c9823ba
tools,clipboard: use lowercase library names for `-luser32`etc, allowing linux->windows cross compilation of ui programs ( #10455 )
2021-06-14 15:42:56 +03:00
Andreas Heissenberger
7983495c57
tools: improve `v check-md` by checking for broken TOC headline links ( #10417 )
2021-06-14 13:12:02 +03:00
Delyan Angelov
be3702dcb7
builtin: uncomment already working test functions in array_test.v
2021-06-14 10:13:59 +03:00
Delyan Angelov
d7d9305d96
net: vfmt everything
2021-06-14 10:08:41 +03:00
Emily Hudson
535dcac8fa
net: ipv6 support, merge unix+ip;[pack:x] attribute ( #9904 )
2021-06-13 23:53:38 +03:00
yuyi
cab054c1ba
checker: simplify checking array append type mismatch ( #10422 )
2021-06-13 06:29:40 +03:00
yuyi
a6eba7a9b4
cgen: simplify match_expr_classic() ( #10424 )
2021-06-13 06:27:31 +03:00
Uwe Krüger
5ee1ded3fb
gc: extend optimized mode to maps ( #10426 )
2021-06-13 06:26:43 +03:00
Uwe Krüger
2ac39d9112
all: new function `isreftype(T)` to know if `T` contains pointers ( #10438 )
2021-06-13 06:26:13 +03:00
Delyan Angelov
4a59316600
v.pref: remove 'unknown host CPU architecture' label to fix msvc CI
2021-06-13 03:05:00 +03:00
Delyan Angelov
ed07f00729
v.checker: bump checker_match_exhaustive_cutoff_limit to 12
2021-06-13 02:04:08 +03:00
Delyan Angelov
9e270bacf7
v.pref: do not panic in get_host_arch, assume Arch.amd64 as a default
2021-06-13 01:45:13 +03:00
JalonSolov
6e41561124
net: fix download_file ( #10439 )
2021-06-13 01:40:32 +03:00
Delyan Angelov
2ff0f62866
v: fix passing `-arch arm64` to `$if arm64{}`
2021-06-13 01:15:35 +03:00
Delyan Angelov
5870751769
v.gen.c: use the __V_architecture macro in v.pref.get_host_arch()
2021-06-13 00:49:30 +03:00
Delyan Angelov
dc1c8820cc
Revert "Revert "v.gen.c: add a __V_architecture macro""
...
This reverts commit 339f2cd180
.
2021-06-13 00:46:27 +03:00
Delyan Angelov
dc654b0121
Revert "v.gen.c: use the __V_architecture macro in v.pref.get_host_arch()"
...
This reverts commit 5452ba4653
.
2021-06-12 23:15:48 +03:00
Delyan Angelov
339f2cd180
Revert "v.gen.c: add a __V_architecture macro"
...
This reverts commit 6e9218c088
.
2021-06-12 23:15:36 +03:00
Delyan Angelov
5452ba4653
v.gen.c: use the __V_architecture macro in v.pref.get_host_arch()
2021-06-12 22:15:08 +03:00
Delyan Angelov
6e9218c088
v.gen.c: add a __V_architecture macro
2021-06-12 22:01:00 +03:00
yuyi
0e34ce2759
cgen: format generated code in match_expr() ( #10397 )
2021-06-12 21:14:08 +03:00
Delyan Angelov
b7f9bc2a96
sync: support linking with libatomic with tcc on ubuntu aarch64
2021-06-12 20:34:45 +03:00
Delyan Angelov
9f2dc7332f
gen.v.c: fix -usecache with modules having dump()
2021-06-12 18:10:55 +03:00
Alexander Medvednikov
9ac661be5a
checker: use a correct type name in an error
2021-06-12 17:28:30 +03:00
Uwe Krüger
6acf32b869
v.parser: prepare for splitting of `map.v` ( #10432 )
2021-06-12 17:01:37 +03:00
Delyan Angelov
e70bde54dc
ast: improve Expr.str() for `sizeof(Type)` and `__offsetof(StructName, fieldname)`, for more informative asserts/dumps
2021-06-12 16:49:14 +03:00
pancake
3b6045865b
checker: improve error message when using fields as methods ( #10367 )
2021-06-12 15:15:25 +03:00
Alexander Medvednikov
635f045b14
ast: make is_int() work with aliases
2021-06-12 14:35:38 +03:00
Uwe Krüger
652e7ba973
gc: extend optimized mode to strings ( #10431 )
2021-06-12 11:27:08 +03:00
Alexander Medvednikov
e02d1d4a4b
Revert "gc: extend optimized mode to strings ( #10409 )"
...
This reverts commit 3f654a69e3
.
2021-06-12 01:52:06 +03:00
Uwe Krüger
3f654a69e3
gc: extend optimized mode to strings ( #10409 )
2021-06-12 00:03:05 +03:00
Alexander Medvednikov
d0100faf26
all: fix sanitizer build
2021-06-11 18:41:50 +03:00
Alexander Medvednikov
6761697088
checker: do not allow dereferencing function calls on the left side of an =
2021-06-11 16:07:41 +03:00
Uwe Krüger
daeeaef030
vfmt: hot fix to allow separate `array_d_gcboehm_opt.v` ( #10413 )
2021-06-11 12:00:18 +03:00
yuyi
f26626117d
cgen: fix match struct type cond ( #10421 )
2021-06-11 11:58:25 +03:00
crthpl
6576d876fc
cgen: support a `[_naked]` fn attribute ( #10418 )
2021-06-11 11:03:39 +03:00
yuyi
7878bad95e
checker: check array type mismatch of array append ( #10405 )
2021-06-10 21:34:36 +03:00
yuyi
9d852e22b2
cgen: fix match array or map cond ( #10411 )
2021-06-10 21:33:35 +03:00
Uwe Krüger
0e2c86310a
GC-boehm: extend optimized mode to all `array` methods ( #10406 )
2021-06-10 21:26:17 +03:00
yuyi
9a9d539e6f
csv: fix csv fields with double quotes ( #10399 )
2021-06-10 19:24:20 +03:00
shadowninja55
10b9ea3258
checker: add an error for assigning to array slices `a[..2] = [0, 0]` ( #10412 )
2021-06-10 19:18:14 +03:00
pancake
5be982d63e
builtin: fix memory leak on empty strings ( #10408 )
2021-06-10 15:21:57 +03:00
Andreas Heissenberger
96c8d147b2
v.gen.js: add source map creation support (inline only, no src) ( #10384 )
2021-06-10 08:33:46 +03:00
Enzo
14519bbf5c
cgen: clean up interface methods generation ( #10400 )
2021-06-09 22:44:18 +03:00
Uwe Krüger
811a3e1d38
builtin: optimize `array.repeat()` ( #10396 )
2021-06-09 12:52:30 +03:00
Delyan Angelov
115edff7e9
v.checker: restrict `x T` in `fn test<T>(x T){ unsafe{ println(x[0]) }`, but allow `x &T`
2021-06-09 12:07:08 +03:00
Delyan Angelov
f351ff037e
Revert "checker: check generic type indexing error ( #10345 )"
...
This reverts commit 103c777ad6
.
Passing references to values should be allowed, and is already used in vinix:
`pub fn cas<T>(_here &T, _ifthis T, writethis T) bool {`
2021-06-09 11:46:17 +03:00
yuyi
49de1f8e64
checker: cleanup in infix_expr() ( #10368 )
2021-06-09 00:06:29 +03:00
Uwe Krüger
a2243054a5
builtin: fix memory corruption in array `.clone()` and `.repeat()` ( #10394 )
2021-06-08 23:23:28 +03:00
Delyan Angelov
3dc4d13160
v.parser: do not treat test_ functions specially outside of _test.v files
2021-06-08 23:01:49 +03:00
Delyan Angelov
000790b112
vfmt: fix eating JS. from `JS.Struct{}`
2021-06-08 21:27:05 +03:00
Delyan Angelov
95cf120e2e
ci: fix linux-cross job; os.real_path cleanup
2021-06-08 18:34:15 +03:00
Delyan Angelov
f9c4365dc7
v.gen.c: free `indents` in autogenerated .str() methods
2021-06-08 17:24:08 +03:00
Delyan Angelov
d820f2da6f
os: use arr.trim() in read_bytes, instead of a arr[0..x].clone()
2021-06-08 17:24:07 +03:00
Delyan Angelov
40ac7d4892
builtin: support -d trace_vcalloc, -d trace_realloc
2021-06-08 17:24:07 +03:00
yuyi
103c777ad6
checker: check generic type indexing error ( #10345 )
2021-06-08 17:23:44 +03:00
Delyan Angelov
665c386771
builtin: simplify the .si_c and .si_vp cases in StrIntpData.get_fmt_format, free intermediate results
2021-06-08 13:29:03 +03:00
Khalyomede
d2bc9ee7bc
doc: tablename -> table ( #10359 )
2021-06-08 00:48:42 +03:00
Delyan Angelov
98613036c1
gg: fix draw_line on m1
2021-06-07 21:31:24 +03:00
Delyan Angelov
2e6611372a
mysql: use `v oksyntax` for the example in the README.md, so that the check passes on m1 without installed mysql
2021-06-07 18:39:42 +03:00
Delyan Angelov
9f6c4030f6
tests: fix `-cstrict` self compilation on m0 with clang
2021-06-07 18:23:18 +03:00
Delyan Angelov
4772146a7e
tests: fix failing tests on M1
2021-06-07 18:23:18 +03:00
Lukas Neubert
98cdde8247
assert: print enum value of CTempVars on fail ( #10378 )
2021-06-07 15:49:48 +03:00
yuyi
cd464010d4
cgen: fix match with multi sumtype exprs ( #10377 )
2021-06-07 14:16:30 +03:00
youyuanwu
3582118b7c
mssql: support windows ( #10336 )
2021-06-07 14:02:15 +03:00
yuyi
0615f2e236
checker: check generic method receivers with no type parameter ( #10374 )
2021-06-07 12:11:29 +03:00
Carlos Esquerdo Bernat
86778d06b1
net.http: add a Header.starting_with method, to get the first header, starting with a key ( #10119 )
2021-06-07 11:18:40 +03:00
crthpl
8a497080b3
cgen: fix assembly in generic fns ( #10370 )
2021-06-07 10:53:33 +03:00
yuyi
114c382c46
parser: fix generic fn typeof name ( #10363 )
2021-06-06 17:40:13 +03:00
Lukas Neubert
c14b357fec
checker: fix enums in builtin ( #10366 )
2021-06-06 16:27:46 +03:00
pancake
012f866619
native: support more arithmetic, int/string arrays, function returns and internal_strlen ( #10279 )
2021-06-06 16:19:10 +03:00
Delyan Angelov
007ba5178e
v: add more timing points
2021-06-06 12:23:00 +03:00
Alexander Medvednikov
aea93c3a96
net.http: vfmt and remove unused ws_func
2021-06-06 01:51:49 +03:00
yuyi
329a6c974e
table, checker, cgen: implement generic fn infering fixed array ( #10352 )
2021-06-06 01:11:08 +03:00
Miccah
c2981de4d5
http: add server.v and organize HTTP request and response code ( #10355 )
2021-06-06 00:43:14 +03:00
Lukas Neubert
3f00ff465b
checker: check or block inside println calls ( #10354 )
2021-06-05 23:01:58 +03:00
Delyan Angelov
9924f6c54b
ci: fix build-vc job
2021-06-05 18:26:56 +03:00
Delyan Angelov
55ef849cd2
v.markused: trim unused map fns for programs that do not use them
2021-06-05 17:30:25 +03:00
yuyi
8af7558e0c
checker: minor cleanup of return_stmt() ( #10315 )
2021-06-05 14:06:48 +03:00
Yuriy Zymlex
a716a00e38
builder: fix a bug with submodule import ( #10318 )
2021-06-05 12:45:23 +03:00
Lukas Neubert
dc431a3c47
checker: prevent enum value duplication check bypass ( #10287 )
2021-06-05 12:28:17 +03:00
crthpl
9553c5a4e6
parser: fix multiple output modifiers in asm ( #10347 )
2021-06-04 23:18:11 +03:00
KJ Lawrence
751b1cffd3
gg: fix default font style loading ( #10309 )
2021-06-04 20:00:32 +03:00
zakuro
b0c9a87292
v: show an error and exit, when no module name is given in `v build-module` ( #10338 )
2021-06-04 18:30:43 +03:00
Ken
5266b4921d
sqlite: add a last_insert_rowid fn ( #10341 )
2021-06-04 18:10:20 +03:00
Uwe Krüger
89aab95177
builtin: fix -gc boehm on windows ( #10330 )
2021-06-04 17:38:51 +03:00
Lucas Rodrigues
fdc03f70b5
rand.util: workaround for inaccurate `v` warning in vlib/rand/util/util.v ( #10344 )
2021-06-04 17:05:58 +03:00
yuyi
f4486d79c3
checker: minor cleanup of selector_expr() ( #10316 )
2021-06-03 16:49:50 +03:00
Miccah
c8d5e783a3
net: use custom error for invalid headers ( #10323 )
2021-06-03 09:50:07 +03:00
yuyi
fedf07ddd8
checker: minor cleanup of assign_stmt() ( #10314 )
2021-06-03 09:49:03 +03:00
yuyi
86d70fade7
checker: minor cleanup of struct_init() ( #10310 )
2021-06-03 09:48:19 +03:00
zakuro
4089aa38c5
fmt: fix removal of `Abc` in `import mod { Abc }`, where `Abc` is used in a `x as Abc` expression #10306
2021-06-03 06:35:54 +03:00
Ehsan Afzali
672bb6ca7f
parser: fix required function members in struct ( #10299 )
2021-06-03 02:55:58 +03:00
yuyi
b0bafa6376
cgen: fix or_block in for declaration ( #10317 )
2021-06-03 01:18:52 +03:00
Delyan Angelov
b28def7c11
tests: add vlib/v/tests/failing_tests_test.v, support `testdata` in `v test-self` too
2021-06-03 00:32:09 +03:00
yuyi
1747e546bf
parser, checker: check assert optional ( #10319 )
2021-06-02 20:38:26 +03:00
Delyan Angelov
5400a765a4
tests: make `fn test_fn() ? { return error(fail) }` count as a fail
2021-06-02 19:14:37 +03:00
Ryan Roden-Corrent
a368800b26
net.urllib: don't crash on str() if url is missing host ( #10313 )
2021-06-02 16:12:27 +03:00
Larpon
f6bb4d9a4a
strings.textscanner: fix doc strings ( #10298 )
2021-06-02 16:11:16 +03:00
pancake
4b2319fd67
native: fix macho header for amd64 macOS 'Big Sur' ( #10304 )
2021-06-02 16:09:57 +03:00
KJ Lawrence
452a51c8fe
gg: render text if we fell back to system default ( #10307 )
2021-06-02 16:00:14 +03:00
Uwe Krüger
ce3e71cb8e
OpenBSD: support Boehm-GC, X11 and Sqlite ( #10300 )
2021-06-01 22:28:30 +03:00
Delyan Angelov
14d09aa7c2
ci: fix failing `v -cstrict vlib/v/tests/channels_test.v`
2021-06-01 16:48:49 +03:00
Delyan Angelov
8fee140fc0
builtin: small cleanup in string_interpolation.v
2021-06-01 16:21:43 +03:00
Delyan Angelov
5cb2683e97
v.gen.c,v.markused: fix `println(ch)` when ch is a channel
2021-06-01 13:46:59 +03:00
zakuro
0afeba5588
cgen: fix C error with clang, when declaring a fn type with an alias type argument ( #10297 )
2021-06-01 12:37:27 +03:00
Wertzui123
148bb31f6e
v.parser: allow for `if x { $if y {} } else {}`, fix #10243 ( #10294 )
2021-06-01 12:19:39 +03:00
youyuanwu
98505207c4
mssql: support orm create and drop table ( #10296 )
2021-06-01 11:10:27 +03:00
zakuro
90292ce981
fmt: fix removal of `Abc` in `import mod { Abc }`, where Abc is used in a `x is Abc` expression ( #10286 )
2021-05-31 17:35:16 +03:00
yuyi
cb19079d53
all: move cur_concrete_types to Table ( #10269 )
2021-05-31 17:14:45 +03:00
yuyi
9fc5b9dc54
cgen: fix match in map or expr ( #10283 )
2021-05-31 17:10:33 +03:00
Uwe Krüger
d39a55ac11
checker: forbid leaving function from inside `defer` block ( #10285 )
2021-05-31 17:09:57 +03:00
Louis Schmieder
38796521fa
all: allow defer use from other scope ( #10284 )
2021-05-31 14:43:44 +03:00
Delyan Angelov
eac1e25c5d
strings: simplify Builder ( #10263 )
2021-05-31 14:21:06 +03:00
youyuanwu
8990114b4b
vlib: add a vlib/mssql module ( #10280 )
2021-05-31 14:08:31 +03:00
yuyi
5aa4f622b6
checker: fix match expr returning optional ( #10281 )
2021-05-31 12:34:55 +03:00
Lukas Neubert
5b9256ba0b
cgen: write alias typedefs just before interfaces ( #10272 )
2021-05-31 12:26:06 +03:00
Lukas Neubert
09e3099580
checker: error on direct map alias init ( #10282 )
2021-05-31 12:14:37 +03:00
Delyan Angelov
955dc12523
v: replace execuast => executable
2021-05-31 09:39:18 +03:00
KJ Lawrence
9a5768395d
cgen: fix embeds for msvc ( fix #10244 ) ( #10259 )
...
* cgen: fix embed file for mvsc
* define struct fields during init
* vfmt
* wrap string in `cestring` to escape properly
Co-authored-by: klawrence <klawrence@netpark.us>
2021-05-31 07:50:23 +03:00
penguindark
1343787009
builtin: fix interpolation bug for `${x:g/G}`, where `x` is a zero or an infinity ( #10271 )
2021-05-30 19:30:18 +03:00
Uwe Krüger
aa861d1cac
docs: describe array/slice behaviour ( #10252 )
2021-05-30 14:48:33 +03:00
yuyi
13ddfaa433
checker: fix generic fn infer nested struct ( #10262 )
2021-05-30 14:06:52 +03:00
yuyi
c67891d69f
checker: minor cleanup in match_expr() ( #10261 )
2021-05-30 13:33:19 +03:00
Thomas Treffner
ba86d619fa
builtin: fix print/println on termux ( #10253 )
2021-05-30 08:10:32 +03:00
Delyan Angelov
b29bc9cdce
checker: fix panic on `fn abc()?{ return error() }`
2021-05-29 23:46:56 +03:00
Bastian Buck
d6e462a6ca
os: fix os.is_link and os.symlink on windows, add new functions os.getppid, os.getgid, os.getegid ( #10251 )
2021-05-29 23:26:13 +03:00
yuyi
e4f6369cd1
checker: fix match error to none ( #10245 )
2021-05-29 19:30:57 +03:00
Uwe Krüger
2d8a136d6e
os: fix file read ( #10247 )
2021-05-29 16:53:42 +03:00
Uwe Krüger
15557161cc
builtin: add trailing `0` to reversed string ( #10248 )
2021-05-29 16:45:26 +03:00
Uwe Krüger
bd467f94ab
encoding: append `0` to strings for compatibility ( #10249 )
2021-05-29 16:31:52 +03:00
Uwe Krüger
0ff2d9ef78
strconv: fix memory corruption ( #10250 )
2021-05-29 16:24:09 +03:00
yuyi
8785599094
checker, cgen: fix optional with if expr ( #10242 )
2021-05-29 10:00:12 +03:00
KJ Lawrence
465860e418
gg: fix ctx.scale for circles ( #10210 )
2021-05-28 22:37:02 +03:00
Lukas Neubert
ddcc22a778
fmt: fix removal of selective imported map key type ( #10235 )
2021-05-28 22:29:03 +03:00
Lukas Neubert
6b683d31ac
v.parser: support imported enums as map keys ( #10234 )
2021-05-28 20:09:03 +03:00
yuyi
9ea753e853
checker: fix generic with fixed array parameter ( #10233 )
2021-05-28 18:51:55 +03:00
penguindark
7089ff3957
builtin: fix a bug in str_intp ( #10238 )
2021-05-28 18:44:30 +03:00
Alexander Medvednikov
ca8158ac41
parser: handle casts in match expressions; c2v: minor fixes
2021-05-28 17:59:43 +03:00
KJ Lawrence
9fab4af3f1
gg: update the mouse click callback to pass what mouse button was clicked too ( #10225 )
2021-05-28 12:46:23 +03:00
yuyi
6e493ca8ca
checker: check index_expr or_expr types mismatch ( #10224 )
2021-05-28 11:40:59 +03:00
Delyan Angelov
39de06c200
v.pref: cleanup V options, support the documented -output and -backend
2021-05-28 09:07:06 +03:00
Lukas Neubert
8a109b031c
fmt: minor optimization in call_expr ( #10228 )
2021-05-27 22:40:54 +03:00
Enzo
df2b688337
checker: cleanup type alias pascal case check ( #10217 )
2021-05-27 22:40:32 +03:00
Wertzui123
a095a27d00
gg: change vid to ved in a comment ( #10218 )
2021-05-27 20:14:36 +03:00
Ruofan XU
4e55b9c08e
example: improve binary search tree example ( #10226 )
2021-05-27 20:13:02 +03:00
Delyan Angelov
2b62dca000
v: support for `$if threads {}, depending on whether `go ` was used at all ( #10227 )
2021-05-27 18:36:07 +03:00
KJ Lawrence
6cdc7646b8
gg: add quit fn ( #10223 )
2021-05-27 17:56:18 +03:00
Uwe Krüger
8828054e5b
builtin: fix arrays/slices memory bug ( #10219 )
2021-05-27 15:50:06 +03:00
Anton Zavodchikov
539594bfce
sqlite: add error struct for optional result ( #10209 )
2021-05-27 12:45:34 +03:00
Lukas Neubert
d5cacd1e5f
ast: use string builder for StringInterLiteral.str() ( #10207 )
2021-05-27 10:17:51 +03:00
zakuro
607dbd36d7
parser: set is_public of TypeSymbol for fn type decl ( #10212 )
2021-05-27 10:17:08 +03:00
yuyi
7c0cd2f41d
checker, cgen: fix match with complex sumtype exprs ( #10215 )
2021-05-27 10:13:50 +03:00
Alexander Medvednikov
2abbbcc02d
checker: allow int <=> enum usage in c2v'ed code
2021-05-26 11:00:57 +03:00
penguindark
2dd1d3fcbb
all: string interpolation code cleaning ( #10204 )
2021-05-26 09:30:08 +03:00
Joe Conigliaro
5e26273529
cgen: use __new_array instead of __new_array_with_default for empty vargs
2021-05-26 15:48:48 +10:00
Joe Conigliaro
560301dbfe
cgen: dont preallocate zero length with capacity of 1
2021-05-26 14:51:20 +10:00
yuyi
cf07375d1b
checker: fix multi types generic struct init ( #10201 )
2021-05-25 19:51:55 +03:00
Enzo
39c376bb5b
builtin,gen: use operator overloading on ustring ( #10197 )
2021-05-25 14:51:48 +03:00
joe-conigliaro
4217f05146
checker/ci: workaround bug causing errors with -usecache (sumtype field access) & add more -usecache tests ( #10199 )
2021-05-25 12:28:18 +03:00
R cqls
5b8402bccb
parser: fix mod_path_to_full_name to be compliant with --path option ( #10149 )
2021-05-25 07:46:40 +03:00
yuyi
f3274700cd
cgen: fix generic struct to string ( #10191 )
2021-05-25 07:45:54 +03:00
Ryan Roden-Corrent
306c16f0fa
fmt: don't break indexing in string interpolation. ( #10195 )
2021-05-25 07:45:32 +03:00
yuyi
7d210da9a5
checker: minor refactor in check_basic() ( #10196 )
2021-05-25 07:45:05 +03:00
yuyi
0e6f0c1de0
checker: check generic struct init without type parameter ( #10193 )
2021-05-25 06:15:05 +03:00
Delyan Angelov
13d1d28db1
v.parser: fix -autofree for script mode programs that do not have explicit `fn main(){}`
2021-05-24 14:42:09 +03:00
Enzo
ce7f78522d
builtin: remove former string operator methods ( #10184 )
2021-05-24 14:05:29 +03:00
Enzo
886f69bfcf
all: use operator overloading on strings (p. 2) ( #10183 )
2021-05-24 11:38:31 +03:00
Enzo
c0b1f99935
checker: allow operator overloading on strings (p. 1) ( #10182 )
2021-05-24 10:23:57 +03:00
penguindark
d8d05e0106
all: new string interpolation in pure V ( #10181 )
2021-05-24 05:20:45 +03:00
Delyan Angelov
603e57745f
builder: use some -cstrict flags only with clang (gcc does not understand them)
2021-05-23 21:00:48 +03:00
yuyi
eb5ac23988
checker: fix match expr with if expr ( fix #10177 #10178 ) ( #10179 )
2021-05-23 17:59:57 +03:00
Delyan Angelov
7f12bfa563
builtin: optimise `sx == sy` in the case where strings have common prefixes
2021-05-23 17:22:57 +03:00
Delyan Angelov
e9fa53b0c1
v.parser: let fn_decl use 1 loop, instead of multiple p.attrs.contains calls
2021-05-23 16:54:12 +03:00
Delyan Angelov
bf3af40f13
v.markused: support `./v -skip-unused -freestanding run vlib/os/bare/bare_example_linux.v` too
2021-05-23 16:25:34 +03:00
Delyan Angelov
5efd8c62d0
ci: fix tests-sanitize-undefined-clang
2021-05-23 15:13:53 +03:00
Delyan Angelov
a27e7f7675
builtin: remove commented code; improve print_backtrace with tcc
2021-05-23 12:37:40 +03:00
Delyan Angelov
a08cbd364a
v.checker: improve C.printf(abc) deprecation precision
2021-05-23 12:18:21 +03:00
yuyi
ae9f8627fc
checker: simplify generic structs ( #10167 )
2021-05-23 05:54:58 +03:00
Lukas Neubert
79b97fa361
fmt: keep names of parameters in anonymus function ( #10173 )
2021-05-23 05:54:39 +03:00
pancake
efa07cbcbf
native: initial support for linux-arm64 (hello world only for now) ( #10176 )
2021-05-23 05:54:28 +03:00
Delyan Angelov
bc01de2181
ast: mark ast.File{} with `[heap]`, and use []&ast.File consistently
2021-05-22 19:06:55 +03:00
Delyan Angelov
e512caf8f5
vfmt: do not error on `field [fsize]Type`, where `fsize` is from another .v file
2021-05-22 16:42:38 +03:00
Alexander Medvednikov
7c0f8f7644
builtin: a small optimization in string.replace()
2021-05-22 14:35:36 +03:00
yuyi
565dbc4051
checker: fix inferring method receiver types ( #10166 )
2021-05-22 11:04:19 +03:00
Delyan Angelov
104d9a7c8a
net: cleanup #include directives
2021-05-22 10:53:19 +03:00
Delyan Angelov
bf97faf32a
os: simplify os.read_bytes_into_newline to fix compilation on freebsd
2021-05-22 07:48:12 +03:00
Delyan Angelov
b7bf4b034e
os: use stricter declarations for C.getc/1, C.fseeko/3 and C._fseeki64/3
2021-05-22 07:45:00 +03:00
Alexander Medvednikov
dcfea5c69b
vweb: detect mime type automatically in serve_static()
2021-05-22 07:02:25 +03:00
Lukas Neubert
788520eb52
fmt, ast: fix usage of import aliases ( #10151 )
2021-05-21 20:33:04 +03:00
yuyi
9be596ef12
checker: fix generic struct with anon fn type ( #10161 )
2021-05-21 17:21:18 +03:00
Sebastian Schicho
04ea2824d3
os: implement File.read_bytes_into_newline method for reading into a buffer, line by line ( #10129 )
2021-05-21 13:18:08 +03:00
yuyi
87ded1784e
checker: a minor optimization in file_has_main_fn() ( #10143 )
2021-05-21 06:14:57 +03:00
zakuro
d8cf26aaba
fmt: fix trailing arg formatting ( #10155 )
2021-05-21 06:14:07 +03:00
zakuro
be92f81b2e
checker: fix type error in `f<T>(fn (v T))` with multiple different Ts ( #10154 )
2021-05-21 06:13:04 +03:00
Lukas Neubert
f7cd95472a
checker: clarify duplicate import error ( #10150 )
2021-05-21 06:12:38 +03:00
yuyi
bf69d20353
checker: fix generic struct with anon fn parameter ( #10147 )
2021-05-20 16:57:27 +03:00
Delyan Angelov
da090f91d8
cgen: fix using and auto printing `x := [16]&Type{}`
2021-05-20 15:59:02 +03:00
Delyan Angelov
00b3092a92
term: use textscanner.new in term.strip_ansi/1
2021-05-20 11:24:44 +03:00
Delyan Angelov
888b9c020c
strings: add a new module `strings.textscanner` to simplify writing small parsers
2021-05-20 11:23:25 +03:00
Delyan Angelov
c8a9052a5f
term: add term.strip_ansi/1 (based on ansi2txt) and term.header_left/1
2021-05-20 10:15:37 +03:00
yuyi
492d264d08
checker: fix generic structs init ( #10134 )
2021-05-20 09:18:51 +03:00
Enzo
906b207e58
checker: deprecate using V strings in C function calls ( #10140 )
2021-05-20 09:17:44 +03:00
Delyan Angelov
b0de1f76e8
v.depgraph: fix ci/misc-tooling `./v -autofree -o v2 cmd/v` task
2021-05-20 07:24:13 +03:00
Alexander Medvednikov
f09a5135e9
checker: handle builtin enum init correctly
2021-05-20 03:14:32 +03:00
Delyan Angelov
ac469f5eff
v.depgraph: fix detection of indirect module dependency cycles
2021-05-20 01:53:41 +03:00
spaceface
9ddf1ec327
cgen: fix accessing fields in propagated optional subexpressions ( #10136 )
2021-05-19 21:28:17 +03:00
Lukas Neubert
be189e0059
fmt: keep generics for selective import as fn param ( #10138 )
2021-05-19 21:25:02 +03:00
Enzo
a639f94050
utf8: format utf8_util.v ( #10135 )
2021-05-19 13:03:43 +03:00
ScriptBoy2077
4974fd09e5
utf8: reverse() to handle unicode strings ( #10133 )
2021-05-19 12:24:08 +03:00
Delyan Angelov
2086e6f1c1
builtin, cgen: implement chunked allocation of 16MB blocks with -prealloc ( #10130 )
2021-05-19 10:35:56 +03:00
Delyan Angelov
94e7a55b97
builtin: implement -d trace_error
...
With debugger backtraces, it can help pinpoint the original source of a
bubbled error, until we can store stacktraces in the errors in an
efficient way.
2021-05-18 20:03:00 +03:00
Lukas Neubert
9a7acd244d
fmt: keep selective struct import when used in orm block ( #10124 )
2021-05-18 12:45:42 +03:00
Delyan Angelov
f1174daabd
time: remove `err_invalid_8601 = error()` const, use a const string instead
2021-05-18 12:32:09 +03:00
Delyan Angelov
453fb1b08b
term.ui: use os.signal_opt instead of os.signal
2021-05-18 11:59:57 +03:00
Delyan Angelov
21b34b3a0b
ci: bump up the deprecation date of os.signal to 2021-06-18
2021-05-18 11:06:00 +03:00
Delyan Angelov
4c22370635
regex: reformat README.md to use shorter lines
2021-05-17 14:40:22 +03:00
Alexander Medvednikov
664f220f40
vweb: a minor readme update
2021-05-17 08:51:52 +03:00
Delyan Angelov
d5c306ce57
sokol: add -lpthread flag on linux to prevent failing asserts in some cases
2021-05-16 20:21:29 +03:00
yuyi
4d7f15b55b
fmt: fix formating cascade generic types call_expr ( #10107 )
2021-05-16 11:53:55 +03:00
Delyan Angelov
9d8489b025
net.openssl: add `-ldl -lpthread` for linux
2021-05-16 08:28:46 +00:00
crthpl
0d44c8857e
checker: fix position of unknown type errors ( #10110 )
2021-05-16 04:51:23 +03:00
Alexander Medvednikov
ed6ad728d9
vweb: fix serving static files
2021-05-16 04:28:14 +03:00
yuyi
170282b2af
checker: fix generics fn inferred structure type ( fix #10093 ) ( #10096 )
2021-05-15 12:58:33 +03:00
Delyan Angelov
1305ca662f
cgen: do not use L'x' for ASCII values (enable compilation with simpler C compilers)
2021-05-15 10:36:26 +03:00
Delyan Angelov
9fa805cbbf
v.checker: workaround for `./v wipe-cache && ./v -usecache self && ./v -usecache examples/hello_world.v` errors.
2021-05-15 09:15:20 +03:00
JalonSolov
141248f592
doc: vweb README ( #10106 )
2021-05-15 05:53:25 +03:00
Uwe Krüger
7bfd89567b
shared: support `lock` on SelectorExpression ( #10105 )
2021-05-15 04:34:27 +03:00
Delyan Angelov
20a22453cf
v.builder: remove default link flags -lm, -ldl, -lpthread (use module specific link flags instead) ( #10099 )
2021-05-14 14:28:53 +03:00
yuyi
b728d89069
checker: fix generics with generic anon fn parameter ( #10101 )
2021-05-14 12:01:57 +03:00
crthpl
4273a9697e
parser: add support for flags in asm output constraints ( #10103 )
2021-05-14 12:01:15 +03:00
yuyi
0139836412
tests: add more generic structs tests ( #10095 )
2021-05-14 01:57:55 +03:00
zakuro
a9435f3c25
cgen: fix `cannot take rvalue` error of interface ( #10040 )
2021-05-13 17:54:48 +03:00
Henrique
e0a3c5384f
csv: fix parse error of last empty field on unquoted line ( #10083 )
2021-05-13 17:51:07 +03:00
Delyan Angelov
1086b4ac5e
io: mark the mutability requirements of the Writer interface explicitly; swap the io.cp/2 parameter order to be like os.cp/2 ( #10091 )
2021-05-13 13:06:42 +03:00
yuyi
14b7ce0f04
checker: fix generics fn return generics fn type ( fix #10085 ) ( #10088 )
2021-05-13 12:26:13 +03:00
Delyan Angelov
143c3d4bb4
io: deprecate io.make_reader (not needed anymore)
2021-05-13 10:26:26 +03:00
Leigh McCulloch
49deeac71e
os: fix file read end-of-file detection ( #10070 )
2021-05-13 09:48:55 +03:00
yuyi
ebe58dcafa
checker: cleanup generic structs ( #10086 )
2021-05-12 19:57:14 +03:00
Delyan Angelov
cf3dd7a51f
v.checker: fix `unused variable` warning on `*p = val`
2021-05-12 18:03:01 +03:00
crthpl
8361f714dd
cgen: fix deadlock when returning/breaking in `lock` ( #10079 )
2021-05-12 11:44:47 +03:00
Delyan Angelov
066374bae4
v.gen.c: implement `-d trace_autofree` for conditional tracing comments about autofree
2021-05-11 19:29:06 +03:00
JalonSolov
274c817028
builtin.string: optimize split_into_lines ( #10081 )
2021-05-11 18:57:32 +03:00
Delyan Angelov
2b420cdf4d
ci: vfmt new vlib/vweb/vweb_app_test.v
2021-05-11 14:01:57 +03:00
Delyan Angelov
9f27cf5b21
checker: cleanup missed eprintln
2021-05-11 14:00:48 +03:00
Delyan Angelov
e6011e83ce
builtin: cleanup string.v
2021-05-11 13:59:44 +03:00
Delyan Angelov
6450fda938
ci: fix compiling blog/, *and* comptime_if_is_test.v. Add vweb_app_test.v .
2021-05-11 13:59:08 +03:00
Delyan Angelov
63cb04196b
Revert "ci: fix compiling comptime_if_expr_test.v"
...
This reverts commit c5285e7217
.
2021-05-11 13:47:49 +03:00
Delyan Angelov
c5285e7217
ci: fix compiling comptime_if_expr_test.v
2021-05-11 13:15:53 +03:00
Delyan Angelov
d463817f80
Revert "Revert "cgen: fix generics with generics fn type parameter ( #10078 )""
...
This reverts commit d3de91ee86
.
2021-05-11 11:14:58 +03:00
Delyan Angelov
6f2c18f1c7
ci: fix `v build-tools`
2021-05-11 11:08:46 +03:00
Delyan Angelov
263e1ee4a4
ci: fix compilation of cmd/tools/vtest-cleancode.v
2021-05-11 11:02:28 +03:00
Delyan Angelov
d3de91ee86
Revert "cgen: fix generics with generics fn type parameter ( #10078 )"
...
This reverts commit e310513a5f
.
2021-05-11 10:59:55 +03:00
Alexander Medvednikov
0bc80951e3
checker: fix `T is int`
2021-05-11 10:28:11 +03:00
Alexander Medvednikov
d088c4cee3
cgen: fix tcc compilation
2021-05-11 10:21:47 +03:00
Alexander Medvednikov
72a135c7c5
vweb: update vweb_test_server.v
2021-05-11 09:52:08 +03:00
Alexander Medvednikov
0b75a21aab
checker: fix a typo
2021-05-11 09:48:39 +03:00
Alexander Medvednikov
0f28ff4c8d
tests: a minor grammar fix
2021-05-11 09:47:09 +03:00
Alexander Medvednikov
dc034d9b16
vweb: make thread safe; checker: `$if T is Interface {`
2021-05-11 09:30:18 +03:00
yuyi
e310513a5f
cgen: fix generics with generics fn type parameter ( #10078 )
2021-05-11 09:24:23 +03:00
penguindark
d60a55d30b
strconv: float functions cleaning and speed optimization ( #10076 )
2021-05-11 08:09:17 +03:00
yuyi
3b062388ba
checker: minor cleanup in check_files() ( #10075 )
2021-05-11 03:43:26 +03:00
yuyi
dcf4d73c87
cgen: format generated struct definition c codes ( #10074 )
2021-05-10 20:27:52 +03:00
kevin70g
28a22e5a84
v.builder: try finding msvc from env variables, when not found from registry ( #10072 )
2021-05-10 10:15:50 +03:00
kevin70g
e9c84ce154
os: fix is_abs_path() panic, when path is only one letter on windows ( #10071 )
2021-05-10 10:01:32 +03:00
Delyan Angelov
159ee00563
builtin: remove `import hash`
2021-05-10 09:22:50 +03:00
Delyan Angelov
4728d102d9
os: add Process.finalise() and Process.free() methods to cleanup pipe descriptors
2021-05-09 21:50:47 +03:00
yuyi
74defc4b82
checker: minor cleanup of FnDecl ( #10000 )
2021-05-09 15:27:45 +03:00
Delyan Angelov
38d16229ef
os: fix panic on os.is_abs_path('')
2021-05-09 10:45:34 +03:00
Leigh McCulloch
26652c8a23
io: make new_multi_writer use varargs ( #10062 )
2021-05-09 09:21:08 +03:00
El Koulali András
3e5a5754f3
cgen: fix constants with multi-statement C initializations ( #10058 )
2021-05-09 03:25:44 +03:00
Delyan Angelov
8547762ab8
v.preludes: avoid warnings for short const names like `b` in tests with -stats
2021-05-08 23:00:38 +03:00
Delyan Angelov
21f207e781
v.checker: use more concise error messages (remove please)
2021-05-08 22:32:18 +03:00
yuyi
a9eb8931ed
table: minor cleanup of resolve_generic_to_concrete() ( #10046 )
2021-05-08 22:27:58 +03:00
spaceface
ef7454b5e2
checker: fix calling functions with variadic interface parameters ( #10052 )
2021-05-08 22:26:13 +03:00
Louis Schmieder
23513ae35c
v.parser: fix vfmt eating the file name in `$tmpl('non_existant_file')` ( #10056 )
2021-05-08 21:11:13 +03:00
ka-weihe
0d205510d5
hash.wyhash: fix memory errors ( #10051 )
2021-05-08 21:09:58 +03:00
Delyan Angelov
c16d4911c2
v.checker: deprecate `$if linux_or_macos {` in favor of `$if linux || macos {`
2021-05-08 21:00:21 +03:00
Delyan Angelov
cbf30bd13a
checker: fix regression for generics_test.v
2021-05-08 18:23:12 +03:00
Delyan Angelov
d8d6e9b901
ci: run vfmt over sha256_test.v
2021-05-08 17:38:05 +03:00
Delyan Angelov
3a1cae0c4f
v.markused: assume methods for operator overload are always used
2021-05-08 15:13:16 +03:00
Delyan Angelov
7db6d602de
tools: vfmt math_test.v and remove it from the exceptions in vtest-cleancode.v
2021-05-08 14:46:06 +03:00
Enzo
7d922c877d
thirdparty: remove unused dependecy wyhash ( #10038 )
...
\
2021-05-08 14:36:52 +03:00
yuyi
ed7c8d5e19
checker: fix generics return recursive generic struct ( fix #10028 ) ( #10031 )
2021-05-08 14:33:09 +03:00
Cabral
b5afa049e9
math: sign function ( #10014 )
2021-05-08 14:32:18 +03:00
Leigh McCulloch
68c8709343
io: add MultiWriter ( #10021 )
2021-05-08 14:21:53 +03:00
yuyi
3dfbd2351b
checker,cgen: fix generics with generic_fn type parameter ( #10022 )
2021-05-08 14:06:56 +03:00
zakuro
82a9add25b
cgen: insert a newline every 8 elements in array init ( #10034 )
2021-05-08 13:35:21 +03:00
El Koulali András
262ef7598d
checker: fix unchecked optional in match condition ( #10041 )
2021-05-08 13:33:13 +03:00
Delyan Angelov
8a380f4699
tools: make `v test-cleancode` test everything by default ( #10050 )
2021-05-08 13:32:29 +03:00
Leigh McCulloch
cba2cb6b9c
crypto/sha256: make digest sum public ( #10047 )
2021-05-08 13:14:37 +03:00
penguindark
e9d7ff751f
strconv: new decimal digits counts function ( #10029 )
2021-05-08 00:24:50 +03:00
Enzo
2d2b4f79cc
strings: add Builder.cut_to ( #10042 )
2021-05-07 19:41:27 +03:00
Uwe Krüger
d26ac5692e
all: various fixes for [heap]/auto-heap handling ( #10033 )
2021-05-07 15:58:48 +03:00
Delyan Angelov
13ea92a77d
ci: use hash.fnv1a.sum64_string instead of hash.sum64_string in Parser.set_path (fix sanitize jobs)
2021-05-07 11:20:13 +03:00
Delyan Angelov
ea74e2bc64
v.parser: add p.unique_prefix, add run_project_folders_test.v ( closes #10023 )
2021-05-06 21:14:19 +03:00
yuyi
a6764e3cc3
table: fix generics struct with anon fn fields ( #10024 )
2021-05-06 20:24:08 +03:00
Delyan Angelov
ac2eaa05c7
tests: add interface_many_named_test.v regression test ( closes #10013 )
2021-05-06 19:54:49 +03:00
Delyan Angelov
3aa85bb5d7
v.ast: ensure interface->types info is complete
2021-05-06 19:48:11 +03:00
Delyan Angelov
483068f071
ci: fix tests-sanitize-undefined-gcc job
2021-05-06 15:15:35 +03:00
Delyan Angelov
adffae4453
v.builder: refactor to make adding other post checker stages easier
2021-05-06 14:37:49 +03:00
Delyan Angelov
2eafea6308
v: reduce the memory usage of the compiler (analysed with heaptrack)
2021-05-06 11:44:48 +03:00
Delyan Angelov
84f9789e72
v: tag more low level functions with `[direct_array_access]`
2021-05-06 00:35:16 +03:00
Delyan Angelov
3405f517a4
v.scanner: apply `[direct_array_access]` for key frequently called low level functions
2021-05-05 23:45:23 +03:00
Delyan Angelov
ab39011fb9
cgen: honor `[direct_array_access]` for `a_string[idx]` too
2021-05-05 23:43:46 +03:00
Enzo
4ac751d773
os: add `signal_opt` and deprecate `signal` ( #10005 )
2021-05-05 15:39:02 +03:00
Miccah
8b50a5a171
vweb: fix route matching on `/` ( #10001 )
2021-05-05 14:20:40 +03:00
Miccah
12c3f85507
os: add getuid and geteuid ( #10002 )
2021-05-05 14:20:11 +03:00
yuyi
7c58dfb88b
checker: fix for_in mut var unused warning ( #10008 )
2021-05-05 14:11:32 +03:00
zakuro
8c44873674
fmt,parser: prevent unknown module error ( #10004 )
2021-05-05 14:09:30 +03:00
penguindark
99a2fd76c8
strconv: separate v_sprintf ( #10007 )
2021-05-05 04:12:18 +03:00
Delyan Angelov
818983de43
v.markused: fix for `v -skip-unused ~/.vmodules/ui/examples/users.v`
2021-05-04 19:05:52 +03:00
Lukas Neubert
9e717e02c9
parser, fmt: prevent error with comment after expr inside match ( #9995 )
2021-05-04 18:26:10 +03:00
Louis Schmieder
b8e070b2a1
orm: fix multi substructs ( #9941 )
2021-05-04 12:35:18 +03:00
zakuro
92a22e9ec5
ast: fix bug where fn_signature return wrong str for variadic arg ( #9993 )
2021-05-04 12:33:24 +03:00
Ned Palacios
177f8f585b
checker: fn_call fixes ( #9994 )
2021-05-04 12:31:32 +03:00
zakuro
1e856c0f94
parser: improve error message for `mod.unknownsubmod.Type` ( #9976 )
2021-05-04 11:31:31 +03:00
Delyan Angelov
298fc533e4
ci: run `v fmt -w vlib/os/file.c.v`
2021-05-04 08:40:27 +03:00
Rhialto The M
c21df2d44c
v: building on NetBSD ( #9953 )
2021-05-03 19:50:54 +03:00
yuyi
1d045e5496
checker: check generics fn called outside of generic fn ( #9984 )
2021-05-03 19:50:08 +03:00
yuyi
ddc003380c
checker: check generics fn that return generic struct ( #9979 )
2021-05-03 19:48:54 +03:00
yuyi
035fd052d1
checker: check generic struct declaration ( fix #9974 ) ( #9978 )
2021-05-03 19:47:02 +03:00
Leigh McCulloch
0fa9a648ae
os: add os.stdout() and os.stderr(), returning os.File, similarly to os.stdin() ( #9990 )
2021-05-03 19:00:51 +03:00
Leigh McCulloch
4ba11b7752
os: deprecate os.open_stdin in favor of os.stdin ( #9989 )
2021-05-03 18:57:21 +03:00
Delyan Angelov
ae898e77c5
v.markused: handle interface implementation methods, and vweb programs
2021-05-03 18:40:39 +03:00
Enzo
106cd384da
parser: remove obsolete exceptions ( #9987 )
2021-05-03 17:35:09 +03:00
Delyan Angelov
07f00440bf
picohttpparser: fix setting of req.body
2021-05-03 16:55:20 +03:00
Lukas Neubert
5b826b2663
fmt: keep module alias in interfaces ( #9985 )
2021-05-03 15:07:12 +03:00
Delyan Angelov
597a774d36
scanner: speed up Scanner.skip_whitespace (~2-3% speed up of `-o x.c cmd/v`)
2021-05-03 14:14:32 +03:00
Delyan Angelov
d3f2d6f6df
cgen: speed up c_name/1 by using a map lookup, instead of a linear search in []string{}
2021-05-03 12:58:40 +03:00
pancake
9d4783a2dd
native: initial support for macos-amd64 targets ( #9975 )
2021-05-03 02:41:36 +03:00
Enzo
fb7ddcd4c9
checker: fix looking for unprefixed `os` functions ( #9968 )
2021-05-02 21:46:12 +03:00
Delyan Angelov
53ae9dda4b
cgen: speed up auto generated Array_*_contains and Array_*_index methods
...
Uses a.data instead of array_get, since the auto generated methods
have the calls in a loop that guarantees that the bounds of the arrays
will not be exceeded, thus the inner bounds checking can be skipped.
Results in +5% improvement for V compiled with tcc, doing `v -o x.c cmd/v`,
more with -prod.
2021-05-02 20:35:04 +03:00
Mark
feb60674b4
builtin.string: minor fixes in join() ( #9952 )
2021-05-02 19:31:47 +03:00
yuyi
581fe375cc
checker: fix generics with cascaded multi nested generic fn ( fix #3815 ) ( #9965 )
2021-05-02 19:30:57 +03:00
yuyi
ae22967d1d
parser: ensure generic function declaration specifies type names ( fix #9959 ) ( #9967 )
2021-05-02 19:30:39 +03:00
JalonSolov
3175525b5e
builtin.string: optimize replace ( #9969 )
2021-05-02 19:30:07 +03:00
penguindark
dbadda84e5
builtin: clean up int.v ( #9960 )
2021-05-02 16:31:29 +03:00
Delyan Angelov
4b818fa2be
v: implement interface embedding ( #9935 )
2021-05-02 03:00:47 +03:00
JalonSolov
3363c3ef65
builtin.string: optimize replace() ( #9955 )
2021-05-01 21:27:49 +03:00
Enzo
000d4d3064
checker: cleanup typeof ( #9954 )
2021-05-01 21:21:44 +03:00
spaceface
ef63491a8c
cgen: fix calling function-pointer fields on interfaces ( #9948 )
2021-05-01 16:45:53 +03:00
ka-weihe
4348c2322d
builtin.map: test more key types ( #9947 )
2021-05-01 14:26:20 +03:00
ka-weihe
daac31aec5
cgen: update wyhash ( #9945 )
2021-05-01 14:25:27 +03:00
Anton Zavodchikov
b621595c05
picoev: error handling workaround ( #9913 )
2021-05-01 14:20:10 +03:00
yuyi
f82f1977d1
tests: enable test_generic_fn_with_variadics() test ( #9944 )
2021-05-01 12:52:47 +03:00
yuyi
fec947c7e1
ast: minor cleanup in ast.FnDecl ( #9950 )
2021-05-01 12:50:49 +03:00
Alexander Medvednikov
c16bb7f3e4
ast: a minor format of ast.v
2021-04-30 15:36:34 +03:00
Alexander Medvednikov
e949d4b26c
tools/fast: add "V lines" and "V lines/s"
2021-04-30 15:31:50 +03:00
yuyi
d236d6a473
parser, cgen: fix generics fn typeof name ( fix #7357 ) ( #9939 )
2021-04-30 13:40:36 +03:00
yuyi
844662e0d6
cgen: fix generics fn str() ( fix #7403 ) ( #9940 )
2021-04-30 13:40:07 +03:00
Louis Schmieder
fb685eee18
orm: support arrays ( #9936 )
2021-04-30 09:13:26 +03:00
Louis Schmieder
b15156d465
orm: fix mysql substructs ( #9930 )
2021-04-29 21:00:17 +03:00
yuyi
ea0ac09297
checker: fix generics with nested external generics fn ( #9933 )
2021-04-29 17:37:54 +03:00
Louis Schmieder
e9bbb7de3a
orm: add pg select expr ( #9927 )
2021-04-29 13:38:36 +03:00
R cqls
8af6237e28
gg: fix width and height in draw_rounded_rect primitive ( #9926 )
2021-04-29 10:58:57 +03:00
Thomas Treffner
e05da04b4c
builtin: fix termux prints ( #9921 )
2021-04-29 09:49:26 +03:00
Lukas Neubert
b406de20df
parser, vfmt: multi line comments are not treated as follow-up comments anymore ( #9892 )
2021-04-29 09:48:08 +03:00
Louis Schmieder
c8e07b28e2
orm: fix pg orm statements ( #9909 )
2021-04-29 09:45:49 +03:00
yuyi
25d9272c84
all: rename `table.register_fn_generic_types` to `table.register_fn_concrete_types` ( #9914 )
2021-04-29 09:06:50 +03:00
crthpl
6945f987cf
checker: fix sumtype comparison and sumtype in itself ( #9917 )
2021-04-29 09:04:02 +03:00
zakuro
191a167f42
checker: allow omitting the enum name of map key ( #9919 )
2021-04-29 08:33:41 +03:00
Lukas Neubert
e711e8634e
fmt: prevent rare code corruption with array pre comments ( #9908 )
2021-04-29 08:28:44 +03:00
Lukas Neubert
dee733aae4
fmt: reset const field align after multi line exprs ( #9916 )
2021-04-29 02:17:37 +03:00
yuyi
c82c8059cf
tests: add recursive generics fn test ( #9907 )
2021-04-28 22:12:06 +03:00
ka-weihe
6795b02e24
cgen: fix enum in map ( #9912 )
2021-04-28 22:11:32 +03:00
Lukas Neubert
a065d014a2
fmt: keep constant sizes in struct field fixed array types ( #9910 )
2021-04-28 22:11:15 +03:00
Delyan Angelov
626517f5f7
tools: turn `v -watch` into a `v watch` sub-command, so that it can have its own options
2021-04-28 12:29:50 +03:00
Thomas Treffner
1fbf75f2e8
builtin: fix termux println ( #9829 )
2021-04-28 09:11:50 +03:00
Uwe Krüger
f4e92997f2
checker: support value array elements of `[heap]` type inside struct ref ( #9899 )
2021-04-28 07:47:00 +03:00
Carlos Esquerdo Bernat
f46868133b
vweb: remove calling .to_lower too early while processing url and url params ( #9805 )
2021-04-28 07:46:36 +03:00
ka-weihe
3edbf71770
parser: fix maps with aliases as key ( #9900 )
2021-04-28 07:45:21 +03:00
Enzo
4f246222b0
v: replace `--enable-globals` with `-enable-globals` ( #9898 )
2021-04-28 07:44:28 +03:00
penguindark
a2014f86b7
strconv: new faster atof function ( #9903 )
2021-04-28 07:42:22 +03:00
Louis Schmieder
faf2656335
orm: support multiline statements ( #9888 )
2021-04-27 15:28:57 +03:00
yuyi
9f1ac39770
checker: fix generics with anon generics fn argument ( fix #9859 ) ( #9897 )
...
* checker: fix generics with anon generics fn argument
* cgen: fix typedef of generics anon fn
* fix check generics argument types
2021-04-27 15:25:42 +03:00
pancake
d8bb939072
native: fix tests, address comments and a little cleaner macho
2021-04-27 12:24:58 +03:00
pancake
5be41ebc80
native: handle ident and integer args in exit and add arm64
2021-04-27 12:24:58 +03:00
pancake
a31a1eb9cb
native: define println and exit builtins or verror()
2021-04-27 12:24:58 +03:00
pancake
1eac6eee59
native: use pref.arch to host_arch() by default
2021-04-27 12:24:58 +03:00
pancake
9b07278930
native: better raw output and more arm64 cleanup
2021-04-27 12:24:58 +03:00
pancake
9a3869c521
v.ast: rename aarch64 to arm64 and aarch32 to arm32
2021-04-27 12:24:58 +03:00
pancake
6750ed254f
x64: rename to `native` to not conflict with the x64 comptime variable
2021-04-27 12:24:58 +03:00
pancake
7587458521
x64: move all the amd64 specific code out of gen.v
2021-04-27 12:24:58 +03:00
Don Park
aebb551e93
cgen: do full struct initialisation for V structs, fixes invalid data from `map[string]Struct{}['unknown']` ( #9878 )
2021-04-27 08:18:48 +03:00
Uwe Krüger
787a63dab6
cgen: execute `defer` block *after* return expression is evaluated ( #9893 )
2021-04-27 01:42:16 +03:00
Enzo
4eb8072882
parser: remove ++/-- exception for some modules ( #9895 )
2021-04-27 01:41:42 +03:00
yuyi
3877522ee3
table,checker,cgen: fix generics with recursive generics struct ( #9862 )
2021-04-26 20:05:10 +03:00
yuyi
21d1f86ead
checker: fix generics that return reference generics struct ( fix #6218 ) ( #9869 )
2021-04-26 20:01:01 +03:00
yuyi
7ddf569de6
cgen: fix generics multi_array in ( #9885 )
2021-04-26 19:59:40 +03:00
Enzo
de8c4866a4
v.checker: fix postfix expr on generic types ( #9887 )
2021-04-26 19:57:05 +03:00
yuyi
2b43d3193b
checker: fix generics with assign generics struct ( fix #7784 ) ( #9889 )
2021-04-26 19:54:22 +03:00
Lukas Neubert
181b0f1035
parser: improve error message for missing db expr in ORM ( #9890 )
2021-04-26 19:51:51 +03:00
Delyan Angelov
cafe382424
vweb: update references to old .init_once() and .init() methods to .init_server() and .before_request()
2021-04-26 19:38:13 +03:00
Delyan Angelov
5e0ff5c524
cgen: cleanup g.type_default
2021-04-26 11:55:29 +03:00
yuyi
212b4fa089
parser: implement infering generic type parameters from receiver types ( fix #5862 ) ( #9870 )
2021-04-26 10:56:08 +03:00
kahsa
f36e46bfde
gg:fix draw_line for android ( #9882 )
2021-04-26 10:01:55 +03:00
spaceface
9d68f924c3
parser: don't disallow closures in the JS backend ( #9884 )
2021-04-26 10:00:39 +03:00
Louis Schmieder
f5ce9388de
io: make io.cp use chunks ( #9877 )
2021-04-26 09:59:23 +03:00
spaceface
7acb48df83
parser: parse `JS.` interfaces properly ( #9876 )
2021-04-26 09:58:05 +03:00
spaceface
8b22dbbadb
jsgen: basic struct embedding support ( #9879 )
2021-04-26 09:56:03 +03:00
Uwe Krüger
3c0a368af3
all: automatically move (some) referenced objects to heap ( #9873 )
2021-04-25 21:40:38 +03:00
Louis Schmieder
00261afbc1
io: add a `cp` function ( #9875 )
2021-04-25 21:22:33 +03:00
Louis Schmieder
7184629969
orm: add initial pg support ( #9827 )
2021-04-25 18:57:55 +03:00
Louis Schmieder
fc3b628440
v: support `$for attr in Test.attributes` ( #9836 )
2021-04-25 18:29:26 +03:00
zakuro
a0835ac139
checker/cgen: implement in expression for alias of array/map ( #9871 )
2021-04-25 18:17:54 +03:00
Bastian Buck
160b605640
os: use C.GetUserNameW for os.loginname() instead + improvements os.uname() ( #9872 )
2021-04-25 18:16:14 +03:00
penguindark
bfe0a7887f
builtin,strconv: fix and optimize utf8 and formatting functions ( #9874 )
2021-04-25 17:57:21 +03:00
Ulises Jeremias Cornejo Fandos
3c8d2bbaec
vlib/context: some clean up and more readable examples ( #9868 )
2021-04-25 16:04:07 +03:00
Delyan Angelov
44902b5aba
ci: fix tests output files after 7f5c3cc
2021-04-25 09:31:12 +03:00
Delyan Angelov
aff21c976b
strings: fix for Builder.str() using b.len instead of b.buf.len
2021-04-25 09:07:46 +03:00
Alexander Medvednikov
7f5c3cc1f8
checker: do not allow modifying consts via mutable refs
2021-04-24 14:08:50 +03:00
Delyan Angelov
b506d8fcc0
os: use C.getlogin for os.loginname, instead of C.getlogin_r (C.getlogin_r absent on Android)
2021-04-24 13:33:34 +03:00
Marcos Diaz
187895c93c
os: use GetComputerNameW to retrieve hostname on Windows ( #9861 )
2021-04-24 13:22:04 +03:00
Anton Zavodchikov
dee4904bee
pico: small refactor ( #9857 )
2021-04-24 13:21:30 +03:00
yuyi
8ccdae6188
all: cleanup generics call_expr ( #9856 )
2021-04-24 09:44:15 +03:00
Delyan Angelov
a832bb609a
net: support `-d net_blocking_sockets` (workaround a sporadic vex failure)
2021-04-23 17:22:43 +03:00
Delyan Angelov
6f50157abc
net: implement a customizable send chunk size limit for TcpConn.write_ptr
2021-04-23 17:22:43 +03:00
Delyan Angelov
e6c4c4de3d
net: format the output of `-d trace_tcp output` better
2021-04-23 17:22:43 +03:00
Carlos Esquerdo Bernat
42a65e1009
tests: add submodules tests ( #9640 )
2021-04-23 17:22:24 +03:00
yuyi
b2dc444dd2
ast: minor cleanup in generic_struct_insts_to_concrete() ( #9855 )
2021-04-23 17:21:16 +03:00
Enzo
af8ef12990
ast: use `AttrKind` ( #9845 )
2021-04-23 15:51:52 +03:00
Delyan Angelov
1b46f9aa02
net: fix unsafe warnings
2021-04-23 15:31:25 +03:00
Enzo
b4e4d48bbd
checker: make sure negation is only used with numeric types ( #9854 )
2021-04-23 15:18:56 +03:00
yuyi
dd2002cc57
cgen: fix generics with multi generics struct receiver ( #9853 )
2021-04-23 15:17:57 +03:00
Alexander Medvednikov
49a2de562b
builtin: fix an unused var warning on windows
2021-04-23 15:17:05 +03:00
Delyan Angelov
669a4ea1be
net: support `-d trace_tcp_data_read` and `-d trace_tcp_data_write` too
2021-04-23 15:12:49 +03:00
Alexander Medvednikov
9b14f71631
all: fix build-tools
2021-04-23 15:10:14 +03:00
Alexander Medvednikov
0567cbe431
examples: fix compilation with -prod
2021-04-23 14:48:07 +03:00
Delyan Angelov
cf497623dc
net: do `$if trace_tcp ? {` in more functions to help debug web server issues
2021-04-23 14:37:12 +03:00
Alexander Medvednikov
7ec90b0f89
pref: fix is_test
2021-04-23 13:45:47 +03:00
Alexander Medvednikov
c7a6d28e13
all: improve unused variable warning (fix `x = 1`, `x += 1` etc)
2021-04-23 13:33:48 +03:00
Lukas Neubert
aa40dfc1de
checker: check __global type ( #9804 )
2021-04-23 12:28:08 +03:00
yuyi
8e455495b2
checker: fix generics that return multi generics struct ( #9852 )
2021-04-23 11:19:16 +03:00
Louis Schmieder
c026d8b6f3
parser: number attributes ( #9835 )
2021-04-22 18:21:55 +03:00
yuyi
431d806dcf
ast, parser: cleanup of generic structs ( #9839 )
2021-04-22 18:21:01 +03:00
pancake
b951d679ca
x64: handle -arch amd64/arm64 and -os for raw/linux/macos options ( #9844 )
2021-04-22 15:44:25 +03:00
Delyan Angelov
59e23dbb57
ci: re-enable testing of `./v -freestanding run vlib/os/bare/bare_example_linux.v` on ubuntu
2021-04-22 12:50:56 +03:00
Delyan Angelov
9181eb1db8
cgen: cleanup cheaders.v
2021-04-22 12:50:55 +03:00
zakuro
7443179cc8
checker: make use of private enum from outside module an error. ( #9821 )
2021-04-22 07:07:56 +03:00
yuyi
c85eefa5b2
ast: remove obsolete comment in types.v ( #9841 )
2021-04-22 07:03:29 +03:00
yuyi
7b8957b25e
cgen: minor simplification in cc_type() ( #9833 )
2021-04-21 12:23:21 +03:00
yuyi
d02822f456
ast.table: simplify resolve_generic_by_names/types() ( #9834 )
2021-04-21 12:22:42 +03:00
div72
dd00c79861
rand: fix wrong function signature ( #9808 )
2021-04-21 12:20:55 +03:00
yuyi
51258923d7
checker: fix generics call with reference arg ( fix #9817 #9818 ) ( #9830 )
2021-04-21 06:40:11 +03:00
yuyi
953057ef35
parser: check generic receiver method decl has no generic names (fix parts of #9811 ) ( #9819 )
2021-04-20 21:38:17 +03:00
Lukas Neubert
2df260acbb
parser: fix last_line of no body C struct ( #9809 )
2021-04-20 21:37:00 +03:00
yuyi
7abf59710b
checker: check generic fn called no arg without generic names ( #9825 )
2021-04-20 21:36:21 +03:00
Delyan Angelov
bd539b6427
vfmt: fix string interpolation formatting with multiple ',",\' and \" .
2021-04-20 20:26:06 +03:00
Nicolas Sauzede
258be508f4
builtin,os: fix unused return C warnings for real ( #9814 )
2021-04-20 17:28:58 +03:00
Lukas Neubert
f5e6cadf63
fmt: proper infix operator detection in wrapping logic ( #9824 )
2021-04-20 15:20:11 +03:00
Ned Palacios
254d247e80
checker: return none if type is 0 in ensure_type_exists ( #9820 )
2021-04-20 12:11:41 +03:00
Delyan Angelov
9d8bda9eaf
v.ast, v.checker: fix absent 'missing return' warning, when a function ended with a t.panic() call
2021-04-20 11:49:06 +03:00
Lukas Neubert
fe88a4460b
fmt: fix module docs generation ( #9810 )
2021-04-20 04:54:08 +03:00
Lukas Neubert
4a1f75c964
fmt: split infix wrapping into smaller functions and fix a trailing space bug ( #9806 )
...
* change recursive fn calls to reduce write operations
* format files and test
* Update vtest-cleancode.v
* fix test
2021-04-19 21:56:39 +03:00
Enzo
c174bfa52f
tools: add a `v bug file.v` tool to automatically report bugs on GitHub ( #9746 )
2021-04-19 21:40:54 +03:00
Delyan Angelov
d4f31412b7
v: deprecate `@VROOT` in favour of `@VMODROOT` ( #9795 )
2021-04-19 19:01:47 +03:00
Lukas Neubert
70c651ff17
all: make __global behave consistent with const ( #9711 )
2021-04-19 17:07:47 +03:00
pancake
49330af715
net.urllib: fix #9748 out of bounds accesses in unescape() ( #9770 )
2021-04-19 16:43:35 +03:00
Delyan Angelov
aa3a8c5245
v.ast: add a customizable ast.Table .panic() method
2021-04-19 15:39:57 +03:00
spaceface
73352583e7
ci: fix all `-cstrict` warnings with gcc and clang ( #9792 )
2021-04-19 15:38:48 +03:00
Ned Palacios
dde3189e66
checker: avoid get_type_symbol panic inside array_init ( #9800 )
2021-04-19 14:58:30 +03:00
Bastian Buck
9ec91f4d58
os: add new function os.loginname(), improve some error messages ( #9794 )
2021-04-19 14:57:25 +03:00
yuyi
3158617ce2
parser: simplify parse_generic_struct_inst_type() ( #9801 )
2021-04-19 14:47:39 +03:00
Nicolas Sauzede
22351a6fb7
builtin: remove `unused return` C warnings ( #9797 )
2021-04-19 14:14:27 +03:00
Uwe Krüger
8ab0d42b5f
checker: check argument for `chan.try_push/pop()` ( #9798 )
2021-04-19 11:41:21 +03:00
AAAA
a45da620e6
builtin: add string representation of ESC ( #9799 )
2021-04-19 11:41:04 +03:00
yuyi
75d1b54f7b
cgen: fix empty struct init using macro ( #9787 )
2021-04-18 16:34:25 +03:00
Larpon
8710a0b7b1
sync: enable Android support ( #9790 )
2021-04-18 16:31:05 +03:00
Henrixounez
4a1e2f9dcc
checker: working is none type check + no crash when checking with non types ( #9793 )
2021-04-18 16:28:39 +03:00
Henrixounez
ee7bcfd05c
checker: prevent double module name prepending on generics types regi… ( #9791 )
2021-04-18 16:26:40 +03:00
Delyan Angelov
cfcecf898b
v.ast: add .free() methods, so vls can be more decoupled
2021-04-18 10:24:51 +03:00
Delyan Angelov
5817aa47d8
Revert "cgen: fix empty struct init ( #9769 )"
...
This reverts commit 0cc04850d7
.
2021-04-17 19:19:25 +03:00
涂紳騰(Shen-Teng Tu)
3c72c6abc2
parser: disable template variables in `<style>` ( #9777 )
2021-04-17 15:47:36 +03:00
Delyan Angelov
ded3ce5863
builtin: cleanup string.v
2021-04-17 12:30:45 +03:00
Gaetano
1c7fb65491
builder: fix a bug that happens with local modules ( #9701 )
2021-04-17 08:30:03 +03:00
yuyi
731e942055
checker: fix generics with different order of generics fn ( #9765 )
2021-04-17 08:29:06 +03:00
zakuro
990c4ab17a
fmt: move else branch of match expr to the end ( #9766 )
2021-04-17 08:28:33 +03:00
yuyi
0cc04850d7
cgen: fix empty struct init ( #9769 )
2021-04-17 02:39:52 +03:00
crthpl
0a1d0e062d
freestanding: small fixes ( #9760 )
2021-04-17 02:38:41 +03:00
yuyi
cb70ffef59
table: minor simplification and cleanup of resolve_generic ( #9772 )
2021-04-17 02:38:07 +03:00
Bastian Buck
515d8c0bc8
os: remove unnecessary check ( #9722 ) ( #9773 )
2021-04-17 02:37:57 +03:00
Uwe Krüger
1b0f099552
parser: fix handling of `-` inside array literals ( #9771 )
2021-04-17 02:37:17 +03:00
Delyan Angelov
0b3d1656f0
cgen: improve -g info for `{...}` and `goto label`
2021-04-16 19:13:40 +03:00
Uwe Krüger
80bd2974b4
cgen: fix iteration over `shared` map ( #9763 )
2021-04-16 14:49:14 +03:00
Ulises Jeremias Cornejo Fandos
524becd523
context: use `IError` instead of `string` ( #9758 )
2021-04-16 11:54:28 +03:00
Bastian Buck
aa49bc2708
os: implement os.truncate() + improve error handling ( #9752 )
2021-04-16 11:53:44 +03:00
yuyi
8cb44ed9db
checker: fix generics with nested generics fn ( #9757 )
2021-04-16 11:53:20 +03:00
Miccah
e2be3ec396
vweb: split and parse Content-Type header correctly ( #9756 )
2021-04-16 08:46:06 +03:00
William Clavier
b11b744630
vweb: fix the `none` error for empty TCP connections ( #9759 )
2021-04-16 08:45:46 +03:00
Louis Schmieder
60bc280ad0
cgen: fix static var name used in sqlite orm generation, close #9725 ( #9745 )
2021-04-15 20:57:03 +03:00
Delyan Angelov
db908e507f
v: add more precise source line info for `-g -assert aborts`
2021-04-15 20:38:34 +03:00
Delyan Angelov
1d2ef79545
v: fix -assert aborts
2021-04-15 20:29:58 +03:00
Delyan Angelov
c7752ce8d3
v: add an -assert aborts/backtraces option to ease debugging
2021-04-15 20:26:51 +03:00
Delyan Angelov
f0c1e55637
v.gen.c: support `-d abort_on_assert` by injecting abort() calls
2021-04-15 19:55:09 +03:00
Delyan Angelov
d90be54850
v: add -cstrict for optionally turning on all ccoptions.wargs
2021-04-15 14:56:45 +03:00
涂紳騰(Shen-Teng Tu)
d9fdae1de9
parser: escape js template literal syntax inside <script> tags ( #9738 )
2021-04-15 12:39:39 +03:00
Delyan Angelov
cb69c4c91a
builtin: add a 'v hash:' line to V panics
2021-04-15 11:43:38 +03:00
yuyi
466dc4540b
all: minor cleanup of generics ( #9744 )
2021-04-15 11:00:23 +03:00
Louis Schmieder
dcf4a6b008
orm: add support for custom table names & custom field names ( #9697 )
2021-04-15 10:53:43 +03:00
penguindark
f1bda88964
regex: bugfix out of bound with gcc "-fsanitize=address" ( #9715 )
2021-04-15 10:46:49 +03:00
Delyan Angelov
b8e9f085eb
vfmt: cleanup StringInterLiteral.get_fspec_braces/1
2021-04-15 09:46:05 +03:00
Delyan Angelov
f1549b3ee7
vfmt: make ${} more robust; require it for every interpolation that uses '...' or "..."
2021-04-15 09:28:40 +03:00
penguindark
4ecc5001b9
builtin: fix for utf8_str_visible_length for CJK Unified Ideographs Extension G ( #9739 )
2021-04-15 09:20:53 +03:00
Jarred Sumner
9d6caa1d5d
checker: fix segfault in vls for struct field declarations, having custom initializers with fn calls ( #9741 )
2021-04-15 08:49:25 +03:00
Alexander Medvednikov
7df996e5e5
checker: fix fn_args test
2021-04-15 06:51:48 +03:00
Alexander Medvednikov
a18f85c8cd
vweb: init_once() => init_server(); init() => before_request()
2021-04-15 06:27:24 +03:00
Alexander Medvednikov
3a134acc5a
checker: orm: verify table type
2021-04-15 03:11:24 +03:00
Alexander Medvednikov
21c452c5cd
builtin: define u8 = byte alias
2021-04-15 02:58:27 +03:00
Bastian Buck
546dc91967
os: create os.hostname() and os.chown() + os.uname() for windows ( #9722 )
2021-04-15 01:49:05 +02:00
ka-weihe
25a9d30a70
channels: fix C warnings ( #9732 )
2021-04-15 01:44:39 +02:00
yuyi
1250ce4353
cgen: fix generics with embed generics ( fix #8694 ) ( #9724 )
2021-04-15 01:44:11 +02:00
Lukas Neubert
f4c8f897fe
parser: proper unexpected eof errors in const declarations ( #9712 )
2021-04-15 01:31:49 +02:00
crthpl
0099458c0a
all: small asm fixes and number labels ( #9730 )
2021-04-15 01:30:23 +02:00
zakuro
968cb13a36
fmt: mark types import as used in interface ( #9718 )
2021-04-15 01:29:17 +02:00
Delyan Angelov
345868853e
checker: change wording of the error message for complex boolean expressions
2021-04-14 19:55:52 +03:00
Delyan Angelov
3e297bced4
ci: remove some tests from skip_with_werror in `v test-self`
2021-04-14 12:47:24 +03:00
crthpl
14434cc86a
all: bare metal support (fix `-freestanding`) ( #9624 )
2021-04-14 07:50:50 +02:00
Alexander Medvednikov
711e309eef
gg: bring back native rendering on macos
2021-04-14 03:59:34 +03:00
Uwe Krüger
10bf974cda
all: gc: provide optimized mode ( #9716 )
2021-04-14 00:40:26 +02:00
Delyan Angelov
8c95f07509
sokol: fix compilation of gg apps on macos
2021-04-13 14:38:55 +03:00
Lukas Neubert
d9e2bb9b36
vdoc: ignore builtin/linux_bare ( #9708 )
2021-04-13 14:10:22 +03:00
Delyan Angelov
68c3eccec5
v: skip asserts in -prod mode inside non _test.v files
2021-04-13 13:07:57 +03:00
Delyan Angelov
84fe2d8c6e
v.ast: implement Expr.str() for ast.ConcatExpr and ast.IfExpr too
2021-04-13 12:23:30 +03:00
Delyan Angelov
f04dd21e79
builtin: run vfmt over string.v
2021-04-13 12:01:23 +03:00
Delyan Angelov
1ef718c1e1
cgen: fix `return if cond { x,y } else { a,b }` generation
2021-04-13 11:52:18 +03:00
Delyan Angelov
a1121d0eb0
builtin: use 0 instead of `\0` rune when setting C style terminators; use C.memcpy in `[]string{}.join("")`
2021-04-13 11:29:33 +03:00
Ulises Jeremias Cornejo Fandos
909c9c7ee7
context: small refactor to always use Context type instead of multiple types ( #9705 )
2021-04-13 07:04:13 +03:00
Enzo
66294e359a
checker: add immutable_builtin_modify.vv test ( #9702 )
2021-04-13 06:55:41 +03:00
yuyi
c3ccb58450
checker: check generics variadic arg mismatch ( #9700 )
2021-04-13 02:06:24 +02:00
Leah Lundqvist
cfaba49683
ios: move `sokol` declarations out of builder, and support non-sokol apps too ( #9703 )
2021-04-12 19:35:06 +03:00
Ulises Jeremias Cornejo Fandos
07a6f4e445
context: add a new `context` module, based on Golang's context, intended to be used in webservers ( #9563 )
2021-04-12 19:32:51 +03:00
ka-weihe
491fe49af6
map: rename methods (part 2) ( #9698 )
2021-04-12 16:22:02 +02:00
Lukas Neubert
b2c16ced57
parser: filter out vet space indent errors inside StringInterLiterals ( #9695 )
2021-04-12 16:03:22 +03:00
Lukas Neubert
ada763e0f4
fmt: remove parenthesis around single ident ( #9696 )
2021-04-12 16:01:03 +03:00
Henrixounez
7ba13a415a
os: handle fread errors ( #9687 )
2021-04-12 10:26:08 +03:00
Delyan Angelov
6d2d956c80
tests: fix -skip-unused test on macos
2021-04-12 10:24:13 +03:00
Lukas Neubert
9957e5a2c5
log: unify output order between cli and file ( #9693 )
2021-04-12 09:38:47 +03:00
Delyan Angelov
8193efb379
v.markused: mark all `pub` functions on `-shared -skip-unused`
2021-04-12 09:29:34 +03:00
ChAoS_UnItY
d7a64bbc8a
encoding.utf8: fix len and ulen and optimize raw_index ( #9682 )
2021-04-12 04:58:03 +02:00
Louis Schmieder
67d8639917
orm: add unique fields & add drop table stmt ( #9684 )
2021-04-11 23:57:25 +02:00
yuyi
b0b3c51658
checker: minor cleanup in fn_call ( #9681 )
2021-04-11 23:57:00 +02:00
Enzo
5a1a1b7c12
all: merge GoExpr and GoStmt ( #9685 )
2021-04-11 23:56:25 +02:00
Henrixounez
6cfd53bf57
cgen: generate interfaces after all other typedefs ( #9680 )
2021-04-12 00:43:19 +03:00
ka-weihe
0facc5a559
builtin: fix map.zeros_to_end ( #9689 )
2021-04-12 00:36:02 +03:00
Delyan Angelov
79fa15ec3a
cgen: allow printing of C.Structs containing &char/charptr fields
2021-04-12 00:14:58 +03:00
Louis Schmieder
273655ecc8
vfmt: fix asm volatile & goto ( #9688 )
2021-04-11 23:32:28 +03:00
Enzo
a851901620
checker: allow casting bool to byte ( #9676 )
2021-04-11 13:24:24 +03:00
Delyan Angelov
85e9cf1bd3
tests: add vlib/x/json2 to vtest-cleancode.v
2021-04-11 11:34:08 +03:00
Delyan Angelov
c939e4df97
x.json2: fix `direct sum type init` notices
2021-04-11 11:28:52 +03:00
Uwe Krüger
954c436d28
checker/cgen: auto initialize `shared` elements of structs ( #9669 )
2021-04-11 10:30:23 +03:00
yuyi
3241611871
v.ast table: minor simplification of generic_struct_insts_to_concrete() ( #9667 )
2021-04-11 10:29:31 +03:00
penguindark
cca06fce90
encoding.utf8: remove const unicode_con_table_up_to_low table ( #9672 )
2021-04-11 10:28:19 +03:00
ChAoS_UnItY
acb58d4923
encoding.utf8: add support for indexing a utf8 str ( #9670 )
2021-04-11 09:04:18 +03:00
yuyi
a2a18ef92c
v: simplify handling of function generic parameters ( #9673 )
2021-04-11 09:02:57 +03:00
Uwe Krüger
78c6e35bde
checker/cgen: fix `v := rlock m { m[key] or { default_val } }` ( #9666 )
2021-04-10 16:57:18 +02:00
れもん
e66de8e824
bitfield: add methods `insert` and `extract` ( #9612 )
2021-04-10 17:42:09 +03:00
Leah Lundqvist
38c517c1a2
builtin: use NSLog on iOS for print ( #9665 )
2021-04-10 17:40:43 +03:00
Louis Schmieder
64391efa4d
orm: add mysql support ( #9630 )
...
* add mysql to orm
* fix got to big packet error
* format sql.v
* format example
* custom sql types
* add mysql table cration
* add documentation
* format sql.v
* fix markdown
* start implementing select_expr for mysql
* remove orm.c
* format sql.v
* finish mysql expr
* remove c
* remove unessecary files
* change to c implementation
* remove c
* added str interpolation for idents
* fix string insert
* fix compilation problems
* fix gitly compilation
* fix typing mistake
* add link to orm docs
2021-04-10 17:38:27 +03:00
yuyi
9f093203a4
cgen: fix generics struct_init ( #9661 )
2021-04-10 17:33:15 +03:00
yuyi
cf64001474
checker: fix generics return generic struct ( #9663 )
2021-04-10 14:00:01 +03:00
yuyi
1bcc45f914
cgen: minor cleanup of return_stmt ( #9664 )
2021-04-10 11:55:34 +03:00
Delyan Angelov
d54becf52e
v.cflag: support `#flag $first_existing("/opt/homebrew/lib/libgc.a", "/usr/local/lib/libgc.a")`
2021-04-10 10:46:43 +03:00
yuyi
bf6a2f80ef
checker: fix generics with generic struct receiver ( #9658 )
2021-04-10 04:00:53 +02:00
ka-weihe
5273214ec2
map: rename methods ( #9657 )
2021-04-10 04:00:29 +02:00
Don Park
6c1a43415e
net.http: make http.parse_response() public so it can be used by http servers ( #9653 )
2021-04-09 23:42:25 +03:00
Uwe Krüger
bf9fe659a9
sync: fix `chan.close()` while a sending thread is waiting ( #9654 )
2021-04-09 23:40:35 +03:00
crthpl
903dd49212
v: add support for `$if freestanding {`, without using it (part 1) ( #9656 )
2021-04-09 23:24:25 +03:00
Delyan Angelov
40d32c7eed
v.markused: fix -skip-unused regression for v itself and for tetris
2021-04-09 20:04:14 +03:00
Miccah
5eb67ccd94
http: use Header struct for headers ( #9462 )
2021-04-09 18:17:33 +02:00
Ned Palacios
50f59674ce
ast, checker: make SelectorExpr.root_ident return ?Ident ( #9647 )
2021-04-09 18:06:40 +02:00
Uwe Krüger
b346dd9464
cgen: fix blank identifier in IfGard (`if _ := <-ch { ... }`, etc) ( #9650 )
2021-04-09 17:18:36 +02:00
Ned Palacios
6948419595
parser: fix InterfaceDecl's position ( #9649 )
2021-04-09 17:18:22 +02:00
Uwe Krüger
0c710ce470
cgen: register `Option_void` when used for `chan <- x or {...}` ( #9648 )
2021-04-09 17:18:02 +02:00
Delyan Angelov
820fe626e7
v.gen.c: reduce slightly the generated C lines with -skip-unused (3940 -> 3699 for hello_world.v)
2021-04-09 17:56:36 +03:00
Ned Palacios
a706215e52
ast, parser: add type_pos to TypeDecl nodes ( #9571 )
2021-04-09 14:51:25 +03:00
Lukas Neubert
46e7e27ba3
v vet: give an error for trailing whitespace ( #9574 )
2021-04-09 13:22:14 +03:00
Caian R. Ertl
ddb2e72301
checker: do not allow module aliases started with '_' (underscore) ( #9588 )
2021-04-09 13:14:27 +03:00
Uwe Krüger
84fa1ae444
boehm-gc: support a `[keep_args_alive]` tag for C functions ( #9641 )
2021-04-09 13:13:49 +03:00
spaceface
4feb09fa5b
checker, cgen: add sumtype-like smartcasting capabilites to interfaces ( #9256 )
2021-04-09 11:00:05 +03:00
Uwe Krüger
78e3bb748b
sync: close channels atomically only once ( #9645 )
2021-04-09 10:57:41 +03:00
zakuro
e6a67e7172
parser: fix error of `-foo.bar()` ( #9646 )
2021-04-09 10:54:03 +03:00
Miccah
67ec33218e
vweb: read the entire request body from buffered reader ( #9644 )
2021-04-09 10:53:33 +03:00
Delyan Angelov
e93a52a267
builtin: add support for '-d static_boehm -gc boehm' (only for macos and linux for now)
2021-04-08 19:17:04 +03:00
Delyan Angelov
7c79e9bce7
v.builder: streamline -stats output between backends. add a 'compilation speed' stat too
2021-04-08 12:18:16 +03:00
Ali Chraghi
9881ff8448
tests: fix option_print_errors_test.v ( #9616 )
2021-04-08 08:46:08 +03:00
yuyi
690c0309ad
vfmt: fix fn/method that return generic struct ( #9638 )
2021-04-08 08:24:34 +03:00
yuyi
e654d61541
checker: minor cleanup in check_or_expr() ( #9635 )
2021-04-08 08:21:42 +03:00
Louis Schmieder
c37945e37f
orm: add != ( #9600 )
2021-04-08 02:13:25 +02:00
Miccah
f809d4052f
net.http: change header behavior to keep custom header case ( #9602 )
2021-04-08 02:12:46 +02:00
Larpon
8caabf0e9e
sokol: update to floooh/sokol@c602d83 ( #9607 )
2021-04-07 20:39:23 +02:00
Enzo
9541eb816b
checker: remove unecessary assert ( #9617 )
2021-04-07 19:18:18 +02:00
Delyan Angelov
a747651f18
v.vcache: another workaround for a tcc arm64 runtime bug
2021-04-07 19:13:05 +03:00
Delyan Angelov
0cb0b0f9c6
v.vcache: workaround a tcc arm64 invalid memory access bug
2021-04-07 19:09:41 +03:00
Louis Schmieder
fdb4f17866
ci: fix compilation with g++ ( #9629 )
2021-04-07 18:53:04 +03:00
Delyan Angelov
9c67a1cf62
ci: fix the `v -autofree cmd/v` job
2021-04-07 18:37:30 +03:00
yuyi
66fafe7b7b
checker: remove redundant code for generic structs ( #9628 )
2021-04-07 17:26:22 +02:00
Delyan Angelov
de5cf4ac5e
v: show the number of processed bytes and lines for V source code with -stats
2021-04-07 18:12:27 +03:00
yuyi
fef4e1e700
checker: fix generics method return generics struct ( #9614 )
2021-04-07 15:27:58 +02:00
Louis Schmieder
ab03357a6e
orm: add table creation ( #9621 )
2021-04-07 15:27:02 +02:00
Lukas Neubert
3a07fbc653
fmt: improve match branch wrapping ( #9619 )
2021-04-07 15:26:10 +02:00
Lukas Neubert
1d5ed89138
fmt: remove trailing space in comments ( #9620 )
2021-04-07 15:25:11 +02:00
Alexander Medvednikov
66d3917554
builtin: fix C++ compilation
2021-04-07 15:25:45 +03:00
ka-weihe
bca9409192
map: wrap up delete fix ( #9626 )
2021-04-07 14:12:12 +02:00
Alexander Medvednikov
ff9837386a
Revert "map: wrap up delete fix ( #9601 )"
...
This reverts commit cbcc0d34b5
.
2021-04-07 03:40:43 +03:00
crthpl
018a88c3ce
parser: asm: add support for memory clobbers ( #9618 )
2021-04-06 21:25:24 +02:00
Alexander Medvednikov
89838f2e21
tutorials: blog: use db.create_table()
2021-04-06 22:15:14 +03:00
Alexander Medvednikov
f4566bb324
autofree: fix `return x[0]` (optional)
2021-04-06 18:38:16 +03:00
Delyan Angelov
db84d5e221
os: cleanup os.environ implementation
2021-04-06 18:02:12 +03:00
Alexander Medvednikov
1e2a92945c
autofree: test `return x[0]` (optional)
2021-04-06 17:28:07 +03:00
Alexander Medvednikov
dbaa91810f
autofree: fix optional returns
2021-04-06 17:14:11 +03:00
ka-weihe
cbcc0d34b5
map: wrap up delete fix ( #9601 )
2021-04-06 15:57:08 +02:00
涂紳騰(Shen-Teng Tu)
7d5c1c2ddb
tmpl: inline styles with attributes ( #9605 )
2021-04-06 15:17:40 +02:00
Lukas Neubert
a0648a3ec2
all: fixes related to Node.pos ( #9613 )
2021-04-06 15:16:19 +02:00
Delyan Angelov
87a16bbfe9
ci: fix -autofree cmd/v compilation job regression
2021-04-06 15:21:18 +03:00
Delyan Angelov
c1f2c570bc
v.util: prevent diff tool lookups when VDIFF_TOOL is set
2021-04-06 13:22:04 +03:00
Alexander Medvednikov
de5e603248
builtin: fix a warning in backtrace() on windows (msvc)
2021-04-06 02:52:54 +03:00
Delyan Angelov
d8cb24eef0
ci: fix -cflags -Werror jobs
2021-04-05 23:42:26 +03:00
Delyan Angelov
19b915b105
ci: fix windows-tcc job
2021-04-05 23:35:22 +03:00
Delyan Angelov
10619d098c
ci: fix a race in vlib/v/compiler_errors_test.v execution on m1
2021-04-05 22:57:59 +03:00
Delyan Angelov
b041681c00
tests: bump limits to reduce flakyness on m1 with latest clang
2021-04-05 22:38:55 +03:00
Delyan Angelov
7c664de8aa
time: fix macos job (building V with -cflags --Werror)
2021-04-05 22:32:33 +03:00
Delyan Angelov
5f07c583fb
ci: fix build-vc job (use more precise C.fprintf declaration)
2021-04-05 22:24:17 +03:00
Delyan Angelov
1899845582
ci: fix build-vc job
2021-04-05 22:18:18 +03:00
Delyan Angelov
acb6145d53
ci: final fix for `./v test-all`
2021-04-05 22:13:53 +03:00
Delyan Angelov
0e94612535
checker: only allow `ptr += int` in unsafe blocks
2021-04-05 22:01:18 +03:00
Delyan Angelov
291a88bc62
ci: fix some of `v test-cleancode` 4
2021-04-05 21:39:32 +03:00
penguindark
9aabf222fe
encoding.utf8: fix a bug in up_low ( #9610 )
2021-04-05 21:28:21 +03:00
Delyan Angelov
d11fb8497a
ci: fix some of `v test-cleancode` 3
2021-04-05 21:21:46 +03:00
Delyan Angelov
c0e2b9b1e2
ci: fix some of `v test-cleancode` 2
2021-04-05 20:55:03 +03:00
Delyan Angelov
fec89c7efb
ci: fix some of `v test-cleancode` 1
2021-04-05 20:47:32 +03:00
Delyan Angelov
4822274d29
x.websocket: use &byte instead of byteptr
2021-04-05 19:53:48 +03:00
Delyan Angelov
5bc29492fd
ci: fix vlib/v/tests/str_gen_test.v (all of `v test-self` is ok now)
2021-04-05 19:31:28 +03:00
Delyan Angelov
abbb08b28c
ast,checker: fix `v test-self` by relaxing the is_number checks
2021-04-05 18:45:03 +03:00
Conner
ab77453f5f
checker: fix spelling in 'inferred generic type is ambiguous:' check ( #9593 )
2021-04-05 18:21:09 +03:00
Ned Palacios
98e1dd4b22
checker: wrap print_backtraces with if is_verbose ( #9595 )
2021-04-05 18:19:20 +03:00
penguindark
a016ac39c0
examples: change byteptr to &byte in sokol examples and regex ( #9606 )
2021-04-05 18:17:45 +03:00
Ned Palacios
07b1dc66dd
ast, parser: add additional pos info for FnDecl and InterfaceDecl nodes ( #9603 )
2021-04-05 18:14:21 +03:00
Delyan Angelov
90b123c27b
ci: fix self compilation on windows
2021-04-05 15:47:43 +03:00
Delyan Angelov
cc8948efcf
time: fix compilation on macos
2021-04-05 15:31:29 +03:00
Delyan Angelov
7a9607b028
checker: use .clear_flags() when comparing number literals
2021-04-05 10:39:48 +03:00
Delyan Angelov
9fcdf33501
szip: fix compilation errors with -Werror
2021-04-05 10:31:48 +03:00
Delyan Angelov
82de973ee6
time: run vfmt
2021-04-05 10:25:02 +03:00
Delyan Angelov
c58b4cb1da
ci: fix `v -cc clang-11 -cflags -Werror cmd/v`
2021-04-05 10:23:58 +03:00
Delyan Angelov
4cde74f120
checker: make the compiler stricter when checking pointers
2021-04-05 10:02:47 +03:00
Delyan Angelov
d82a0c1637
ci: fix multiret_with_ptrtype_test.v
2021-04-05 08:31:20 +03:00
Delyan Angelov
63a1c32a17
ci: fix ptr_arithmetic_test.v
2021-04-05 08:25:08 +03:00
Delyan Angelov
5c07cbf5d3
ci: fix `v -cc clang-11 -cflags -Werror cmd/v`
2021-04-05 08:09:04 +03:00
Delyan Angelov
34aa67b1e8
ci: fix compilation and formatting of sqlite example in docs.md
2021-04-05 08:09:04 +03:00
Alexander Medvednikov
92fa9bbea9
cgen: fix [packed]
2021-04-05 08:02:19 +03:00
Alexander Medvednikov
ed37512ea9
ci: run wkhtmltopdf only on linux again
2021-04-05 07:55:32 +03:00
Delyan Angelov
9cc9ce698f
ci: fix more of byteptr=> &byte, vfmt check_types.v
2021-04-05 07:27:26 +03:00
Delyan Angelov
e9b8d9ba9e
ci: fix byteptr cast in embed_file.v
2021-04-05 07:27:26 +03:00
Alexander Medvednikov
77d8336db9
cgen: [packed] struct attribute
2021-04-05 06:49:43 +03:00
Alexander Medvednikov
e399c07a2f
os: fix a C warning
2021-04-05 06:42:20 +03:00
Alexander Medvednikov
7b7602a2f9
checker: bring back automatic c'foo' in c calls
2021-04-05 06:36:06 +03:00
Delyan Angelov
43d83717e7
ci: add more byteptr/&byte compatibility shims to smooth the transition to &byte
2021-04-04 22:46:31 +03:00
Delyan Angelov
0da827f250
ci: add a temporary transition shim to teach V that &byte === byteptr and &char === charptr
2021-04-04 21:37:07 +03:00
Delyan Angelov
8a362588aa
ci: fix os.environ :-|
2021-04-04 21:11:17 +03:00
Delyan Angelov
accd4d83bf
ci: fix compilation
2021-04-04 20:14:51 +03:00
Delyan Angelov
824790a2bd
builtin: simplify println(), use C.write consistently on unix as on windows so that 0 bytes are output also
2021-04-04 19:14:21 +03:00
Alexander Medvednikov
f3484345c7
checker: remove debugging info
2021-04-04 18:40:10 +03:00
Alexander Medvednikov
1716e8dd04
gg: byteptr fixes
2021-04-04 18:05:01 +03:00
Alexander Medvednikov
6c8199c9d9
os: fix compilation on linux
2021-04-04 17:48:21 +03:00
Alexander Medvednikov
57e6138a61
all: remove byteptr and charptr; replace them with &byte and &char
2021-04-04 17:43:32 +03:00
yuyi
8dd4a63913
checker: minor cleanup of checker.v ( #9585 )
2021-04-04 16:05:29 +02:00
Delyan Angelov
c698fa1a58
all: support `v -watch run` ( #9577 )
2021-04-04 16:05:06 +02:00
Delyan Angelov
82f3ca2d55
strings: use deprecated_after for the .write_bytes method
2021-04-04 10:01:26 +03:00
ka-weihe
337e447cfb
map: fix delete (part 1) ( #9579 )
2021-04-04 01:11:47 +02:00
penguindark
1a324679b9
regex: added groups in replace strings ( #9576 )
2021-04-03 23:16:56 +03:00
Lukas Neubert
0eb59cf2bd
fmt: prevent possible trailing whitespace in wrapped infixes ( #9573 )
2021-04-03 18:30:25 +02:00
Lukas Neubert
646d46b4dc
vet: turn warnings into errors with -W flag ( #9575 )
2021-04-03 18:30:15 +02:00
Alexander Medvednikov
31f8d5542c
cgen: remove a "return var" comment
2021-04-03 14:18:00 +03:00
Lukas Neubert
094441c863
vet: remove false positive space indent errors inside strings ( #9568 )
2021-04-03 12:16:49 +02:00
yuyi
7f81702d81
builtin: optimize array sort ( #9570 )
2021-04-03 12:16:18 +02:00
Delyan Angelov
53cbdbc2de
cgen: optimize out the empty #ifdef NOT_CURRENT_TARGET_OS #endif output
2021-04-02 18:52:42 +03:00
Daniel Däschle
6a5f49afb1
all: support `?Type(none)` ( #9567 )
2021-04-02 16:34:48 +02:00
yuyi
3637bac716
cgen: fix rune array sort ( #9561 )
2021-04-02 16:28:27 +02:00
Conner
9ba8d02a5a
generics: add more checks ( #9539 )
2021-04-02 16:27:54 +02:00
Lukas Neubert
e438b158a6
vet: remove false positive space indentation error inside block comments ( #9565 )
2021-04-02 16:26:53 +02:00
Ned Palacios
1bb48c3577
ast, parser: patches for VLS ( #9562 )
2021-04-02 16:26:37 +02:00
Delyan Angelov
af14c808a3
log: make .send_output public
2021-04-02 13:53:34 +03:00
Delyan Angelov
bcb3992406
log: implement .log_to_console_too() method
2021-04-02 10:12:52 +03:00
Delyan Angelov
897cd4cec2
builder: update cached .o files when their .c file is newer
2021-04-02 08:49:54 +03:00
Delyan Angelov
69ba93f954
ast: remove redundant `import v.ast`
2021-04-02 08:31:29 +03:00
Delyan Angelov
5ac9e39d44
szip: run vfmt, refactor test
2021-04-02 08:26:14 +03:00
Alexander Medvednikov
fb302c6253
checker: fix compilation
2021-04-02 03:29:24 +03:00
koplenov
9f7cf5cc37
szip: add support for unpacking zip archives and simple zip files
2021-04-02 01:59:01 +02:00
yuyi
c11356be21
cgen: minor optimization of fixed array copy ( #9554 )
2021-04-02 01:58:20 +02:00
Daniel Däschle
d8efe249ce
checker: add check for call expr in map/filter ( #9559 )
2021-04-02 01:56:51 +02:00
Alexander Medvednikov
7385f8e56b
all: a massive merge of ast and table modules
2021-04-02 01:57:09 +03:00
AAAA
043f6420f7
time: extend date str formats ( #9543 )
2021-04-01 13:04:59 +03:00
zakuro
0d1714cb0d
checker: check opt call in more places ( #9538 )
2021-04-01 11:49:13 +02:00
ka-weihe
1a76cb1c36
map: fix misalignment ( #9548 )
2021-04-01 10:39:00 +02:00
crthpl
8d5e310189
asm: make fixed labels possible as displacement ( #9549 )
2021-04-01 09:58:33 +03:00
yuyi
63f835c4ce
cgen: fix the alias of fixed_array ( fix #9537 ) ( #9544 )
2021-03-31 18:51:03 +02:00
yuyi
f1797a0150
generics: fix generic_struct_insts_to_concrete ( #9536 )
2021-03-31 13:11:55 +02:00
Ned Palacios
0b39de2fd3
ast, parser: add syms_pos to import ast ( #9541 )
2021-03-31 12:17:06 +02:00
Delyan Angelov
6daefde5cb
checker,ci: use c.note for "direct sum type init..."; fixes `/v -prod cmd/vls`
2021-03-31 12:38:54 +03:00
Delyan Angelov
23a6ce00e2
ci: fix for `-cflags -Werror` jobs
2021-03-31 12:28:42 +03:00
Alexander Medvednikov
e2e7e5fd65
walker: skip EmptyExpr for now
2021-03-31 12:15:11 +03:00
Delyan Angelov
024787b01c
ci: make the compiler_errors_test.v output silent in the CI for the OK cases
2021-03-31 12:07:19 +03:00
Alexander Medvednikov
6f318be96c
checker: do not allow nil sum types init
2021-03-31 11:13:52 +03:00
Delyan Angelov
dcab79146b
net.urllib: allow `urllib.parse_query("format=%l")`
2021-03-30 20:19:33 +03:00
Delyan Angelov
683eaad66f
net.http: support `-d trace_http_request` and `-d trace_http_response`
2021-03-30 18:11:00 +03:00
Andréas Livet
205fb88d90
eventbus: refactoring; add unsubscribe_method and unsubscribe_receiver ( #9443 )
2021-03-30 15:32:24 +03:00
Atakan Yenel
d1fadaf30c
flag: add custom errors ( #9515 )
2021-03-30 15:31:02 +03:00
Atakan Yenel
e9c7cd0c9f
vweb: add custom errors ( #9519 )
2021-03-30 15:30:16 +03:00
Atakan Yenel
28018c6fc9
x.json2: add custom errors ( #9523 )
2021-03-30 15:29:17 +03:00
Atakan Yenel
70b189d751
crypto: add custom errors to crypto lib ( #9522 )
2021-03-30 15:27:57 +03:00
Atakan Yenel
ab6e0ed0b3
add custom errors to encoding lib ( #9513 )
2021-03-30 15:27:26 +03:00
yuyi
5c21c748c9
builder,checker,table: simpify generics unwrap and struct processing ( #9531 )
2021-03-30 15:23:17 +03:00
Bastian Buck
15d9f50be9
os: add x64 mode for struct and raw read/write ( #9512 )
2021-03-30 11:40:23 +02:00
Swastik Baranwal
b40d06ec1e
cgen: fix operator overloading for array/map aliases ( #9529 )
2021-03-30 11:39:54 +02:00
Anton Zavodchikov
9b9ef5fe1b
x.websocket: add header to client ( #9517 )
2021-03-30 11:39:07 +02:00
Ned Palacios
3ced970b17
ast, parser: add additional info for CallExpr, StructInit nodes ( #9526 )
2021-03-30 09:43:17 +02:00
Ned Palacios
c5302bfcf5
x.json2: skip whitespace before scanning ( #9508 )
2021-03-30 09:40:20 +02:00
Andréas Livet
c4e389be41
gg: make Rect struct fields public ( #9518 )
2021-03-30 09:39:07 +02:00
yuyi
6143bd6232
generics: check generic_fn called arg mismatch ( #9510 )
2021-03-30 09:36:45 +02:00
Uwe Krüger
97f43d6a97
gc: make generational mode of Boehm-GC available ( #9514 )
2021-03-30 09:36:22 +02:00
zakuro
a3455b8433
cgen: execute defer stmts in LIFO order ( #9528 )
2021-03-30 09:35:19 +02:00
Ned Palacios
b319068151
ast, parser: implement simple AST poisoning ( #9525 )
2021-03-30 09:33:29 +02:00
Ned Palacios
999c385b7f
checker: add type check in interface fields ( #9527 )
2021-03-30 09:32:37 +02:00
Uwe Krüger
c1d4074bc4
thirdparty: make `fontstash` and `sokol` C-libraries work with Boehm-GC ( #9506 )
2021-03-29 11:27:34 +02:00
Atakan Yenel
89082de5d1
semver: add custom errors ( #9493 )
2021-03-29 11:17:00 +02:00
yuyi
cabbf93faa
cgen: fix generic_struct str() ( #9504 )
2021-03-29 11:15:59 +02:00
yuyi
736df955ff
checker: cleanup of generic's unwrap_generic ( #9495 )
2021-03-29 11:15:45 +02:00
yuyi
92f19f5767
generics: fix generics_struct with generic array string ( #9494 )
2021-03-28 10:46:13 +02:00
Uwe Krüger
76dc4cf13f
gc: fix another alignment issue ( #9489 )
2021-03-27 18:59:51 +01:00
Lukas Neubert
4a10514081
tests: run vfmt over some of the tests in vlib/v/tests ( #9455 )
2021-03-27 19:29:57 +02:00
penguindark
3b166d8327
regex: added less restrictive use of '-' in CC ( #9484 )
2021-03-27 18:15:06 +02:00
Ekopalypse
1b7fd2cf00
time: fix time offset ( #9449 )
2021-03-27 17:34:34 +02:00
Lukas Neubert
d9240bd983
fmt: remove cur_short_mod ( #9486 )
2021-03-27 17:29:49 +02:00
Lukas Neubert
cd74273869
fmt: fix import aliases in type declarations ( #9483 )
2021-03-27 11:33:41 +01:00
Alexander Medvednikov
cbf4715804
gg: ui mode fixes
2021-03-27 13:03:19 +03:00
Swastik Baranwal
0e254e0329
vdoc: support -os and show docs according to the platform ( #9474 )
2021-03-27 09:50:06 +01:00
zakuro
6f5259571d
cgen: use overloaded eq op in auto eq method ( #9475 )
2021-03-26 19:46:54 +02:00
yuyi
36cc4880a6
parser: fix generic fn with upper name type ( #9460 ) ( #9478 )
2021-03-26 16:50:35 +02:00
Uwe Krüger
3220ab7053
Boehm-GC: fix global `const` handling ( #9477 )
...
* define global `__v_inside_init`
* unset `__v_inside_init` after `_vinit()`
* define `C.GC_MALLOC_UNCOLLECTABLE()`
* allocate uncollectable memory during `_vinit()`
* ci: run test cases with V copiler that uses GC-Boehm itself
* wrap `__v_inside_init` access into `#ifdef _VGCBOEHM`
2021-03-26 16:44:45 +02:00
Delyan Angelov
a38fc89150
ci: fix the content of function_arg_mutable_err.out
2021-03-26 15:06:29 +02:00
Delyan Angelov
7e6c511e06
ci: fix the content of mut_int.out
2021-03-26 15:02:30 +02:00
Delyan Angelov
87494fad1d
parser: allow passing `mut a AliasOfPointerType`
2021-03-26 13:38:16 +02:00
Alexander Medvednikov
1e9d527d3c
checker: fix the deref mut check
2021-03-26 12:21:22 +03:00
Alexander Medvednikov
bb5958991c
checker: warn about automatic (de)referencing; freetype: compilation flag fixes
2021-03-26 11:42:51 +03:00
Bastian Buck
69dff4b384
os: make os module handle large files ( #9439 )
2021-03-26 07:51:55 +01:00
zakuro
91ea76797a
cgen: fix a c error, when using dump(ptr) ( #9468 )
2021-03-26 08:35:12 +02:00
yuyi
478bb9ce8e
parser, checker: fix generic fn that returns a generic struct ( #9469 )
2021-03-26 08:32:11 +02:00
yuyi
d8108a58d8
cgen: minor cleanup in for_in_stmt() ( #9471 )
2021-03-26 08:21:01 +02:00
Delyan Angelov
f29ca6b8df
cgen: show the original malloc call on a detected leak
2021-03-25 20:45:39 +02:00
pancake
1bf7d968f9
x.json2: add u64 ( #9457 )
2021-03-25 16:53:39 +01:00
Uwe Krüger
257eadd2e1
gc: add `-gc boehm_leak` for leak detection ( #9464 )
2021-03-25 16:52:33 +01:00
Delyan Angelov
03d56865e3
builtin: do not call C.GC_FREE with -gc boehm
2021-03-25 09:15:01 +02:00
Delyan Angelov
b0878d3a92
builtin,v.pkgconfig: use brew's libgc on macos
2021-03-25 07:28:30 +02:00
Alexander Medvednikov
1590783f02
Revert "time: use .c.v for files that use C. functions ( #9447 )"
...
This reverts commit 5d8b9b0151
.
2021-03-25 07:35:34 +03:00
zakuro
837cada30c
cgen: minor cleanup infix_expr ( #9445 )
2021-03-24 23:21:54 +02:00
zakuro
6bc9ef7373
builtin: vfmt every .v file, except vlib/builtin/int_test.v ( #9448 )
2021-03-24 20:39:59 +02:00
zakuro
5d8b9b0151
time: use .c.v for files that use C. functions ( #9447 )
2021-03-24 20:15:17 +02:00
zakuro
e76c8d5dc0
fmt: use type_to_str_using_alias instead of type_to_str in struct.v ( #9431 )
...
* fmt: use type_to_str_using_alias instead of type_to_str in struct.v
* update test
2021-03-24 20:13:11 +02:00
Uwe Krüger
522d70b48d
builtin,cgen: fix -gc boehm issues with maps; add a CI job for it to prevent regressions ( #9453 )
2021-03-24 19:49:16 +02:00
ka-weihe
b996799ccd
wyhash: update to final_version_3 (part 2) ( #9452 )
2021-03-24 18:06:35 +02:00
ka-weihe
8a97fb890f
wyhash: update to final_version_3 (part 1) ( #9451 )
2021-03-24 17:57:38 +02:00
Delyan Angelov
f8f74d8587
builtin: add panic_optional_not_set and use it in cgen for fncall()? in main
2021-03-24 14:13:58 +02:00
Delyan Angelov
9b78d7d21d
tools: check formatting of more modules with `v test-cleancode`, colorize `v vet` output
2021-03-24 12:39:39 +02:00
Delyan Angelov
9e48826bcb
dl: add dl.open_opt/2, dl.sym_opt/2 and dl.dlerror/0 utility functions
2021-03-24 11:47:04 +02:00
ka-weihe
f885c7cea9
tests: fix three tests with address errors ( #9441 )
2021-03-24 00:01:29 +02:00
spaceface
392666e475
cgen: fix treating errors as values inside if expressions ( #9440 )
2021-03-23 22:45:08 +02:00
Delyan Angelov
7afa4c7e2c
builtin: fix `["abc", "xyz"].str()`
2021-03-23 22:11:32 +02:00
Delyan Angelov
b7c01db1f9
builtin: add .vstring_literal and .vstring_literal_with_len for converting read only strings like os.args
2021-03-23 22:10:28 +02:00
Delyan Angelov
026f8424c2
builtin: fix a leak in string.index_kmp
2021-03-23 21:48:08 +02:00
Delyan Angelov
b335d47b72
flag: fix Flag.free(), workaround -autofree limitations
2021-03-23 21:28:44 +02:00
Delyan Angelov
a593ff930f
flag: add a .free() method
2021-03-23 20:36:46 +02:00
Delyan Angelov
7f91b75cbc
builtin: fix leaks in `os.execute()` and `[]string{} == []string{}`
2021-03-23 20:36:19 +02:00
Delyan Angelov
d098a3caca
builtin: make string.add() public temporarily till -autofree improves
2021-03-23 20:20:53 +02:00
Delyan Angelov
419ee8ae2a
builtin: fix a bug in `[]string.join()`
2021-03-23 20:14:46 +02:00
Delyan Angelov
8abfe2f5a2
cgen: -autofree fixes for []string{} having literals, comming from defailt string stuct field values
2021-03-23 18:54:37 +02:00
Delyan Angelov
7101d53d74
ci: fix `v self`, `v up` and other tools
2021-03-23 15:30:41 +02:00
Alexander Medvednikov
11e1f42193
builder: save the binary next to the source code again
2021-03-23 14:50:50 +03:00
Alexander Medvednikov
6463dfca29
Revert "Revert "builder: create the binary in the current directory if -o is not provided""
...
This reverts commit f2b73fe3ca
.
2021-03-23 14:49:09 +03:00
Delyan Angelov
ae6420afc7
tools: fix `substring in s` usages, preventing `v -W build-tools`
2021-03-23 13:36:50 +02:00
Delyan Angelov
f2b73fe3ca
Revert "builder: create the binary in the current directory if -o is not provided"
...
This reverts commit 9ae64e7fce
.
2021-03-23 13:27:26 +02:00
Alexander Medvednikov
9ae64e7fce
builder: create the binary in the current directory if -o is not provided
2021-03-23 12:31:02 +03:00
Alexander Medvednikov
0c055a1ce9
all: s.contains(s2) instead of `in`
2021-03-23 11:38:56 +03:00
Alexander Medvednikov
b5c286256c
tests: fix a compilation error
2021-03-23 11:16:13 +03:00
Ned Palacios
1d42b4cf66
vdoc, v.doc: remove DocPos and use token.Position ( #9429 )
2021-03-23 09:07:09 +01:00
Alexander Medvednikov
e86c6e024c
autofree: fix frees before returns
2021-03-23 11:04:59 +03:00
Ned Palacios
b9cbb4f177
scanner: fix eof token position ( #9432 )
2021-03-23 08:51:09 +01:00
Ned Palacios
aa4e22c287
scanner, token: add column information to tokens ( #9407 )
2021-03-23 06:23:46 +01:00
ka-weihe
3753a58ce0
parser: fix if-guard redefinition ( #9425 )
2021-03-23 04:38:36 +01:00
Lukas Neubert
1b572f75e8
fmt: minor array wrap improvement ( #9420 )
2021-03-22 23:06:12 +01:00
Delyan Angelov
a00c80b98f
v: support compiler notices. Use them for `[deprecated_after: '2021-05-01']` tags
...
Compiler notices are like warnings, with these differences:
a) notices use a different color.
b) notices use a different label.
c) notices do not prevent compilation with -prod.
(warnings are converted to errors with -prod)
2021-03-22 19:59:00 +02:00
Delyan Angelov
c76c69ec35
all: simplify `return if ...` constructs to make more code compatible with -autofree
2021-03-22 16:45:29 +02:00
Alexander Medvednikov
a53aaaf9e7
os: fix a leak in read_lines()
2021-03-22 12:20:55 +03:00
yuyi
320cd00203
string: fix replace_each() ( #9415 )
2021-03-22 09:46:45 +01:00
Delyan Angelov
400b4027c9
strings: comment deprecation of Builder.write_bytes temporarily
2021-03-22 09:01:22 +02:00
Delyan Angelov
1eb3ed9818
flag: return error on .finalize() on CLI arguments with unknown short options too
2021-03-22 08:21:13 +02:00
zakuro
0258482caf
cgen: auto eq method for sumtype ( #9408 )
2021-03-22 06:39:07 +01:00
yuyi
cf6faaf215
parser: fix anon_fn with array arguments ( #9414 )
2021-03-22 03:22:29 +01:00
Subhomoy Haldar
c5bc349edb
rand: update documentation ( #9406 )
2021-03-21 19:36:17 +02:00
zakuro
dfd58293ef
parser: fix parse error when using `f<Foo<int> >` ( #9401 )
2021-03-21 13:09:43 +02:00
Subhomoy Haldar
0e80e57aa5
rand.dist: add exponential distribution function and unit tests ( #9402 )
2021-03-21 13:04:43 +02:00
Alexander Medvednikov
4d77f3810f
gc: enable on macos and add leak detection fns
2021-03-21 05:31:10 +03:00
spaceface
5873149c77
builtin: allow libgc to be used on windows as well ( #9393 )
2021-03-21 01:01:21 +01:00
yuyi
246c09db96
checker: fix generics in big_struct ( fix #9373 ) ( #9383 )
2021-03-20 17:29:13 +01:00
zakuro
f9bbc119aa
checker: make optional arguments in func call an error ( #9362 )
2021-03-20 17:27:16 +01:00
zakuro
c8416f9a54
all: deprecate write_str and replace it with write_string ( #9369 )
2021-03-20 17:25:51 +01:00
Larpon
b7a0c44f39
builder: allow running symlinked .vsh files ( #9385 )
2021-03-20 17:25:09 +01:00
Delyan Angelov
517c1841c1
time: fix .sleep() with `-gc boehm`
2021-03-20 16:24:46 +02:00
Delyan Angelov
8810af76df
all: support `-gc boehm` on systems with libgc-dev installed ( #9382 )
2021-03-20 14:16:36 +01:00
Delyan Angelov
a6ddd24f5c
v.embed_file: add .to_string() and .to_bytes() utility methods
2021-03-20 09:30:38 +02:00
zakuro
e3c0f305b2
os: deprecate `os.File.write_bytes` and add `os.File.write_ptr` ( #9370 )
2021-03-20 09:02:28 +02:00
yuyi
ead0dff55a
cgen: fix return if_guard expr ( #9375 )
2021-03-20 03:53:47 +01:00
spaceface
3f9e921c95
builtin: add a proper str() method to IError ( #9379 )
2021-03-20 01:55:16 +02:00
penguindark
59f95170b3
regex: bug fix in replace using function, added tests ( #9381 )
2021-03-20 01:54:12 +02:00
Delyan Angelov
b0e225ac2d
dl: fix `v -cflags "-Werror" use_test.v`
2021-03-19 23:27:14 +02:00
Delyan Angelov
a386be6505
v.table: correct `table.types` to `table.type_symbols`
2021-03-19 22:51:52 +02:00
Delyan Angelov
4a12546971
cgen,fmt: improve sizeof(), fix `type PPType = &&Type`
2021-03-19 22:49:46 +02:00
Delyan Angelov
c5884a5f4d
v.ast: improve Expr.str() for `sizeof(Type)`
2021-03-19 20:56:49 +02:00
zakuro
95a748e8b0
checker: cleanup call_method ( #9365 )
2021-03-19 14:19:38 +02:00
Delyan Angelov
4f6306f6d4
examples: fix `v -cflags "-Werror" test examples/`
2021-03-19 13:13:56 +02:00
Lukas Neubert
82c4daa4b7
fmt: fail keep test when bin2v_keep preparation step fails ( #9361 )
2021-03-19 13:13:03 +02:00
Emeric MARTINEAU
125236694f
cli: improve multiple value management ( #8310 )
2021-03-19 13:09:56 +02:00
zakuro
29884fa2a9
os: deprecate read_at and add read_from to implement RandomReader ( #9371 )
2021-03-19 12:35:08 +02:00
Lukas Neubert
f8fcf3ff66
fmt: reorder and sort methods into section ( #9363 )
2021-03-19 11:26:34 +02:00
Delyan Angelov
04095f4088
ci: fix failing `v -W build-tools` and `v -W build-examples`; run vfmt.
2021-03-19 09:49:26 +02:00
Delyan Angelov
ea3d1405ee
ci: fix failing -Werror job with tcc
2021-03-19 09:34:41 +02:00
JalonSolov
9ea88c090b
os: fix warning write_str -> write_string ( #9368 )
2021-03-19 03:36:27 +01:00
Alexander Medvednikov
bb79df932b
net/os: deprecate write_str() in favor of write_string()
2021-03-19 04:51:31 +03:00
Delyan Angelov
8fa7e67000
builtin: use `return s.clone()` instead of `return s` consistently, to make manual free easier
2021-03-18 22:23:36 +02:00
Delyan Angelov
00651c8deb
builtin: free all elements in a `[]string` with -autofree too
2021-03-18 21:10:42 +02:00
Delyan Angelov
d4e16b6ddd
builtin: reduce memory allocations for s.trim, s.trim_left and s.trim_right
2021-03-18 19:52:33 +02:00
Delyan Angelov
09802707b1
tests: move rlock and shared array tests from `builtin` to `sync`
2021-03-18 19:51:11 +02:00
Delyan Angelov
b7a5fa7fbe
os: fix `v -cflags "-Werror" test vlib/os/`
2021-03-18 19:45:04 +02:00
Miccah
7222ee476b
all: implement array .any and .all ( #9347 )
2021-03-18 15:24:16 +01:00
spaceface
624c1f3bcf
cgen: make `bool`s take up a single byte, not 4 ( #9352 )
2021-03-18 15:23:29 +01:00
zakuro
4ae2c22c18
checker: make optional array element an error ( #9343 )
2021-03-18 15:11:51 +02:00
yuyi
a6c2c5ba88
parser: minor cleanup in call_args() ( #9344 )
2021-03-18 15:06:48 +02:00
Swastik Baranwal
f28e67d526
cmd/tools/v/vdoc: keep `_` sep in numeric literals and highlight modules properly ( #9358 )
2021-03-18 15:06:16 +02:00
Ned Palacios
eccf707270
vdoc: improve error message for non-existing symbols ( #9359 )
2021-03-18 15:04:53 +02:00
Delyan Angelov
7bbcf02134
ci: fix failing -Werror steps for code generated by json.encode(map{'a': []string{}})
2021-03-18 12:13:06 +02:00
Delyan Angelov
f7a8a460f6
v.parser: add a test for db46ad5
2021-03-18 11:31:17 +02:00
Delyan Angelov
db46ad5481
v.parser: fix `xxx.fncall(map{x: []string{}})` treatment as `[]xxx.string{}`
2021-03-18 11:07:25 +02:00
Alexander Medvednikov
4e62bc0b81
autofree: fix free before return
2021-03-18 05:41:50 +03:00
Alexander Medvednikov
88097125f7
checker: remove "use `++` instead of `+= 1`"
2021-03-18 01:37:36 +03:00
zakuro
6cfc2c217b
checker: fix #9330 ( #9342 )
2021-03-17 20:57:14 +02:00
Lukas Neubert
49eeddcd1c
parser: set correct last line for struct inits ( #9349 )
2021-03-17 20:46:08 +02:00
Lukas Neubert
0a06a83d9b
fmt: fix possible removal of PrefixExpr or blocks ( #9351 )
2021-03-17 20:43:28 +02:00
Delyan Angelov
e8df8bc8c3
ci: fix for `-autofree vlib/v/tests/option_test.v`
2021-03-17 14:44:45 +02:00
Delyan Angelov
99cc02685b
cgen: implement IError.free() and use it for the builtin `none` const
2021-03-17 12:38:24 +02:00
Delyan Angelov
ae401bd930
ci: fix the `./v -g -autofree -o v2 cmd/v` step
2021-03-17 09:48:56 +02:00
crthpl
fafb035fb5
all: reimplement inline assembly ( #8645 )
2021-03-17 01:43:17 +01:00
yuyi
dd9f9c2718
checker: check array.sort(a < b) ( #9321 )
2021-03-17 01:42:51 +01:00
ka-weihe
2991cad4e8
map: fix delete in for-in ( #9336 )
2021-03-17 01:42:33 +01:00
Alexander Medvednikov
149151b1e8
cgen: minor vfmt
2021-03-17 03:41:52 +03:00
Alexander Medvednikov
091a1bab27
autofree: free global map consts and some vweb fixes
2021-03-17 01:33:35 +01:00
shadowninja55
b4f7a975e8
builtin.string: optimize string.count where substr.len == 1 ( #9337 )
2021-03-17 00:19:48 +02:00
Enzo
4b6244c9c1
gen: fix generic variadic ( #9333 )
2021-03-17 00:18:43 +02:00
Lukas Neubert
05b51c5b01
parser: correctly set pos of sql blocks ( #9334 )
2021-03-16 23:00:50 +02:00
Delyan Angelov
1753445a64
builtin: make panics more IDE friendly
2021-03-16 20:50:11 +02:00
Lukas Neubert
e554415123
fmt: allow ascii art block comments ( #9332 )
2021-03-16 20:49:55 +02:00
shadowninja55
d92f9e77b0
builtin.string: optimize string.split_nth() for len == 1 delim ( #9325 )
2021-03-16 20:30:27 +02:00
JalonSolov
6f550ebbdc
string: fix fields method when no whitespace ( #9326 )
2021-03-16 19:45:27 +02:00
Delyan Angelov
0547a0a9cd
ci: comment the `dump(fixed_array)` call in crypto_rand_read_test.v
2021-03-16 12:04:50 +02:00
Delyan Angelov
c09e85fa90
crypto.rand: add a test for rand.read/1
2021-03-16 11:37:05 +02:00
Delyan Angelov
0363206bac
crypto.rand: correct the error message in the shim
2021-03-16 11:25:59 +02:00
Delyan Angelov
5777706a58
crypto.rand: add a shim for `fn read(bytes_needed int) ?[]byte` in rand_default.c.v, so that it shows with `v doc`
2021-03-16 11:23:50 +02:00
Delyan Angelov
506561c792
cgen: fix a bug (deleting a map key while iterating on the same map) detected by `-d debug_realloc`
2021-03-16 09:20:45 +02:00
Alexander Medvednikov
93df560cf9
builtin: deprecate string.split_by_whitespace in favor of fields()
2021-03-16 08:29:14 +03:00
Alexander Medvednikov
138da8e130
stbi/sokol: fix png loading bug
2021-03-16 01:39:35 +03:00
Alexander Medvednikov
852d302b87
io: BufferedReader.free()
2021-03-15 21:25:19 +01:00
Alexander Medvednikov
667a26335f
builtin: fix substr()
2021-03-15 21:16:23 +01:00
Alexander Medvednikov
77d5fcca59
urllib: a temporary autofree fix
2021-03-15 21:12:11 +01:00
Leah Lundqvist
0823ea4af1
builder: produce an iOS binary instead of a bundle ( #9316 )
2021-03-15 19:03:05 +01:00
Delyan Angelov
7f0c8d1eec
builtin: fix a compilation warning with `-d debug_malloc`
2021-03-15 17:37:06 +02:00
Nick Treleaven
446631ceb5
checker: fixed array cannot implicitly convert to fooptr (again) ( #9302 )
2021-03-15 15:55:07 +02:00
Uwe Krüger
9d168895ed
checker: check write access to shared elements of `struct` and `array` ( #9314 )
2021-03-15 15:54:06 +02:00
Anton Zavodchikov
1ad4623fb8
tmpl: move to v/parser ( #9052 )
2021-03-15 13:35:55 +02:00
yuyi
2d2e4610e7
cgen: make use of mut_rec in method consistent ( #9308 )
2021-03-15 12:22:52 +02:00
yuyi
e235022e10
cgen: fix error of for_in map_literal ( #9310 )
2021-03-15 12:22:32 +02:00
Delyan Angelov
3951c351c6
os: simplify Process (remove chainability of Process method calls)
2021-03-15 09:23:43 +02:00
Delyan Angelov
25c07c2f43
v.ast: handle more expressions in Expr.str()
2021-03-15 06:27:56 +02:00
zakuro
80ac1aaf93
fmt: use type_to_str_using_aliases ( #9306 )
2021-03-15 06:27:08 +02:00
yuyi
945769a4f6
all: implement reference receiver optimization for big structs ( #9268 )
2021-03-14 18:11:21 +01:00
StunxFS
92e95f127a
checker: correct type check for generic function with ternary if return ( #9296 )
2021-03-14 19:01:32 +02:00
yuyi
e677daf608
cgen: fix array_sort and format array_filter/map generated codes ( #9303 )
2021-03-14 18:47:43 +02:00
Delyan Angelov
2f4a49994a
builtin: implement support for `-d debug_malloc` too
2021-03-14 18:29:00 +02:00
Delyan Angelov
d65ad68e77
builtin: add 0 terminators for strings returned by .to_lower, .to_upper, utf32_to_str_no_malloc/2
2021-03-14 18:21:45 +02:00
Delyan Angelov
b6d089b605
v.depgraph: ensure `v -d debug_realloc -o v cmd/v` works
2021-03-14 16:15:33 +02:00
Enzo
db152868c0
fix: fix infering int and float literal in generic fn calls ( #9287 )
2021-03-14 15:00:47 +02:00
yuyi
c0779e8455
cgen: fix return_statement generated redundant `;` ( #9299 )
2021-03-14 14:58:17 +02:00
Delyan Angelov
125be84e3d
builtin: fix `-d debug_realloc`, add realloc_data/3
2021-03-14 14:54:35 +02:00
Delyan Angelov
ddbe57e00a
v test-cleancode: ensure more .v files are kept vmft-ed
2021-03-14 12:17:31 +02:00
spaceface
eebc8a9d7a
builtin: cleanup option names (part 2) ( #9294 )
2021-03-14 12:11:52 +02:00
zakuro
8dc0e4d150
v.scanner: decode \uXXXX in scanner ( #9298 )
2021-03-14 12:09:17 +02:00
Delyan Angelov
69f1e7c9c3
v: fixes for `v -autofree -o v2 cmd/v`
2021-03-14 09:37:38 +02:00
Leah Lundqvist
64d0006ff9
jsgen: fix string and array for loops and improve casting ( #9295 )
2021-03-14 08:20:01 +02:00
Nick Treleaven
df46fe1373
builder: warn when using tcc with -prod ( #9288 )
2021-03-14 01:55:14 +01:00
spaceface
9ed9e7aff0
builtin: cleanup option names (part 1) ( #9293 )
2021-03-14 01:54:46 +01:00
yuyi
5a6b321656
cgen: format if_guard_expr generated c codes ( #9290 )
2021-03-14 01:54:05 +01:00
spaceface
e9797c618a
all: implement error interfaces ( #9291 )
2021-03-13 18:13:50 +01:00
Alexander Medvednikov
167dcc415d
tests: fix a generic init test
2021-03-13 18:46:02 +03:00
Alexander Medvednikov
f86233c41f
autofree: fix [manualfree]
2021-03-13 18:43:02 +03:00
Alexander Medvednikov
2f1810634e
checker: do not allow direct initialization of builtin types (s := string{})
2021-03-13 18:20:46 +03:00
Lukas Neubert
f648e3f10d
fmt: use iembed cmts in arrays at line start when exprs come afterwards ( #9285 )
2021-03-13 09:58:50 +02:00
Ulises Jeremias Cornejo Fandos
5e02f6358c
math: add a test suite taken from vsl/vmath ( #9280 )
2021-03-13 09:05:02 +02:00
Nick Treleaven
c06e58d418
gen: fix generating `$if expr || expr` ( #9270 )
2021-03-13 08:45:50 +02:00
Lukas Neubert
fecf4a6f58
os: fix rmdir_all panic with hidden dirs ( #9271 )
2021-03-13 08:43:38 +02:00
Andréas Livet
603012be94
gg: add draw_image_part ( #9277 )
2021-03-13 08:39:10 +02:00
Vitalie Lazu
cccca51788
pg: support for copy sql commands ( #9272 )
2021-03-13 08:06:53 +02:00
zakuro
00dedaf6c1
scanner: replace ascii unicode(\u0020) with hex(\x20) ( #9259 )
2021-03-13 08:02:42 +02:00
Subhomoy Haldar
08da33fa5a
rand: add non uniform distributions in the `rand.dist` module ( #9274 )
2021-03-12 21:24:43 +02:00
Delyan Angelov
0c33656a19
ci: fix failing option_print_errors_test.v
2021-03-12 20:36:19 +02:00
spaceface
be409b52e9
builtin: prepare for error interfaces ( #9043 )
2021-03-12 20:05:05 +02:00
Delyan Angelov
c474106511
cgen: fix match expression with complex boolean conditions
2021-03-12 19:55:33 +02:00
StunxFS
3cb1bb7c36
checker: check the amount of parameters passed to `json.decode()` ( #9267 )
2021-03-12 19:02:09 +02:00
StunxFS
90d942e2ec
os: add missing '.exe' in os_test.v ( #9269 )
2021-03-12 18:05:29 +02:00
Nick Treleaven
9db8a61b92
checker: disallow array append in an expression ( #9265 )
2021-03-12 16:09:01 +01:00
Uwe Krüger
dbbf96702b
checker: require `shared a` to be `rlocked` to read `a[i]` or `a.e` ( #9266 )
2021-03-12 16:08:39 +01:00
Delyan Angelov
def53fd73f
os: prevent os.exists_in_system_path() from panicing
2021-03-12 17:05:26 +02:00
Delyan Angelov
995db65471
os: fix os.cp_all, by making the dst folder, if it does not exist already
2021-03-12 16:29:27 +02:00
Nick Treleaven
e229d0c1c3
checker: improve error message for invalid property ( #9263 )
2021-03-12 14:18:52 +02:00
Nick Treleaven
3be78d6777
parser: require anonymous fn to use `_` for unused parameters ( #9262 )
...
Fixes a C error with gcc.
2021-03-12 14:17:37 +02:00
yuyi
504b87bcfd
checker: minor cleanup in if_expr() ( #9258 )
2021-03-12 13:40:05 +02:00
Lukas Neubert
cfbb783649
fmt: fix linebreak in non-block consts ( #9260 )
2021-03-12 12:27:05 +02:00
Lukas Neubert
a67d49050c
math: add a pure V `math.mathutil`, with generic `min`, `max` and `abs` functions ( #9176 ), and use it consistently
2021-03-12 11:28:04 +02:00
Alexander Medvednikov
530b981765
vweb: mark send_response_to_client with [manualfree]
2021-03-12 01:11:43 +03:00
Lukas Neubert
c40ab0db72
fmt: fix removal of attrs with comments afterwards ( #9255 )
2021-03-11 21:44:33 +01:00
StunxFS
04c4f16f75
checker: minor changes to `Checker.hash_stmt()` ( #9249 )
2021-03-11 21:43:42 +01:00
StunxFS
8f08795689
checker: warn/error about empty const blocks ( #9252 )
2021-03-11 21:43:04 +01:00
yuyi
9fbb139e29
checker: check map copy error in fn_mut_arg ( #9242 )
2021-03-11 15:19:36 +01:00
Miccah
f26d2f02b7
ast, cgen, checker, parser: support method arguments in comptime $for ( #9208 )
2021-03-11 15:04:34 +02:00
StunxFS
8de6511056
cgen: minor optimization to `for ch in "StringLiteral"` ( #9240 )
2021-03-11 15:01:53 +02:00
yuyi
a547e889af
checker: check array literal modify error ( #9243 )
2021-03-11 14:57:04 +02:00
Lukas Neubert
f69cef397c
fmt: do not insert a space before struct declaration generics ( #9239 )
2021-03-11 14:54:40 +02:00
spaceface
7d0cba5e96
v.ast: remove the `stmt.position()` method ( #9233 )
2021-03-11 14:50:02 +02:00
Delyan Angelov
6628bbc690
cgen: use the new __offsetof_ptr macro
2021-03-11 13:14:36 +02:00
Delyan Angelov
144546543c
cgen: add the __offsetof_ptr C macro
2021-03-11 13:08:45 +02:00
Delyan Angelov
5a231326d7
parser: improve syntax errors in module declarations
2021-03-11 10:42:36 +02:00
StunxFS
6a7ef4f5b2
v.scanner: fix position of hash statements ( #9222 )
2021-03-10 20:23:17 +02:00
penguindark
c554e0b33d
gg.m4: fix a bug on translate, remove abs fn ( #9224 )
2021-03-10 20:20:17 +02:00
zakuro
f280a5c230
checker: extract into call_array_builtin_method to cleanup ( #9225 )
2021-03-10 20:19:39 +02:00
zakuro
ef73e07e62
checker: split fn_decl into functions to cleanup ( #9226 )
2021-03-10 20:18:48 +02:00
zakuro
791dec7b01
v: support `$if prod` ( #9228 )
2021-03-10 19:26:34 +02:00
Enzo
99abd46ac9
os: add `(read|write)_raw[_at]` to File ( #9171 )
2021-03-10 18:45:12 +02:00
Swastik Baranwal
8d84206a8c
cgen: fix match for one branch ( #9234 )
2021-03-10 18:44:32 +02:00
spaceface
eefdad21c7
cgen: cleanup interface/sumtype casts ( #9221 )
2021-03-10 18:41:11 +02:00
Larpon
0a39c2b9ea
gg: expand C.ANativeActivity struct definition ( #9231 )
2021-03-10 18:38:20 +02:00
yuyi
a187a4abb3
checker: check non-optional fn return or_block ( #9227 )
2021-03-10 12:53:23 +01:00
Delyan Angelov
0d2bb714bc
checker: disallow `x := [13]SumType{}` too
2021-03-10 11:07:36 +02:00
Delyan Angelov
f5ebfefdc9
ci: use a smaller fixed size array for the const eval test (fixes failing windows job)
2021-03-10 10:40:41 +02:00
Joe Conigliaro
fd2845e955
v.util: change naming behaviour for modules relative to working dir. closes #9138
2021-03-10 16:28:06 +11:00
Delyan Angelov
96a9e16e64
checker: allow `a := [5*kb]byte{}` where `kb` is a compile time known const too
2021-03-09 20:21:36 +02:00
Delyan Angelov
26cfd0eda9
checker: eval `const a = 1024 * 1024` and other simple integer expressions at compile time
2021-03-09 20:07:08 +02:00
spaceface
f1469a8761
checker: allow accessing fields common to all sumtype members ( #9201 )
2021-03-09 19:16:18 +02:00
yuyi
c4b0fdcbaf
cgen: fix for_in fixed_array of fixed_array literal ( #9206 )
2021-03-09 16:18:07 +02:00
yuyi
e67ce5ea7b
cgen: fix error of alias interpolation ( #9209 )
2021-03-09 13:25:31 +02:00
Ned Palacios
114a7db6e5
vdoc: fix symbol filtering ( #9210 )
2021-03-09 13:05:50 +02:00
zakuro
00399b49ab
v.util: add util.tabs() ( #9211 )
2021-03-09 13:03:25 +02:00
yuyi
fbc02cbc54
csv: fix reader_test.v ( #9204 )
2021-03-09 03:53:02 +01:00
Vassilis Panagiotopoulos
b893373e63
cgen: make .alias fields in structs use their proper string format, instead of the default %d ( #9197 )
2021-03-08 23:36:59 +02:00
Delyan Angelov
d7049ae2da
os: deprecate os.exec (returning ?os.Result), in favour of os.execute, which returns os.Result ( #8974 )
2021-03-08 20:52:13 +02:00
yuyi
10c9f61d61
checker: check empty map invalid syntax ( fix #9162 ) ( #9186 )
2021-03-08 19:48:17 +02:00
StunxFS
9a7d9e047b
dl: move 'example' to 'examples/dynamic_library_loading' ( #9187 )
2021-03-08 18:21:43 +02:00
Taegon Kim
4d24cb0158
darwin: fix the C. function declarations ( #9194 )
2021-03-08 17:18:26 +02:00
yuyi
b64d781a20
csv: fix error of read() ( #9193 )
2021-03-08 16:57:02 +02:00
yuyi
568faeed77
cgen: add `expr_string() and remove redundant codes ( #9188 )
2021-03-08 12:46:39 +02:00
yuyi
f2e570d63c
tests: add `for` tests of labelled continue and break ( #9189 )
2021-03-08 12:45:12 +02:00
Delyan Angelov
33bd22eda9
vlib/v/gen/tests: remove obsolete generation tests (used during the AST migration from v1 to v2)
2021-03-07 18:47:58 +02:00
pancake
ed9ca0b7bd
build: add address sanitizer make target ( #9044 )
2021-03-07 16:44:54 +01:00
zakuro
4c3ce97763
parser: fix Enum.value when Enum is an imported symbol ( #9046 )
2021-03-07 16:44:38 +01:00
Miccah
a1e0f2bc46
gen: add argument names to compile-time method struct ( #9174 )
2021-03-07 14:28:43 +01:00
yuyi
1b47e2953d
checker: check undefined ident of struct ( #9164 )
2021-03-07 14:09:38 +01:00
Delyan Angelov
f1c4e962f4
tests: add tests for `-d debug`, `-cg`, `-g` in combination for `[if debug]fn` etc
2021-03-07 12:42:30 +02:00
Delyan Angelov
64bc2fb40a
v: fix `[if debug] fn abc(){} ... abc()`
2021-03-07 12:05:07 +02:00
Delyan Angelov
c15de57f0f
tests: simplify the profile_test.v example program to not use `net`
...
(avoids unrelated openssl dependency)
2021-03-07 12:05:06 +02:00
Delyan Angelov
d0b89c5675
tests: rename for_c_multi_vars.v to for_c_multi_vars_test.v
2021-03-07 12:05:06 +02:00
nyx-litenite
a902178fdb
arrays: implement python-inspired array zip function and test ( #8667 )
2021-03-07 11:58:13 +02:00
yuyi
82085b0140
cgen: fix for_in map of fixed_array ( #9133 )
2021-03-07 11:41:08 +02:00
zakuro
45d51c76da
v.util: add an iabs(x) helper ( #9172 )
2021-03-07 11:24:05 +02:00
Lukas Neubert
6048d0e974
fmt: fix backslash doubling in attribute string args ( #9175 )
2021-03-07 09:44:58 +02:00
Lukas Neubert
053d6870d2
fmt: respect user choice of empty lines between type declarations ( #9135 )
2021-03-06 21:05:55 +02:00
Lukas Neubert
fdcfe397d4
fmt: write empty or blocks the same as empty fn bodies, empty structs, etc ( #9136 )
2021-03-06 21:04:51 +02:00
Lukas Neubert
043c29cf95
fmt: fix string interpolation with CastExpr ( #9137 )
2021-03-06 20:47:19 +02:00
Bartimus
ce92bf8da0
os.File: add .read_struct_at and .write_struct_at ( #9114 )
2021-03-06 20:44:53 +02:00
zakuro
7333b1706c
checker: minor cleanup: clear_flag(.optional) in check_expr_opt_call ( #9139 )
2021-03-06 20:42:34 +02:00
zakuro
b83530e0ed
fmt: extract part of fmt.v into struct.v ( #9141 )
2021-03-06 20:40:44 +02:00
Lukas Neubert
7f7f9dca6b
parser,fmt: fix regression with non-void arrays in if conditions ( #9161 )
2021-03-06 20:39:38 +02:00
Delyan Angelov
849cde245c
v: support dump(expr) ( #9160 )
2021-03-06 18:09:28 +01:00
penguindark
270df58057
gg.m4: fixed some bugs, added ortho projection ( #9140 )
2021-03-06 12:14:43 +02:00
yuyi
c802515e71
cgen: minor optimization in gen_code buffer init ( #9143 )
2021-03-06 12:03:38 +02:00
R cqls
204f57d227
os: update C apis used in os_android.c.v ( #9134 )
2021-03-05 19:20:11 +02:00
Larpon
07a1a9b84d
builtin: use fprintf to print to stderr on Android ( #9130 )
2021-03-05 19:12:42 +02:00
Delyan Angelov
fa530683c7
v: fix warnings for `v self`
2021-03-05 17:24:00 +02:00
Alexander Medvednikov
845e8decce
x64: basic mach-o and arm64 support
2021-03-05 17:52:39 +03:00
Joe Conigliaro
818be80581
parser: fix [] in if expr. closes #9131
2021-03-06 01:43:34 +11:00
joe-conigliaro
2d73411396
checker: define missing C fn args & check C & JS args ( #8770 )
2021-03-05 17:41:11 +03:00
Lukas Neubert
ead2ba6004
fmt: proper single line check for ConcatExpr ( #9121 )
2021-03-05 15:36:49 +03:00
yuyi
cbbfb460a7
cgen: fix for_in fixed_array ( #9129 )
2021-03-05 15:35:09 +03:00
zakuro
9ba312066e
fmt: extract type decls code into functions to cleanup ( #9126 )
2021-03-05 15:34:51 +03:00
Delyan Angelov
0f042124cb
tests: support `fn test_fn() ? { opt()? }`
2021-03-05 14:18:21 +02:00
yuyi
f4c03e8ed8
cgen: minor optimization in for_in_array ( #9127 )
2021-03-05 07:58:09 +02:00
Lukas Neubert
80356edd8c
fmt: combine simple attributes into a single line ( #9120 )
2021-03-05 07:17:57 +02:00
Gal Pasternak
208cabc994
checker: fix generic type ignores implemented interface ( #9124 )
2021-03-05 06:59:18 +02:00
Alexander Medvednikov
7446d8dc44
strings: test Builder's cut_last on windows
2021-03-04 20:35:17 +03:00
Miccah
709d7460de
vweb: refactor form parsing and add tests ( #9051 )
2021-03-04 18:00:03 +02:00
Delyan Angelov
6da66226e5
vfmt: keep `mut:` in interface declarations ( #9053 )
2021-03-04 15:30:30 +02:00
zakuro
4f02da00ba
checker: check arguments count of sort ( #9105 )
2021-03-04 15:22:47 +02:00
Leah Lundqvist
65e888230a
jsgen: object equality checks, optimise casting and start builtin implementation ( #9068 )
2021-03-04 14:02:16 +01:00
Delyan Angelov
5e0e44eb69
os: move file methods to vlib/os/file.c.v, document them, add new file.read_struct and file.write_struct and tests
2021-03-04 14:54:39 +02:00
yuyi
6097045b46
cgen: minor cleanup of cgen.v ( #9108 )
2021-03-04 14:40:57 +02:00
pancake
c65d65a3f5
v: use dash instead of lowerdash for -print-v-files ( #9111 )
2021-03-04 14:38:05 +02:00
Delyan Angelov
eb1e1afbc1
ci: fix failing fn_trailing_arg_syntax_keep.vv
2021-03-04 13:05:14 +02:00
yuyi
7c893895d8
cgen: minor cleanup in infix_expr() ( #9086 )
2021-03-04 12:50:18 +02:00
zakuro
6b2c7fd53e
fmt: remove tail space when using multiline short arg ( #9110 )
2021-03-04 12:44:50 +02:00
Lukas Neubert
8ce53b8b55
fmt: prevent code corruption with struct update syntax as trailing function arg ( #9091 )
2021-03-04 12:44:17 +02:00
Lukas Neubert
28fc91acb7
fmt: minor cleanups ( #9090 )
2021-03-04 12:43:11 +02:00
spaceface
7663f826e5
cgen: add auto str method generation for interfaces ( #9095 )
2021-03-04 12:41:42 +02:00
yuyi
5f9af3f594
cgen: fix for_in array of fixed_array ( fix #9098 ) ( #9099 )
2021-03-04 12:39:39 +02:00
zakuro
5b041db442
fmt: don't prepend mod when cast with selective imported types ( #9109 )
2021-03-04 12:33:52 +02:00