Delyan Angelov
3d545ee0cd
builtin: add more fields to FieldData (will be implemented later in a PR, to ease bootstrapping)
2022-12-26 16:05:14 +02:00
Delyan Angelov
94a36c5ca4
tests: remove module main
from tests, that do not need to be internal
2022-12-26 15:31:23 +02:00
yuyi
68883fc4d9
os: fix os.file_ext('/tmp/.gitignore')
previously returning '.gitignore' => it now returns '' ( #16771 )
2022-12-26 12:53:38 +02:00
yuyi
64ed007f94
cgen: fix generic struct init with inconsistent generic optional types ( #16766 )
2022-12-25 12:06:13 +02:00
yuyi
21d6bd930e
ast, cgen: fix printing nested generic struct ( #16758 )
2022-12-25 09:57:16 +02:00
Felipe Pena
6a179a2926
checker: add int signedness mismatch checking for function call arguments ( #16750 )
2022-12-24 06:28:35 +02:00
yuyi
0128d2dd1c
ast, parser: fix wrong type name of nested generics ( #16749 )
2022-12-24 06:19:51 +02:00
Charles WANG
9dbc2afc5b
net.html: fix typo in README.MD ( #16747 )
2022-12-23 09:37:08 +02:00
Felipe Pena
b21e5b71ba
cgen: fix call arg type changing on match expr ( #16744 )
2022-12-23 01:58:52 +02:00
Delyan Angelov
fc5826b7ca
cgen: minimise sizeof(EmptyStruct)
to 0 for gcc/clang and to 1 for tcc/msvc, by changing EMPTY_STRUCT_DECLARATION and EMPTY_STRUCT_INITIALIZATION ( #16733 )
2022-12-22 21:47:39 +02:00
yuyi
e01dac885c
builtin: fix m.len to 0, after calling map.clear() ( #16720 )
2022-12-22 21:36:33 +02:00
Delyan Angelov
f9043c84a7
builtin: optimise the initialisation of the common 1 byte element arrays []u8
2022-12-22 20:41:32 +02:00
Delyan Angelov
8f8a186158
builtin: support -d trace_vmemset
, -d trace_vmemcmp
, -d trace_vmemmove
and -d trace_vmemcpy
too
2022-12-22 20:08:53 +02:00
Delyan Angelov
b67705f568
builtin: move the -d trace_*alloc
lines at the start of their corresponding functions, implement -d trace_memdup
too
2022-12-22 19:36:15 +02:00
Delyan Angelov
3da4f37b01
cgen: improve generated source compatibility with latest Alpine (lacking libexecinfo-dev and execinfo.h) and the prebuilt tcc ( #16743 )
2022-12-22 15:01:51 +02:00
yuyi
e519bdf0eb
checker: check generic method receiver type mismatch ( #16739 )
2022-12-22 13:37:46 +02:00
yuyi
82a3551313
checker, cgen: fix match expr with branch returning ( #16741 )
2022-12-22 12:55:44 +02:00
Swastik Baranwal
3c5cfa22d1
parser: disallow the array init: attr, when the len: attr is not provided ( #16735 )
2022-12-21 21:24:16 +02:00
Delyan Angelov
87f8069728
ci: fix warnings for compiling builder_test.v too
2022-12-21 21:14:21 +02:00
Alexander Medvednikov
88e33a83de
gg: fix draw_image on macos native; vcreate: vweb template
2022-12-21 19:33:37 +03:00
yuyi
ccbb8ab0ca
ast, parser: fix generic struct init with nested generic struct ( #16736 )
2022-12-21 18:32:54 +02:00
Delyan Angelov
1cde55478d
cgen: fix cgen errors for overloaded operators using reference types for the receiver and operand ( fix #16725 ) ( fix #15859 ) ( #16726 )
2022-12-21 09:10:30 +02:00
Felipe Pena
2f9becc98d
cgen: fix debug generated code with -g
, while fixing #16690 ( #16723 )
2022-12-20 16:41:42 +02:00
Delyan Angelov
3c920f2ee6
x.json: fix parsing of time fields, that have just a single date encoded inside the parsed string ( fix #16722 )
2022-12-20 16:34:09 +02:00
pancake
c84eb29b78
js: use write() on the freestanding backend ( #16704 )
2022-12-20 13:16:06 +02:00
John
eb8e8b8642
rand: add Blackman/Vigna xoroshiro128++ PRNG ( #16712 )
2022-12-20 10:53:30 +03:00
Felipe Pena
0fe7ae3a60
cgen: remove repeated code ( #16718 )
2022-12-20 10:52:37 +03:00
Larpon
7e4dc24f1b
math: add math.vec
module with generic 2D, 3D and 4D vector operations ( #16710 )
2022-12-19 18:10:48 +02:00
yuyi
2090e4a12f
ast, cgen: optimize generic struct with inconsistent generic types ( #16708 )
2022-12-19 15:02:27 +02:00
Delyan Angelov
353fdb4ca0
ci: workaround for v vet failing for v clean-code over the new v bench script (using \ in its path on windows).
2022-12-19 12:31:16 +02:00
Delyan Angelov
cbd34cd6e7
bench: add bench_string_key_in_map_vs_string_value_in_array.v
2022-12-19 11:56:00 +02:00
yuyi
aad95ac818
cgen: fix generic struct init with inconsistent generic types ( fix #16677 ) ( #16702 )
2022-12-19 10:43:27 +02:00
Felipe Pena
04936b00c5
cgen: fix struct selector with or block ( #16695 )
2022-12-18 14:22:06 +02:00
Delyan Angelov
de5ae63401
parser: improve precision of struct field type positions in errors
2022-12-18 13:34:39 +02:00
Swastik Baranwal
5b4a16e864
checker: add err for unknown generic struct field ( #16698 )
2022-12-18 11:46:37 +02:00
yuyi
ba07e48691
ast, checker: fix checking generic struct type mismatch ( #16701 )
2022-12-18 10:29:44 +02:00
Delyan Angelov
9f1239c56e
vweb,net: fix vweb crash when the connection was closed prematurely (tested with Chrome on windows, refreshing as fast as possible)
2022-12-17 19:08:59 +02:00
yuyi
e83a8416d5
ast, parser: fix generic struct init with inconsistent generic types ( #16697 )
2022-12-17 18:17:43 +02:00
Felipe Pena
9921598c91
cgen: fix struct field initialisation with a fixed array ( #16692 )
2022-12-17 18:15:17 +02:00
Delyan Angelov
1aec40a126
vweb: flush stdout after the Running app on
message, fix potential invalid map value access in serve_if_static
2022-12-17 18:04:50 +02:00
Felipe Pena
65a020e385
cgen: fix comptime checking optional type with IS operator ( #16688 )
2022-12-16 16:53:04 +03:00
l-m
f0a252d0e6
builtin: apply .nogrow
flags to gcboehm array ( #16689 )
2022-12-16 07:57:50 +02:00
Delyan Angelov
0a11955284
parser: support an unambiguous sizeof[T]() and isreftype[T]() (part 1) ( #16684 )
2022-12-15 19:21:52 +02:00
Ikko Ashimine
e5e73ebbfa
regex: fix typo in regex.v ( #16683 )
2022-12-15 18:54:07 +02:00
Swastik Baranwal
bd1d96de0e
cgen: add support for alias map keys ( #16682 )
2022-12-15 18:53:23 +02:00
Delyan Angelov
3643785981
pref: deprecate -error-limit in favour of the documented -message-limit option.
2022-12-15 10:37:57 +02:00
yuyi
fd472d2d41
toml: minor cleanup in toml tests ( #16679 )
2022-12-15 10:16:42 +02:00
Makhnev Petr
db2111235e
tests: add a teamcity output format for V's test runner ( #16681 )
2022-12-15 09:29:09 +02:00
Felipe Pena
c3ee26f15f
checker,cgen: fix dump when using comptime variable val.${field.name} ( #16671 )
2022-12-14 20:45:28 +02:00
Delyan Angelov
f762d46c84
pg: add compatibility.h, using a PG_VERSION_NUM check in the preprocessor, to just hardcode the missing CONNECTION_ numbers
2022-12-14 18:27:42 +02:00
Delyan Angelov
3b683f11e0
pg: comment out C.CONNECTION_GSS_STARTUP, which is not available on Debian 10 (PG 11)
2022-12-14 16:39:29 +02:00
yuyi
8e3a90ae79
cgen: minor cleanup in struct_init() ( #16676 )
2022-12-14 15:25:09 +02:00
yuyi
8ab4c7742c
ast, checker: fix generic struct init with inconsistent generic types ( #16675 )
2022-12-14 14:57:12 +02:00
Delyan Angelov
173b1895d6
pg: cleanup implementation, make -cstrict
pass with both gcc-11 and clang-12 (by tightening the C wrapper declarations)
2022-12-14 13:17:00 +02:00
Hitalo Souza
70bb989537
doc: update the README for json2 ( #16657 )
2022-12-14 10:21:29 +02:00
l-m
acbd93b54c
builtin: add .nogrow
and .nofree
flags to array
( #16661 )
2022-12-14 09:44:14 +02:00
Subhomoy Haldar
b07e447764
encoding.html: add escape() function ( #16666 )
2022-12-13 22:10:57 +02:00
yuyi
69f7c45bec
builtin: fix array init with array default ( #16664 )
2022-12-13 18:05:33 +02:00
Felipe Pena
738fe77300
cgen: fix short circuiting behaviour of logical expressions, when several PrefixExpr's are used in if conditions ( #16660 )
2022-12-13 13:09:03 +02:00
Delyan Angelov
992621bd91
bench: add a small performance comparison script bench_json_vs_json2.v
2022-12-12 10:26:04 +02:00
Hitalo Souza
b682e9ec0b
json2: decode time.Time, supporting unix timestamps (like json
), as well as rfc3339 datetimes ( #16653 )
2022-12-12 10:06:29 +02:00
yuyi
8225622da5
checker: check smartcasting requires either an immutable value, or an explicit mut keyword before the value ( #16654 )
2022-12-12 09:22:56 +02:00
yuyi
d87e400e77
transformer: clean up expr_stmt_match_expr() ( #16655 )
2022-12-12 08:41:02 +02:00
Felipe Pena
1e7208d28b
parser: fix initialization for array of Option type - []?Cell{}
( #16652 )
2022-12-12 08:40:05 +02:00
Hitalo Souza
d7c244e5ec
x.json2: support time.Time values in encode ( #16643 )
...
* feat: json2 time.Time encode
* refactor: best var name
* fix: use 'RFC 3339' as pattern in json encode
* fix: unused var for unaliased_typ
* fix: improve test
* use the clearer test after V ad24c22
, that made format_rfc3339 more stable
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2022-12-11 16:54:28 +02:00
Delyan Angelov
ad24c22250
time: add more UTC/local time conversion functions, make Time.format_rfc3339 more stable
2022-12-11 13:34:01 +02:00
yuyi
73e886eafe
checker: fix generic fn returning result ( #16646 )
2022-12-11 12:34:58 +02:00
Delyan Angelov
94098eef79
time: use UTC time in Time.format_rfc3339, make test more robust
2022-12-11 10:36:29 +02:00
Delyan Angelov
2ecb892985
time: add Time.format_rfc3339() method
2022-12-11 10:23:05 +02:00
Hitalo Souza
e8c0b098b0
x.json2: add encode_pretty/1 ( #16634 )
2022-12-10 20:44:23 +02:00
Delyan Angelov
4b2699fddd
cgen: fix copying of a fixed array parameter to a function ( fix #16640 )
2022-12-10 20:10:01 +02:00
Hitalo Souza
30b39bebde
x.json2: refactor json tests ( #16638 )
2022-12-10 18:44:20 +02:00
lemon
799af2adad
native: support simple multi return ( #16628 )
2022-12-10 16:26:43 +02:00
Alexander Medvednikov
42a9eaac0e
regex: make match_string() receiver immutable
2022-12-10 13:03:42 +03:00
Delyan Angelov
7c02274754
v.pkgconfig: support PKG_CONFIG_PATH_DEFAULTS for overriding the default search path list too (enable easier -m32 with a custom tcc cross compiler)
2022-12-10 00:50:24 +02:00
Felipe Pena
1ba1f99b9c
orm: declare missing functions to handle literal types ( #16627 )
2022-12-09 20:34:34 +02:00
Hitalo Souza
b6c2aab092
json2: support encoding of optional struct fields ( #16521 )
2022-12-09 18:08:24 +02:00
Felipe Pena
ba8e61ebf3
cgen: fix return typeof[T]()
in generic functions ( #16626 )
2022-12-09 17:24:47 +02:00
yuyi
6c0f22416f
cgen: fix if cond with result or optional in infix expr ( #16625 )
2022-12-09 12:01:14 +02:00
yuyi
68fb4e9fe5
cgen: fixevaluation order for match expressions inside boolean ones ( fix #16554 ) ( #16616 )
2022-12-09 11:56:38 +02:00
Carter
eb88f7e255
builtin: fix bug with string.split_into_lines, when lines have extra CR's at their end ( #16620 )
2022-12-09 09:15:50 +02:00
Delyan Angelov
7091010a53
arrays: add map_of_counts/1, map_of_indexes/1 as well as index_of_first/2, index_of_last/2 utilities ( #16618 )
2022-12-09 00:37:07 +02:00
Felipe Pena
f365771499
cgen: fix nested struct generation for globals for gcc ( #16614 )
2022-12-08 21:38:01 +02:00
谢克
32c80c53b3
cgen: fix generic functions returning none or error values with generic result types ( #16613 )
2022-12-08 11:08:39 +02:00
Felipe Pena
2261606b56
checker: disallow Bar{...foo}
when Bar needs more fields, than what foo
has ( #16609 )
2022-12-07 16:56:07 +02:00
Delyan Angelov
458e68e196
orm,sqlite,mysql,pg: cleanup import v.ast
, using typeof[Type]()
2022-12-07 13:40:46 +02:00
yuyi
4eb81d2f05
checker: improve error messages of missing generic type names ( #16610 )
2022-12-07 11:29:18 +02:00
Delyan Angelov
48a7de643e
all: support typeof[ T ]().idx and typeof[ T ]().name, where T can be any type, including ![]&string
( #16513 )
2022-12-07 11:26:27 +02:00
Swastik Baranwal
bb705c01d2
parser: add proper error msg for :=
used in const decl ( #16607 )
2022-12-06 22:44:33 +03:00
yuyi
921416d821
parser: fix parsing generic types using '[]' in anon fn decl ( #16605 )
2022-12-06 18:15:59 +02:00
Felipe Pena
cf015e5073
checker: add clearer errors for break
/continue
used within a $for
loop ( #16600 )
2022-12-06 17:27:59 +02:00
Swastik Baranwal
ada8643ac5
checker: disallow using builtin type names for const names ( #16599 )
2022-12-06 15:44:25 +02:00
yuyi
e35f5f290e
cgen: fix string of map with generic struct value ( #16595 )
2022-12-06 12:38:05 +02:00
yuyi
a96e2e7093
parser: fix parsing embedded generic interface using '[]' ( #16603 )
2022-12-06 12:37:36 +02:00
yuyi
46bb62955b
cgen: fix generic array init with fields ( #16601 )
2022-12-06 09:33:26 +02:00
Felipe Pena
edfaa76b3e
checker: fix panic caused by compile-time code within or block ( #16602 )
2022-12-06 09:26:04 +02:00
Hitalo Souza
5288c613ef
json2: decode refactor/fix ( #16588 )
2022-12-05 16:58:44 +02:00
yuyi
50110d4c19
all: replace generic '<>' with '[]' in .vv files ( #16593 )
2022-12-05 16:32:15 +02:00
yuyi
7e9e2ff459
cgen: fix if expr with multiple array call ( fix #16583 ) ( #16589 )
2022-12-05 12:07:39 +02:00
yuyi
59c979c8d2
checker: check generic interface type specifing type names ( fix #16576 ) ( #16591 )
2022-12-05 10:05:32 +02:00
Swastik Baranwal
ce06c2818d
checker: add disallow none
operations and range ( #16584 )
2022-12-05 08:50:36 +02:00
yuyi
ffc73bf643
builder: fix v builder error ( #16590 )
2022-12-05 08:48:45 +02:00
Delyan Angelov
d8d75ee67e
v.builder: fix v -os wasm32_emscripten examples/2048
on windows
2022-12-04 17:49:33 +02:00
RGBCube
5acd855525
term: add format_esc/1 ( #16574 )
2022-12-03 14:01:39 +02:00
Delyan Angelov
bf0c8a0d96
sync: fix compilation of V on m1 with tcc
2022-12-02 23:17:46 +02:00
Delyan Angelov
d09c8c914b
testing: refactor the v test
implementation to make supporting different output modes easier
2022-12-02 18:12:42 +02:00
Delyan Angelov
e419faf746
all: fix dependant
->dependent
typos, cleanup comments
2022-12-02 12:51:10 +02:00
Delyan Angelov
675c362f57
v.util: cleanup util.path_styled_for_error_messages/1
2022-12-02 11:48:01 +02:00
Delyan Angelov
c77344e0a2
checker: add a return *x
suggestion, to the error fn ... expects you to return a non reference type ..., but you are returning ... instead
2022-12-02 10:40:36 +02:00
yuyi
f16722596c
all: replace generic '<>' with '[]' in error messages and comments ( #16571 )
2022-12-02 09:22:48 +02:00
Tim Marston
cbe64cb543
checker: allow struct updates from struct aliases ( #16567 )
2022-12-02 00:28:10 +02:00
Larpon
6e24f7e13a
gg: always use 4 channels in init_sokol_image ( #16564 )
2022-12-01 18:54:37 +03:00
Delyan Angelov
161847ed1a
v.pref: make -b unknown_backend
an error, with a more informative diagnostic message
2022-12-01 15:28:51 +02:00
yuyi
c06696bc9a
cgen: fix printing multi-reference struct ( #16560 )
2022-11-30 21:30:15 +02:00
yuyi
fd04c1a03a
cgen: fix error of match expr ( fix #16554 ) ( #16555 )
2022-11-30 12:04:20 +02:00
Delyan Angelov
675a1be975
math: remove the deprecated math.mathutil module too
2022-11-29 14:56:40 +02:00
Delyan Angelov
3fff786f36
math: remove the deprecated math.util
module
2022-11-29 14:42:46 +02:00
Delyan Angelov
952f4644c5
math.big: remove import math
dependency (math.big only uses min/max/abs)
2022-11-29 14:42:46 +02:00
Delyan Angelov
6ef3dfdea9
sokol: fix v -Wimpure-v examples/2048/
2022-11-29 14:42:45 +02:00
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
Alexander Medvednikov
a082328e40
parser: make spawn
behave like go
2022-11-05 10:41:30 +03:00
Alexander Medvednikov
141c404d45
all: new keyword "spawn"
2022-11-05 09:43:38 +03:00
Delyan Angelov
b52b8429d4
vfmt: implement support for // vfmt off and // vfmt on, with it, v fmt -w .
now works. ( #16335 )
2022-11-05 09:08:01 +03:00
yuyi
131d07aede
parser: fix embed file to_string() in if guard ( #16334 )
2022-11-05 09:05:38 +03:00
penguindark
eb0c46e13a
regex: fix for last group with OR inside ( #16324 )
2022-11-04 08:19:33 +02:00
yuyi
fd4045931a
scanner: fix the new string interpolation - println('{s == 'hello'}') ( fix #16318 ) ( #16319 )
...
* scanner: fix the new string interpolation - println('{s == 'hello'}')
* fix vlib/v/eval/gen/infix_gen.v
2022-11-03 23:06:11 +02:00
shove
0e8d148fe7
checker: give a checker error message on print(1), print(2)
( fix #16311 ) ( #16314 )
2022-11-03 17:28:59 +02:00
Taegon Kim
962d0babdc
js: fix match true {}
in the js backend ( #16317 )
2022-11-03 17:25:45 +02:00
yuyi
a979b3aab8
scanner: fix new string interpolation - print('{a}{{b}}') ( #16309 )
2022-11-03 14:04:41 +02:00
shove
fa4a45d37f
all: make fmt support two kinds of interpolation at the same time. ( #16308 )
2022-11-03 13:32:07 +02:00
shove
5c7ceb16dd
checker: fix the check of types not implemented by interfaces in infix key_is and not_is ( fix #16282 #16298 ) ( #16284 )
2022-11-03 12:18:30 +02:00
Taegon Kim
14f90b1196
cgen: fix compile time reflection for method types (.typ was always 0) ( #16310 )
2022-11-03 12:16:01 +02:00
Delyan Angelov
f427a5241a
os,tools: add os.vtmp_dir()
...
Use it to consistently place all temporary files created by tests in a overridable folder specific to the user, that is easy to cleanup later.
NOTE: os.temp_dir() on macos returns `/tmp`, and using `/tmp/v` is a problem when multiple unix users are trying to access/create/write to it.
2022-11-03 10:19:51 +02:00
shove
dddcf423db
all: replace x[x.len-1]
with x.last()
( #16296 )
2022-11-02 21:08:33 +02:00
Taegon Kim
d4c83f62b2
doc: fix a broken example in json2
's README.md ( #16293 )
2022-11-02 19:29:43 +02:00
shove
5fe4888874
parser: fix raw string as map keys ( fix #16285 ) ( #16289 )
2022-11-02 16:04:22 +02:00
Spydr
075c025999
native: don't generate duplicate strings ( #16281 )
2022-11-02 15:48:25 +02:00
shove
0fa6f60fac
cgen: fix call method with an empty args on an interface with variadic ( fix #16286 ) ( #16290 )
2022-11-02 15:45:39 +02:00
yuyi
4e05e07b94
checker: check undefined ident in closure anon fn ( fix #16274 ) ( #16278 )
2022-11-02 15:41:44 +02:00
yuyi
54b6b43922
cgen: fix dump(none) ( #16287 )
2022-11-02 14:21:28 +02:00
shove
e5d1881e1a
checker: fix multiple pointer check of fn and method args ( fix #16261 #16262 #16263 ) ( #16275 )
2022-11-01 19:05:34 +02:00
Delyan Angelov
968435fca6
toml: clearly mark the workaround [manualfree] tags with [autofree_bug; manualfree]
, so they can be found/removed when -autofree is fixed
2022-11-01 18:08:38 +02:00
Delyan Angelov
ffd9b9bae1
ci,toml: add a workaround for buggy -autofree
(skip -autofree compilation for some of the toml functions, that prevent VED to compile cleanly on the CI)
2022-11-01 17:52:41 +02:00
penguindark
362adfae3a
regex: fix a bug for CC token not correctly parsed in groups ( #16272 )
2022-11-01 08:58:29 +02:00
Alexander Medvednikov
135b1ccb14
V 0.3.2
2022-11-01 05:41:13 +03:00
Spydr
1b721250e0
native: enable printing for all supported expressions ( #16270 )
2022-10-31 17:43:02 +02:00
yuyi
339bd0c4b5
checker: check fn type mismatch of return result type fn ( #16269 )
2022-10-31 14:05:43 +02:00
shove
c3e209a634
scanner: prevent resolving to nested interpolation ( fix #16240 ) ( #16259 )
2022-10-31 10:47:32 +02:00
yuyi
0390a7a988
cgen: fix return match expr of sumtype result ( #16264 )
2022-10-30 20:26:33 +02:00
yuyi
64cbadc6f1
scanner: fix new string interpolation println('{a}{b}{c}{d}') ( #16258 )
2022-10-30 20:18:31 +02:00
Delyan Angelov
9edb48571f
pref,cgen: support -no-bounds-checking
, instead of -d no_bounds_checking
, and make it enable direct_array_access for all fns/methods.
2022-10-30 14:39:45 +02:00
lemon
54b623743d
native, checker: cast float_literal to f32 explicitly in code gen ( #16254 )
2022-10-30 10:31:18 +02:00
shove
93d765eeee
cgen: fix dump() multi ptr ( fix #16247 ) ( #16251 )
2022-10-29 10:07:28 +03:00
Swastik Baranwal
a988ef3474
checker: add check for mut ident but not if mut ident is for interfaces ( #16214 )
2022-10-29 06:36:44 +03:00
yuyi
ee782e9119
checker: fix return error with multi_return optional ( #16250 )
2022-10-29 06:34:45 +03:00
Hitalo Souza
78c4b9a7bb
doc: one single file for vweb ( #16248 )
2022-10-29 06:33:48 +03:00
Delyan Angelov
02c3af2432
all: add support for enum Xyz as u64 {
+ tests ( #16246 )
2022-10-29 06:32:20 +03:00
Delyan Angelov
a0a055cc4c
ci: fix failures after c6158e4
2022-10-28 21:52:52 +03:00
Alexander Medvednikov
c6158e4519
all: remove unnecessary IError() casts
2022-10-28 19:08:30 +03:00
yuyi
daa2f90023
scanner: fix and resotre string interpolation tests ( #16242 )
2022-10-28 18:39:32 +03:00
shove
5daa38fdb1
util: fix smart_quote
, so that v -cstrict file.v
works with println('\\$')
( fix #16230 ) ( #16233 )
2022-10-28 12:41:13 +03:00
StunxFS
ef1696b3e1
v.util: add path_styled_for_error_messages/1
( #16219 )
2022-10-28 11:27:00 +03:00
shove
af56719f9d
fmt: fix compiler_error('...') broken by fmt ( fix #16218 ) ( #16231 )
2022-10-28 06:48:09 +03:00
StunxFS
219079e3a6
v.eval: consistency in commit hash shown on panic ( #16227 )
2022-10-28 06:47:50 +03:00
shove
c5ee33b7aa
cgen: fix comparing struct with pointers to interface values ( fix #16074 ) ( #16215 )
2022-10-28 06:47:31 +03:00
yuyi
992106c6f7
tests: fix ci errors temporary ( #16237 )
2022-10-28 06:46:20 +03:00
yuyi
0ca5b1f6ff
cgen: fix $tmpl() in returning match expr ( fix #16109 , fix #16124 ) ( #16229 )
2022-10-27 18:03:27 +03:00
Alexander Medvednikov
e356a74a4c
tests: disable a single string interpolation test for now
2022-10-27 18:02:25 +03:00
Alexander Medvednikov
cc58d6a919
all: string interpolation fixes
2022-10-27 17:52:30 +03:00
Alexander Medvednikov
098db89b85
encoding.csv: remove unnecessary IError() cast
2022-10-27 11:30:08 +03:00
Alexander Medvednikov
c9934672c4
http: fix request_test.v
2022-10-27 11:28:44 +03:00
Alexander Medvednikov
a134c09718
os: fix font.v compilation
2022-10-27 11:13:43 +03:00
Alexander Medvednikov
e1ffc76efd
tests: fix some interpolation tests
2022-10-27 11:12:15 +03:00
Alexander Medvednikov
604f19adba
scanner: :
str inter fix
2022-10-27 11:08:32 +03:00
Alexander Medvednikov
18c7da9a5e
all: new string interpolation "hello {name}!"
2022-10-27 11:01:01 +03:00
StunxFS
e6fad82b87
v.eval: support unsafe
expr ( #16224 )
2022-10-27 10:38:57 +03:00
yuyi
064e35fbc4
parser: fix $tmpl with single quotes ( fix #16154 ) ( #16216 )
2022-10-26 19:38:08 +03:00
yuyi
992b502198
db, json, time, term: change optional to result ( #16201 )
2022-10-26 11:26:28 +03:00
lemon
2a7420f572
native: add initial support for f32/f64 ( #16210 )
2022-10-26 10:37:46 +03:00
shove
fef4dd94e9
ast, checker, cgen: enable unsafe { nil }
with reference to interface fields in structs ( fix #16198 ) ( #16199 )
2022-10-26 09:39:23 +03:00
yuyi
53c6e46a51
parser: correct comptime path not found error position ( fix #16189 ) ( #16209 )
2022-10-26 09:33:58 +03:00
Delyan Angelov
b2ab7a333b
transformer: improve -trace-calls output, enable tracing of builtin fns, show elapsed ns and used stack size ( #16205 )
...
Make it easier to change later, by splitting the tracing call into its own `v.trace_calls` module, so that it can be iterated upon without changing the compiler itself.
2022-10-25 20:56:12 +03:00
yuyi
03bef24456
checker: fix returning embedded error result ( #16208 )
2022-10-25 18:17:48 +03:00
Alexander Medvednikov
690b2c0b9d
doc: more Result fixes
2022-10-24 16:26:19 +03:00
yuyi
4aa4af4afb
cgen: fix vweb app route methods filtering ( #16186 )
2022-10-24 12:51:20 +03:00
shove
701586fa84
checker, cgen: enable calls to methods of the parent element array, when an array element is an alias ( fix #16169 ) ( #16187 )
2022-10-24 12:02:24 +03:00
Swastik Baranwal
f25dfa9d8c
checker: add error for unwrapped result in infix expr ( #16175 )
2022-10-24 11:53:35 +03:00
yuyi
48f43f11ea
all: change optional to result in vlib/v. ( #16177 )
2022-10-24 11:51:20 +03:00
Ikko Ashimine
26986104f9
cgen: fix typos ( #16174 )
2022-10-23 22:28:58 +03:00
yuyi
7b8044b8c4
cgen: fix using 'array' name variable in array_init ( #16168 )
2022-10-23 22:23:15 +03:00
Wertzui123
340611c298
net: add a net.tcp_socket_from_handle_raw
function ( #16167 )
2022-10-23 22:21:46 +03:00
Delyan Angelov
9241b5572b
net.http: skip network timeouts on socket accept in the main http.Server loop
2022-10-23 17:08:27 +03:00
yuyi
3f035205b3
cgen: fix return result in or block ( #16158 )
2022-10-23 13:11:11 +03:00
shove
721dbec2e4
checker: fix missed check on the initialization of result struct fields ( fix #16152 ) ( #16153 )
2022-10-22 20:02:11 +03:00
Spydr
83338e044a
native: fix small issues with compile-time conditionals ( #16149 )
2022-10-22 19:56:19 +03:00
shove
b8b2b4ad0a
checker: fix the pos information in the warning message, when the label is not used ( fix #16146 ) ( #16148 )
2022-10-22 19:26:38 +03:00
Delyan Angelov
a23e06184d
checker: fix taking a closure of x, where x
may be coming from a non trivial parent scope, like for x in y {
or x,y := multi()
( fix #16141 ) ( #16147 )
2022-10-22 15:53:27 +03:00
l-m
a139bed785
builtin: add string.trim_indexes method, that can be used in string.trim, but also separately from it ( #16144 )
2022-10-22 12:56:05 +03:00
yuyi
b6faf82911
parser: minor optimization in sql_expr() ( #16145 )
2022-10-22 12:11:45 +03:00
yuyi
9288c75c94
parser: simplify and cleanup check_undefined_variable() ( #16140 )
2022-10-22 11:26:21 +03:00
shove
e863191ff6
checker: fix generic information is lost of the map built-in method call ( fix #16077 ) ( #16134 )
2022-10-21 23:07:05 +03:00
yuyi
ab78d5a7ba
parser: check undefined variable in if guard ( #16138 )
2022-10-21 22:48:59 +03:00
Makhnev Petr
2e8b9e3b92
v fmt: fix extra space for anon struct ( #16131 )
2022-10-21 10:38:19 +03:00
bogen85
c684dd8c9b
log: mark log.fatal as [noreturn]
( #16129 )
2022-10-21 10:33:49 +03:00
yuyi
51f4d99399
all: change optional to result in most of the libraries ( #16123 )
2022-10-20 22:14:33 +03:00
yuyi
0d368562f4
cgen: minor optimization and cleanup in match_expr_sumtype() ( #16126 )
2022-10-20 20:36:56 +03:00
locriacyber
a3b050aced
vrepl: add support for Home and End keys ( #16116 )
2022-10-20 20:07:57 +03:00
yuyi
f8a28b5a5d
checker: check generic method called with a variadic argument mismatch ( fix #16106 ) ( #16110 )
2022-10-20 15:28:30 +03:00
shove
07310d850d
ast, cgen: fix wrong name and cname, when array and fixed array elements have optional ( fix #16099 ) ( #16122 )
2022-10-20 14:17:57 +03:00
Delyan Angelov
2083e6b04c
os: cleanup APIs returning !bool
to either return !
or bool
( #16111 )
2022-10-20 13:56:06 +03:00
Swastik Baranwal
ac63fa1b11
parser: improve error for fixed array, when it has len
and cap
attributes in the initialisation list ( #16120 )
2022-10-20 13:36:13 +03:00
Delyan Angelov
ffcdac4201
ci: fix v_tictactoe.out after 05a1c3e
2022-10-19 22:33:10 +03:00
Delyan Angelov
05a1c3e8a3
parser,ci: fix regression after eda65ad
in the VLS tests
2022-10-19 22:29:08 +03:00
yuyi
612faac0f0
all: change index expr returning optional to result too ( #16097 )
2022-10-19 21:04:16 +03:00
Delyan Angelov
eda65ad660
parser,checker,builder: make the checker more robust with -check
over files with syntax/parsing errors
2022-10-19 18:14:58 +03:00
Delyan Angelov
7f294c8278
tests: use _test.v
for the postfix of some test files, that were missing it
2022-10-19 12:38:58 +03:00
Makhnev Petr
2f3c4c6d91
v fmt: fix extra space for lock/rlock without expressions ( #16103 )
2022-10-19 12:18:21 +03:00
yuyi
026fccd373
cgen: fix match expr with last aggregate branch ( #16101 )
2022-10-19 11:49:39 +03:00
Alexander di Chiara
e3379bca97
datatypes: add quadtree, add its demo to examples/ ( #16087 )
2022-10-18 18:02:44 +03:00
StunxFS
cc9b754801
vlib: delete unused darwin
module ( #16093 )
2022-10-18 18:01:25 +03:00
yuyi
9242d4b79b
json2: minor cleanup in README.md ( #16096 )
2022-10-18 18:00:14 +03:00
Delyan Angelov
71bff213ef
builtin: make the C. WIN32 API declarations more precise, to catch errors earlier ( #16090 )
2022-10-17 20:23:33 +03:00
yuyi
126c4c5751
builtin,math: fix math.min_i64.str() ( fix #16086 ) ( #16089 )
2022-10-17 19:36:46 +03:00
yuyi
556244576d
checker: check unused last expression in if ( fix #16084 ) ( #16088 )
2022-10-17 18:15:01 +03:00
Subhomoy Haldar
43b9a716c5
builtin,strconv: append ".0", to float string representations, to ensure clarity ( #16079 )
2022-10-17 15:41:07 +03:00
Delyan Angelov
409a4f33a1
tools: add report_v_module_folders_without_tests.v . Use it to discover other modules without _test.v files. Add simple ones, to ensure CI can find more breakage on future wide changes to vlib/
2022-10-16 22:40:17 +03:00
Delyan Angelov
17800b4bca
ci: fix net.openssl, ensure that it is at least compiled, to avoid future regressions on sweeping vlib changes
2022-10-16 20:59:04 +03:00
Delyan Angelov
95d2c58148
checker: produce more informative error messages on ~,!,-,<- operator type mismatches
2022-10-16 20:27:40 +03:00
Delyan Angelov
3d2e251bf2
transformer: fix precalculations of simple expressions involving floating literals, with -prod (fix VSL tests with -prod)
2022-10-16 20:23:41 +03:00
Delyan Angelov
d857e97d8c
strconv: enable VTL compilation with -prod (remove deprecation for strconv.v_sprintf temporarily)
2022-10-16 17:43:52 +03:00
Delyan Angelov
78e9362d74
ci: workaround for a VLS failing test, that stops symbol registration after the first fn()! {
2022-10-16 13:38:20 +03:00
Delyan Angelov
c02974622f
tests: add checks_for_operator_overrides_should_happen_on_the_concrete_types_when_using_generics_test.v
2022-10-16 12:57:34 +03:00
Delyan Angelov
710c2b22da
parser: fix infinite loop for type Handler = fn (test string) string
without newline at the end
2022-10-16 10:42:53 +03:00
yuyi
f6844e9766
all: change optional to result of io ( #16075 )
2022-10-16 09:28:57 +03:00
shove
6e46933c55
cgen: fix or {}
handling, when waiting for a single go thread, of a function returning !Type
( fix #16065 ) ( #16073 )
2022-10-14 19:54:13 +03:00
Delyan Angelov
49c12e4d1c
cgen: fix ./tracev examples/hello_world.v
2022-10-14 19:27:40 +03:00
shove
6bf2ad1ff0
cgen: fix missing * of optional non-ref structs ( fix : #16070 ) ( #16071 )
2022-10-14 10:34:42 +03:00
yuyi
39d2aa71df
checker: check generic closure fn declaration ( #16069 )
2022-10-14 10:24:10 +03:00
zztkm
3e4cfc7343
os: add os.to_slash and os.from_slash functions ( #16055 )
2022-10-14 10:22:36 +03:00
Subhomoy Haldar
09e23e3ed6
rand: add rand.element and prng.element functions with unit test ( #16068 )
2022-10-14 06:54:02 +03:00
shove
aabda5a525
checker: allow get_ref() or { unsafe{nil} }
, as well as fn get_ref() ?&Type { return unsafe { nil } }
( fix : #16062 ) ( #16063 )
2022-10-13 19:49:10 +03:00
shove
51a9e89c4a
ast: disallow threads << go fn()?{}
and threads << go fn()!{}
( fix #16061 ) ( #16064 )
2022-10-13 19:37:27 +03:00
yuyi
f0108323d1
cgen: fix generic closure fn direct call ( #16057 )
2022-10-13 18:06:34 +03:00
shove
e3e8bb2f88
cgen: remove spaces in the generated name for ?&C.struct
( fix #16058 ) ( #16059 )
2022-10-13 18:05:16 +03:00
yuyi
bfbfe78366
cgen: fix assigning optional of multi_return with heap ( #16049 )
2022-10-13 13:07:52 +03:00
shove
213a094680
ast: fix missing 'optional' and 'result' in type name and cname of map ( #16047 )
2022-10-13 10:38:02 +03:00
Swastik Baranwal
3e33f4a11d
checker: disallow nil assignment on non pointer struct fields ( #16056 )
2022-10-13 10:36:59 +03:00
yuyi
fb3d093e01
builtin: remove opt_ok2() (part 2) ( #16054 )
2022-10-13 10:35:41 +03:00
shove
4fbb29a2c0
checker: disallow x := fncallexpr() or { X{} }
, when the fn result type is ?&X
( fix #16050 ) ( #16051 )
2022-10-12 22:49:30 +03:00
yuyi
6bdd11e53b
checker: check error for fn call with extra parenthesis ( #16052 )
2022-10-12 22:43:59 +03:00
yuyi
211cb2af7b
cgen: remove opt_ok2() part 1 ( #16048 )
2022-10-12 17:20:41 +03:00