Delyan Angelov
7df8f063ed
builtin: fix typo
2022-11-29 14:42:44 +02:00
yuyi
dff61300fb
table: optimize fn_type_signature() ( #16552 )
2022-11-29 13:13:58 +02:00
Swastik Baranwal
58e150df12
parser: add a better error msg for using ...
, instead of ..
in for a in 1...10 {
( #16547 )
2022-11-28 10:37:12 +02:00
yuyi
d257e43932
checker: fix 'return none' in void optional function ( #16545 )
2022-11-28 10:29:02 +02:00
yuyi
7d8c386721
datatypes: change optional to result ( #16546 )
2022-11-28 10:24:47 +02:00
Delyan Angelov
1d24dbe602
builtin: document string.to_wide() and string_from_wide()/1
2022-11-28 09:46:04 +02:00
Delyan Angelov
73675dca87
builtin: move v_segmentation_fault_handler to builtin.c.v, make it more informative
2022-11-27 12:11:06 +02:00
Delyan Angelov
fdbd40d806
scanner: make Scanner.peek_token more robust (p.peek_token(-999999) will return an EOF token, instead of garbage data)
2022-11-27 12:09:43 +02:00
Delyan Angelov
50b73abc62
parser: add p.show()
to ease debugging parser problems, that need more context
...
Using it, produces output like this on stdout:
```
>> vlib/v/tests/typeof_type_test.v:4: keyword `typeof` token `(` token `[` keyword `fn` token `(` name `s` name `string`
>> vlib/v/tests/typeof_type_test.v:8: keyword `typeof` token `(` token `[` name `int` token `]` token `)` token `.`
>> vlib/v/tests/typeof_type_test.v:9: keyword `typeof` token `(` token `[` name `int` token `]` token `)` token `.`
>> vlib/v/tests/typeof_type_test.v:13: keyword `typeof` token `(` token `[` name `u32` token `]` token `)` token `.`
>> vlib/v/tests/typeof_type_test.v:14: keyword `typeof` token `(` token `[` name `u32` token `]` token `)` token `.`
>> vlib/v/tests/typeof_type_test.v:18: keyword `typeof` token `(` token `[` name `string` token `]` token `)` token `.`
```
Note: this tracing output is *deliberately on `stdout`*, instead of `stderr`,
so that you can filter it more easily, without saving it to a file first, i.e.
you can use it while developing/debugging parser issues like this:
`./v -o vnew cmd/v && ./vnew some_file.v | grep some_file.v`
-> this will show only the parsing context for the constructs you are debugging,
for that specific file *only*, instead of for all of `builtin` and the imported files etc.
2022-11-27 11:13:42 +02:00
yuyi
cf3dda2a58
datatypes: fix fsm.set_state() and cleanup fsm module ( #16539 )
2022-11-27 09:10:08 +02:00
Vincenzo Palazzo
8543d5e055
checker: improve mut arg error msg ( #16540 )
2022-11-27 07:07:35 +03:00
yuyi
ef5be22f81
all: replace generic <>
with []
- part 2 ( #16536 )
2022-11-26 18:23:26 +02:00
yuyi
b19b97e7b1
generic: replace generic <>
with []
part 1 - allow for both ( #16532 )
2022-11-26 08:59:42 +02:00
Swastik Baranwal
a9b41d2980
all: add support for const
ident in match
range ( #16526 )
2022-11-26 08:56:00 +02:00
yuyi
dee75fe970
checker: perfect infer_struct_generic_types() ( #16524 )
2022-11-24 19:30:02 +02:00
yuyi
f6cc88fa69
tests: add new test for #16519 ( #16520 )
2022-11-24 15:56:07 +02:00
yuyi
f0a23c8d3c
cgen: fix fn call of sumtype with alias fntype variant ( #16519 )
2022-11-24 12:05:57 +02:00
yuyi
8b5c75c481
cgen: fix sumtype with alias fntype variant ( #16516 )
2022-11-23 19:46:58 +03:00
shove
d632e84090
cgen: fix comptime optional methods call and optional field ( fix #16499 #16465 ) ( #16503 )
2022-11-23 19:08:49 +03:00
Subhomoy Haldar
f7a11b8e50
toml: update value_opt syntax and add missing documentation ( #16510 )
2022-11-22 19:45:12 +02:00
yuyi
7c7ebd648d
checker: check assigning generic function to a variable ( #16507 )
2022-11-22 17:56:49 +02:00
yuyi
27cdf5ae0e
checker: minor cleanup in checker module (remove pub from most of checker's methods) ( #16505 )
2022-11-22 17:50:26 +02:00
Delyan Angelov
7d57559b70
datatypes: make the out of bounds errors for lists APIs more detailed
2022-11-22 13:42:29 +02:00
yuyi
cc7e6006f9
checker: fix generic fn with short generic struct init syntax ( #16504 )
2022-11-22 13:27:49 +02:00
lemon
00383edd3d
native: add more operator support for floats on amd64 ( #16498 )
2022-11-21 12:48:24 +02:00
Delyan Angelov
c744030665
tests: add a watchdog thread to live_test.v to prevent it from blocking the whole CI on slow sanitized jobs
2022-11-21 12:24:54 +02:00
Delyan Angelov
c286775d9f
strconv: add test_atof_converter to the tests, as suggested by the code review
2022-11-21 07:41:41 +02:00
Delyan Angelov
6cd1723deb
strconv: fix float_prec := 1.9999999999999999 + 0.0000000000000000005
being 0.5 ( fix #16448 ) ( #16495 )
2022-11-21 03:57:51 +03:00
Delyan Angelov
0e727ec50a
checker: cleanup obsolete code for compatibility between byteptr and &byte ( #16494 )
2022-11-20 16:44:58 +02:00
Delyan Angelov
cb336c7dc7
net.http: remove ending \r from response.status_msg, add more tests
2022-11-20 16:22:43 +02:00
Hitalo Souza
45854882b9
builtin, cgen: support FieldData.unaliased_typ, use it for generalising x.json2
(able to encode type aliased struct fields) ( #16469 )
2022-11-20 11:18:14 +02:00
Swastik Baranwal
06764bc559
checker: disallow taking address of optional fields for now ( #16487 )
2022-11-19 22:03:39 +02:00
shove
5ef4e0c9be
cgen: fix "fn()?.field?" expr cgen error ( fix #16482 ) ( #16488 )
2022-11-19 20:30:24 +02:00
Delyan Angelov
6b0743bb07
x.json2: add support for i8, i16, u8, u16, u32 ( fix #16484 )
2022-11-19 12:03:04 +02:00
shove
79b4cfb42a
all: correct the first letter of error message from uppercase to lowercase ( #16481 )
2022-11-19 10:43:25 +02:00
shove
092f984708
ast, cgen: fix match struct.field? {...} ( #16478 )
2022-11-19 10:42:36 +02:00
RGBCube
2d9808b2dc
term: add term.slow_blink/1 and term.rapid_blink/1 ( #16470 )
2022-11-18 19:03:14 +02:00
Přemek Vyhnal
92be90300c
doc: mention the $embed_file return type, and link to its documentation ( #16467 )
2022-11-18 12:54:17 +02:00
Hitalo Souza
74613bd636
x.json2: generic-based encoder (finish PR#15137) ( #16464 )
2022-11-18 11:09:24 +02:00
Swastik Baranwal
44e2149baa
cgen: add escaping for near
, far
and huge
keyword ptrs ( #16463 )
2022-11-17 23:42:09 +02:00
shove
ae816b1719
parser: fix if-guard for struct optional fields ( fix #16460 ) ( #16461 )
2022-11-17 15:30:16 +03:00
shove
74efd2621b
checker: fix struct field unsign type check ( fix #16457 ) ( #16458 )
2022-11-17 09:20:42 +02:00
Swastik Baranwal
360457e021
checker: disable overriding and importing of builtin sym types ( #16452 )
2022-11-17 09:10:03 +02:00
yuyi
cb9e945aa0
cgen: clean and improve need_tmp_var_in_match() ( #16451 )
2022-11-17 09:08:45 +02:00
shove
37700502f5
all: implement struct field optional and disallow storing result ( #16392 )
2022-11-17 07:51:50 +02:00
Spydr
41dd8985fc
native: use enum values instead of strings for identifying builtin functions ( #16450 )
2022-11-17 07:44:08 +02:00
shove
49277f7aa8
cgen: fix dump(nil), dump(voidptr) ( fix #16455 ) ( #16456 )
2022-11-17 07:41:07 +02:00
yuyi
523ccbcb70
cgen: fix if expr with sumtype value of map ( #16445 )
2022-11-16 14:59:34 +02:00
Larpon
b60132d2ac
checker: rename test assing -> assign ( #16446 )
2022-11-16 14:46:36 +02:00
Delyan Angelov
9bb1867be0
os: refactor err == IError(os.Eof{})
to err is os.Eof
2022-11-16 00:53:45 +02:00
Delyan Angelov
ddc1a1fc08
checker,cgen: support const y = term.yellow
, then println(y('abc'))
( #16436 )
2022-11-15 19:51:57 +02:00
Swastik Baranwal
dc81d755e8
checker: disallow using unsafe { none }
( #16431 )
2022-11-15 18:55:07 +02:00
Basil
fe2db64384
tests: add unsafe block for the int->enum cast in bench_compare_tokens.v ( #16438 )
2022-11-15 18:34:44 +02:00
yuyi
017ace6ea7
vfmt: change all '$expr' to '${expr}' ( #16428 )
2022-11-15 16:53:13 +03:00
Ikko Ashimine
56239b4a23
toml: fix typo in parser.v ( #16430 )
2022-11-14 21:08:22 +03:00
Swastik Baranwal
58cee6ccc8
checker: disallow none type in struct fields ( #16425 )
2022-11-14 17:48:00 +03:00
yuyi
91ecfb917c
checker: fix generic fn casting &u8 to &alias to u32 ( #16420 )
2022-11-14 17:37:53 +03:00
Alexander Medvednikov
37583b04b4
gg: make create_image's receiver immutable
2022-11-14 17:25:42 +03:00
Dominik Pytlewski
f44af02e32
sqlite: affected rows count ( #16426 )
2022-11-14 17:23:42 +03:00
yuyi
1a4d1aece4
checker: minor cleanup and optimization in method_call() ( #16421 )
2022-11-13 22:33:36 +02:00
Hitalo Souza
38555a92e1
time: change days_from_civil
to days_from_unix_epoch
, add date_from_days_after_unix_epoch
( #16363 )
2022-11-13 14:30:14 +02:00
Hitalo Souza
7cfaacbe7a
doc: add more examples to vlib/time/README.md ( #16362 )
2022-11-13 13:48:07 +02:00
yuyi
5a28699edb
cgen: minor cleanup in auto_str_methods.v ( #16411 )
2022-11-13 11:59:32 +03:00
yuyi
f31a3b4250
checker: check sumtype argument mismatch in generic methods ( fix #16340 part2) ( #16403 )
2022-11-13 11:58:53 +03:00
yuyi
e8e75251b4
vweb: change optional to result in vweb_test ( #16412 )
2022-11-13 11:57:35 +03:00
Taegon Kim
b54f9c2949
parser: fix attributes with optional or result types ( #16401 )
2022-11-12 18:35:01 +03:00
Junko
5bb058e35b
gg: revamp the Context
pipeline for more effects, implement an additive
effect ( #16394 )
2022-11-12 09:39:18 +02:00
Delyan Angelov
12f01318c2
v.live, cgen: enable using [live]
in modules too (monitor used .v files for changes, not just the top level one) ( #16396 )
2022-11-11 22:06:42 +02:00
yuyi
c9ce5f89c7
builtin: fix f32.str() ( #16391 )
2022-11-11 13:56:45 +02:00
Delyan Angelov
c1a44efc78
tests: ensure that const loading is stressed in live_test.v, to prevent -live regressions for more complex examples like bounce.v
2022-11-11 10:45:54 +02:00
Delyan Angelov
e9fac05775
cgen: fix v -cc tcc -live run examples/hot_reload/graph.v
too
2022-11-11 10:20:18 +02:00
Delyan Angelov
202f9574ec
cgen: fix v -live -cc gcc examples/hot_reload/graph.v
2022-11-11 10:20:17 +02:00
shove
3a85955d22
all: rollback to old interpolation (step 4) ( #16383 )
2022-11-11 11:06:01 +03:00
yuyi
993e21e85b
checker: check fntype mismatch of struct field init ( fix #16372 ) ( #16381 )
2022-11-10 20:19:19 +02:00
yuyi
196b01aef7
all: minor cleanup of optional and result ( #16382 )
2022-11-10 20:14:20 +02:00
shove
26d643fc5d
all: rollback to old interpolation (step 3) ( #16380 )
2022-11-10 15:05:34 +03:00
Delyan Angelov
bbae7a705f
checker: fix incomplete implicit ast.CastExpr{} replacements
2022-11-10 13:59:22 +02:00
Delyan Angelov
7543b769ad
checker: allow for all.children := { "abc": rect, "def": rectangle()}
, where children
is map[string]Widget
, without needing explicit casts for all the map values
2022-11-10 13:59:21 +02:00
yuyi
46921480fc
comptime: fix embed file with variable argument ( fix #16360 ) ( #16375 )
2022-11-10 04:09:51 +02:00
Swastik Baranwal
bbd0603b41
checker: add check for unknown generic types in type alias decl ( #16377 )
2022-11-10 04:08:00 +02:00
Dominik Pytlewski
2634b99769
sqlite: expose SQLite's VFS layer ( #16359 )
2022-11-09 19:57:06 +02:00
yuyi
7e000bb6ae
embed_file: correct test file name ( #16376 )
2022-11-09 19:55:51 +02:00
shove
a199a9afab
all: rollback to old interpolation (step 2) ( #16373 )
2022-11-09 17:37:27 +03:00
shove
dd5f6186a1
all: rollback to old interpolation (step 1) ( #16370 )
2022-11-09 11:57:54 +03:00
Swastik Baranwal
7830597b66
checker: add check for multi level fn aliases ( #16361 )
2022-11-09 10:36:39 +02:00
Taegon Kim
ce79c9c876
checker: extract valid_comptime_
constants into v.checker.constants
( #16371 )
2022-11-09 10:07:21 +02:00
yuyi
c7d0f0561e
scanner: fix new string interpolation - nested quotes ( #16345 )
2022-11-08 17:51:02 +03:00
Taegon Kim
bc30608e92
checker: always trigger error for anon fns without a body block ( #16358 )
2022-11-08 15:50:59 +02:00
yuyi
1d04b71c91
cgen: fix generic sumtype auto str ( #16355 )
2022-11-08 10:49:09 +02:00
Taegon Kim
dc9997f58c
fmt: fix - v fmt
transforms compile time options in some cases ( #16351 )
2022-11-08 08:05:48 +02:00
pancake
407bb6641f
cgen: fix #16326 -cstrict
with $embed_file
( #16343 )
2022-11-06 15:47:06 +02:00
yuyi
25b8ae2189
parser: minor cleanup in comptime.v ( #16338 )
2022-11-06 08:23:28 +03:00
pancake
e3fed4c3eb
v.pkgconfig: fix infinite recursion bug when parsing dependencies ( #16342 )
2022-11-06 08:22:50 +03:00
Swastik Baranwal
ca484430e0
checker: check int overflow for const vars ( #16332 )
2022-11-06 08:22:28 +03:00
yuyi
d701cf561c
scanner: fix new string interpolation: print('{n:10}') ( fix #16321 ) ( #16325 )
2022-11-06 08:20:21 +03:00
Delyan Angelov
056f1b7c06
parser: improve error message for fn (a Foo<Foo<T>>) baz(){}
2022-11-05 19:58:22 +02:00
Delyan Angelov
27d8f2371d
ci: fix go->spawn in the examples in vlib/context/README.md too
2022-11-05 14:02:24 +02:00
Delyan Angelov
bf00e9bdb8
tests: fix vlib/v/fmt/tests/*_expected.vv files too
2022-11-05 11:30:49 +02:00
Alexander Medvednikov
02acb8433c
tests: fix keep tests with spawn
2022-11-05 12:13:20 +03:00
Alexander Medvednikov
e81e0ac708
fmt: replace go
with spawn
2022-11-05 10:46:40 +03:00