1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

11274 Commits

Author SHA1 Message Date
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