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

11333 Commits

Author SHA1 Message Date
Felipe Pena
3b594d6cd8
checker, cgen: allow iterating over optional array fields (#16858) 2023-01-06 09:33:11 +03:00
Alexander Medvednikov
868908b80d checker: require unsafe for Struct(voidptr) casts 2023-01-06 09:28:11 +03:00
Delyan Angelov
43d8bc30f9
checker: fix unset type of a pointer field with default value, when a struct contains an embed (fix #16882) (#16883) 2023-01-05 19:53:37 +02:00
Swastik Baranwal
da68b2d369
checker: remove c.pref.is_test exception for calling private methods in _other_ modules (#16872) 2023-01-05 15:41:18 +02:00
Hitalo Souza
3598e7d08e
orm: add tests for fkey: relationship attribute and retrival of joined rows (#16877) 2023-01-05 15:20:15 +02:00
Hitalo Souza
8f217c00e5
x.json2: refactor/fix json2.encode, add more tests (#16790) 2023-01-05 15:17:38 +02:00
Felipe Pena
e3aee748ac
cgen: fix code generated for optional comptime var (#16854) 2023-01-05 10:54:51 +02:00
Delyan Angelov
19c9633896
builder: show a hint about v ., on unknown errors, suggesting that the user tried to compile a single .v file from a multi file project (#16878) 2023-01-05 07:45:23 +02:00
Delyan Angelov
66438391d0
v.token,v.parser: use p.tok.kind.precedence(), instead of p.tok.precedence(), since token.Token struct values, are much larger, than just the token.Kind enum values 2023-01-04 17:50:51 +02:00
Delyan Angelov
f9e8a91cd0
v: move cmd/v/help/ to vlib/v/help, to simplify the interaction between module lookup & v recompilation (#16867) 2023-01-04 14:01:05 +02:00
yuyi
b8571c964d
cgen: fix json encode struct with optional field (#16866) 2023-01-04 12:41:07 +02:00
yuyi
0a6fc6d280
checker: fix generic stack of sumtype push() (#16855) 2023-01-03 18:29:29 +02:00
yuyi
2378b71f22
cgen: fix comptime if expr with optional or result call (#16853) 2023-01-03 14:38:08 +02:00
Swastik Baranwal
09766c44b6
checker: disallow struct{...val.$(field.name)} (#16852) 2023-01-03 10:21:32 +02:00
Hitalo Souza
2e54a8cb0e
x.json2: update tests (#16847) 2023-01-03 10:16:36 +02:00
Felipe Pena
bd2b216ac7
cgen,checker: fix method call with comptime var (#16844) 2023-01-03 10:14:23 +02:00
Delyan Angelov
3625a74ec5
os: add test for os.open_append (#16846)
* os: add test for os.open_append

* fix unclosed file in test_eof (it made os.open_append fail only on windows, since it got the previous file content, because the file was locked, and os.rm could not delete it)
2023-01-03 01:11:35 +02:00
Keito Tobichi
d5b9f7d026
io: fix typos (fix #16839) (#16840) 2023-01-02 20:20:52 +02:00
Felipe Pena
b0d39814be
cgen, checker: fix conditional evaluation and code generation for $if/$else $if/$else for known true conditions (#16823) 2023-01-02 20:14:12 +02:00
yuyi
f71572a50f
parser: fix array of functions direct call (#16838) 2023-01-02 14:12:07 +02:00
yuyi
9d49b69b69
ast: fix inferring generic struct (fix #16830) (#16831) 2023-01-01 17:36:18 +02:00
yuyi
51bb630ea4
checker: fix generic fn with short generic struct init syntax (#16828) 2023-01-01 09:14:55 +02:00
JalonSolov
aaf3e25c3f
websocket: simplify and better handle handshake (#16829) 2023-01-01 09:04:09 +02:00
Delyan Angelov
3364bf8600
cgen: add g.push_existing_comptime_values and g.pop_existing_comptime_values, use them inside Gen.comptime_for (#16821) 2022-12-31 18:29:19 +02:00
yuyi
1c151fbec9
cgen: fix struct optional field zero init (#16814) 2022-12-31 17:36:14 +02:00
Makhnev Petr
04cb6ae65f
tests: improve Teamcity test runner (#16817) 2022-12-31 17:26:18 +02:00
mfont
1e401d1433
bcrypt: fix issue #16769 security problem in compare_hash_and_password (#16815) 2022-12-31 17:18:43 +02:00
Felipe Pena
5daf39bc6a
cgen: fix typeof with comptime var (#16816) 2022-12-31 15:57:55 +02:00
yuyi
15c9153f1d
cgen: fix fixed array literal range index (#16812) 2022-12-30 13:59:54 +02:00
Felipe Pena
c10bc09e83
checker, cgen: allow $for in alias type (#16810) 2022-12-30 11:27:01 +02:00
Felipe Pena
f4cd3931fb
cgen: fix dump fn name using generic var (#16805) 2022-12-30 11:16:59 +02:00
Swastik Baranwal
828cd4fe79
checker: add check for implicit fixed array decomp in function varargs (#16806) 2022-12-30 01:06:41 +02:00
Felipe Pena
c7f1db2b8a
cgen: cleanup uneeded C code, when using selectorexpr on $if (#16802) 2022-12-29 20:30:42 +02:00
Delyan Angelov
6229f48830
checker,cgen: implement support for the new FieldData.is_alias field (part 2, follow up to a6bf20f) 2022-12-29 19:14:13 +02:00
yuyi
6a8b6c010c
repl: minor cleanup in runner.v (#16804) 2022-12-29 17:55:57 +02:00
yuyi
36ab78d6da
parser, cgen: fix anon fn optional call in if expr (#16803) 2022-12-29 17:53:17 +02:00
Delyan Angelov
cd4ea16609
cgen: add more detailed cgen stage timing info on -show-timings 2022-12-29 17:33:40 +02:00
Delyan Angelov
a6bf20f3be
builtin: add .is_alias to FieldData too (part 1, unimplemented yet) 2022-12-29 12:43:55 +02:00
yuyi
f4b110b1a4
vrepl: fix $tmpl('hello.txt') (fix #16789) (#16793) 2022-12-29 11:30:25 +02:00
Felipe Pena
ed06618498
cgen: fix generic func arg type when passing array compile-time field (#16798) 2022-12-29 11:23:57 +02:00
Felipe Pena
2ebd3f0cdb
checker,cgen: make boolean field.is_<field> accessible at compile-time as well (#16796) 2022-12-29 00:19:47 +02:00
Swastik Baranwal
ad9ca349dc
cgen: fix generics array delete (#16794) 2022-12-29 00:15:47 +02:00
Delyan Angelov
4718a818b8
vfmt: fix alignment of value formatting for "x := {.: 1, : 2}" 2022-12-28 18:06:32 +02:00
Felipe Pena
0f37ff197b
checker: fix fn call with generic []T arg (#16781) 2022-12-28 11:05:11 +02:00
yuyi
b171102b03
os: minor optimization in os.v (#16791) 2022-12-28 10:28:47 +02:00
yuyi
b9996619d5
cgen: fix result/option breaks execution order in if statements (fix #16663) (#16778) 2022-12-28 10:26:39 +02:00
Felipe Pena
c5c7b3a054
checker: fix comptime var param passing with comptime selector (#16777) 2022-12-27 15:14:58 +02:00
Delyan Angelov
a8f6f9ed60
checker: more precise error handling of large binary literals like 0b1000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000 (#16775) 2022-12-27 15:13:15 +02:00
Delyan Angelov
508bfbf892
time: do not panic for time.parse("2020-02-02 20.02.20")!, just return an error instead (fix #16779) 2022-12-27 13:01:01 +02:00
Delyan Angelov
6b3f8f519d
cgen: fill in the new FieldData fields, add tests (#16774) 2022-12-26 23:35:13 +02:00
Felipe Pena
9b28a7aa96
checker,cgen: fix comptime value recognition on generic arguments (#16768) 2022-12-26 18:44:18 +02:00
yuyi
3a1e7b71ea
cgen: fix array filter with an inline closure (fix #16770) (#16772) 2022-12-26 16:14:28 +02:00
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