Delyan Angelov
6806086bf1
builtin: zero out internal map/array pointers on m.free(), to reduce the work for the GC mark phase for non escaping maps/arrays, used in hot loops ( #18415 )
2023-06-14 15:00:36 +03:00
yuyi
3fb31b971d
checker: clean up method_call() ( #18443 )
2023-06-14 14:46:00 +03:00
Felipe Pena
23da2128d5
cgen: fix msvc packed attr ( #18437 )
2023-06-14 10:44:48 +03:00
yuyi
530f73b927
vlib/compress: correct comments in compress module ( #18434 )
2023-06-13 19:10:27 +03:00
Turiiya
2ca3046bf8
checker: disallow assigning mutable reference to immutable ParExpr ( #18420 )
2023-06-13 08:52:37 +03:00
Felipe Pena
ada702ec66
cgen: fix opt ptr argument passing with and without heap usage ( #18423 )
2023-06-13 08:51:42 +03:00
Alexander Medvednikov
24c09881f7
Revert "fmt: fix parens around reference module prefix expressions ( #18416 )"
...
This reverts commit 7f178d4662
.
2023-06-13 08:50:50 +03:00
yuyi
126fbe8e33
scanner: fix indent error for line comment generated by vdoc ( #18422 )
2023-06-13 08:50:02 +03:00
Mark aka walkingdevel
f634f7b01f
mysql: connection fixes ( #18428 )
2023-06-13 08:49:41 +03:00
Turiiya
7f178d4662
fmt: fix parens around reference module prefix expressions ( #18416 )
2023-06-12 13:35:44 +03:00
phoebe
37386697a3
math.big: fix internal subtract_align_last_byte_in_place overflow ( #18413 )
2023-06-12 13:33:53 +03:00
Felipe Pena
54eabcb242
cgen: make the default values for all enums, be their first listed entry, even if it was enum MyEnum { first = 999 second}
, not just the defaul 0
( #18388 )
2023-06-11 21:57:36 +03:00
Swastik Baranwal
fc6726b2b1
checker: no notice for interface
field initialized struct with ...other
syntax ( #18405 )
2023-06-11 20:03:20 +03:00
Felipe Pena
2e9c469158
checker: fix external enum value resolution, i.e. enum { enum_value = C.VALUE }
( #18401 )
2023-06-11 19:08:45 +03:00
Delyan Angelov
275b8a1294
cgen: fix stringification of usize struct fields (before, they were treated as 32 bit *signed* numbers) ( #18410 )
2023-06-11 17:31:18 +03:00
Felipe Pena
83e30a8104
checker, cgen: fix comptime method and field name checking ( #18402 )
2023-06-11 03:59:28 +03:00
Felipe Pena
af8df871d1
cgen: fix option ptr assignment ( #18394 )
2023-06-11 00:53:35 +03:00
yuyi
54cc59d3a5
arrays: minor comments corrections ( #18404 )
2023-06-11 00:52:23 +03:00
Felipe Pena
e27786235a
cgen: fix selector option casting ( #18395 )
2023-06-10 18:02:54 +03:00
Turiiya
c0843af4f7
fmt: refactor, fix typos ( #18392 )
2023-06-10 11:32:41 +03:00
Felipe Pena
3e5f2541f2
parser: fix comments parsing on map init ( #18389 )
2023-06-10 02:28:56 +03:00
yuyi
42db392e76
checker: fix embedded structure initialization warnings ( #18385 )
2023-06-09 17:44:15 +03:00
yuyi
dd1d5bca1b
ast: clean up ast.StructInit ( #18387 )
2023-06-09 17:43:21 +03:00
Felipe Pena
7a25c03aa7
cgen: simplify fixed arr return ( #18380 )
2023-06-09 14:34:32 +03:00
penguindark
1de6523da5
regex: bugfix for #18363 , [^\s]+ act different from \S+ ( #18371 )
2023-06-09 14:34:06 +03:00
yuyi
5300441c09
cgen: fix alias of map clone() ( fix #18384 ) ( #18386 )
2023-06-09 12:58:38 +03:00
yuyi
01b20485c3
parser: fix generic function variable ( #18373 )
2023-06-08 11:42:29 +03:00
Turiiya
bcd5c91bdc
fmt: fix blank line inserts between enum attribute comments ( #18361 )
2023-06-08 01:54:38 +03:00
l-m
6208b31d9f
picoev: non breaking refactor ( #18364 )
2023-06-08 01:54:15 +03:00
Mark aka walkingdevel
0810e84098
coroutines: add macOS amd64 support, panic on wget errors ( #18360 )
2023-06-07 02:00:49 +03:00
Turiiya
c06fd556e8
checker: add mutability check for comptime assignments ( #18354 )
2023-06-06 19:58:30 +03:00
Felipe Pena
125921db66
cgen: fix nested fixed array instantiation ( #18357 )
2023-06-06 19:57:40 +03:00
sandbankdisperser
e97aff8742
time: add more detailed error descriptions, add custom format parsing with time.parse_format ( #18257 )
2023-06-06 18:43:10 +03:00
Delyan Angelov
0bbbf1e801
v.util: make util.launch_tool/3 more robust, by recompiling V tools always in a known current working folder (vroot) ( #18358 )
2023-06-06 18:01:58 +03:00
yuyi
22c0cdc192
checker: fix infering generic array type in nested call ( fix #18317 ) ( #18350 )
2023-06-06 17:18:14 +03:00
yuyi
f45fc45407
ast, checker, fmt: fix compiler internal formatting failed ( #18356 )
2023-06-06 16:18:28 +03:00
kbkpbot
632c466aa0
sync: add Mutex.destroy and RwMutex.destroy methods ( #18351 )
2023-06-06 14:45:12 +03:00
Delyan Angelov
c1e302a38d
Revert "parser: add error for typeof(T), suggesting typeof[T]() instead"
...
This reverts commit 692624b47c
.
2023-06-06 12:03:55 +03:00
Delyan Angelov
692624b47c
parser: add error for typeof(T), suggesting typeof[T]() instead
2023-06-06 11:27:17 +03:00
Felipe Pena
d3c679bdcb
cgen: fix fixed array of map ( #18347 )
2023-06-05 16:46:48 +03:00
yuyi
254ed1766c
ast: minor cleanup in generic_insts_to_concrete() ( #18349 )
2023-06-05 16:46:23 +03:00
Felipe Pena
169627722a
cgen: circular reference limit to auto_str for interface ( #18340 )
2023-06-05 16:45:44 +03:00
Swastik Baranwal
48c256bf3b
checker: allow casted enum val
and const
as fixed array size ( #18321 )
2023-06-05 16:44:55 +03:00
Felipe Pena
5440657364
fmt: fix alias type stripped comments ( #18346 )
2023-06-05 01:53:17 +02:00
yuyi
325f64bc60
ast: fix for in
iterator with generic structs ( #18344 )
2023-06-04 18:15:15 +02:00
Ulises Jeremias Cornejo Fandos
02ea6028af
vlib: improvements to the context module ( #18318 )
2023-06-04 18:12:52 +02:00
yuyi
0e106c9062
checker: fix generic fn infering map argument ( #18341 )
2023-06-04 18:10:41 +02:00
Felipe Pena
8d2a0ffe37
cgen: fix option handling with auto heap variable ( #18336 )
2023-06-04 18:10:22 +02:00
Alexander Medvednikov
6fe6fe887d
coroutines: $if is_coroutine? {
2023-06-03 19:05:50 +02:00
Felipe Pena
4e21b2ab4e
parser: detect wrong usage of Option as concrete type ( #18334 )
2023-06-03 13:24:25 +02:00
kbkpbot
0fc33c6fa3
datatypes: add Bloom filter ( #18327 )
2023-06-02 10:56:22 +03:00
Lenni0451
9764342dbe
vweb: add support for host specific static files ( #18322 )
2023-06-02 10:55:59 +03:00
Felipe Pena
a8ea1f9d50
cgen, checker, parser: fix fixed array with channel ( #18315 )
2023-06-02 10:55:08 +03:00
yuyi
5e12d3483c
checker: fix generic fn with nested generic fn call ( fix #18285 ) ( #18314 )
2023-06-02 10:52:29 +03:00
yuyi
4dc338863c
checker: fix json decode with generic array of struct ( fix #18300 ) ( #18308 )
2023-05-30 14:25:33 +02:00
yuyi
ac6289301c
ast, cgen: fix generic struct with inconsistent generic types ( fix #18254 ) ( #18301 )
2023-05-30 14:24:54 +02:00
Turiiya
af05cfcbbc
toml, semver: minor optimization of conditions ( #18299 )
2023-05-30 14:24:27 +02:00
Felipe Pena
0b71cef78a
cgen: fix generic comptimeselector array resolution ( #18296 )
2023-05-30 14:23:37 +02:00
Felipe Pena
f430c0b67a
parser: fix for select parsing ( #18306 )
2023-05-30 14:22:47 +02:00
Casper Kuethe
4174048f96
vweb: add host option to controller ( #18303 )
2023-05-30 14:22:23 +02:00
Felipe Pena
05b832a317
cgen: fix none initialization to struct member ( #18295 )
2023-05-29 15:35:41 +03:00
Delyan Angelov
d47c722c1f
builtin: fix byte deprecation warnings for v test-all
(the -freestanding compilation)
2023-05-29 13:20:29 +03:00
Lenni0451
2904c399b5
vweb: host attribute ( #18288 )
2023-05-29 02:11:10 +02:00
Alexander Medvednikov
f22ba836fd
prealloc: use u8 instead of byte
2023-05-29 01:42:52 +02:00
Alexander Medvednikov
3f62487409
examples: add a simple coroutine example
2023-05-29 01:35:38 +02:00
Turiiya
1be539d20f
checker: add byte deprecation warning ( #18287 )
2023-05-28 23:30:32 +02:00
Alexander Medvednikov
3ac63cce86
fmt: fix a shared
test
2023-05-28 18:23:07 +03:00
Alexander Medvednikov
f8422738bb
vfmt: no longer replace go
with spawn
2023-05-28 16:03:39 +02:00
Alexander Medvednikov
786865d349
coroutines: init() that runs automatically
2023-05-28 15:54:57 +02:00
Turiiya
80d404c220
checker: replace as
cast with a safer type check is
(smart cast) ( #18286 )
2023-05-28 05:41:46 +02:00
Alexander Medvednikov
9db10c8f61
all: coroutines (part 2)
2023-05-28 05:30:23 +02:00
Alexander Medvednikov
2162230086
cgen: move spawn
and go
logic to a separate file
2023-05-28 02:52:38 +02:00
Alexander Medvednikov
50247d5093
gen.golang: handle spawn/go
2023-05-28 02:44:47 +02:00
Alexander Medvednikov
45f16a2640
all: coroutines (part 1)
2023-05-27 23:33:46 +02:00
Felipe Pena
5812579d53
checker: remove check for option being initialized ( #18280 )
2023-05-27 20:43:54 +02:00
Felipe Pena
16ef1d95fb
cgen: fix fixed array ret with anon fn ( #18279 )
2023-05-27 20:42:31 +02:00
Felipe Pena
6bfa6ec93c
cgen: fix comptime interpolation ( #18281 )
2023-05-27 20:41:40 +02:00
xiusin
43bc85d3bb
http: add workers to improve the server's concurrent capacity. ( #18271 )
2023-05-27 01:57:32 +03:00
Turiiya
f9efbdff10
semver: refactor, simplify, fix typo ( #18272 )
2023-05-27 01:57:02 +03:00
Turiiya
3e08487198
checker: disallow multiple return values in const declarations ( #18273 )
2023-05-27 01:55:14 +03:00
yuyi
6db62e43d3
parser: fix array method using it
in defer ( fix #18246 ) ( #18267 )
2023-05-26 02:29:52 +02:00
Casper Kuethe
79657a1a2f
vweb: update middleware docs ( #18270 )
2023-05-26 02:26:00 +02:00
Mark aka walkingdevel
b698a0f459
mysql: add the ability to commit transactions, some code improvements ( #18268 )
2023-05-26 02:16:02 +02:00
Felipe Pena
8a856cc36d
checker: adjust fix for struct anon assigning to typed struct ( #18264 )
2023-05-25 20:40:20 +03:00
Mark aka walkingdevel
c2fa45c24d
cgen, orm: fix typo, and wrap the fkey attribute into quotes in errors ( #18266 )
2023-05-25 17:27:25 +02:00
yuyi
caee3935a5
os: fix truncate() on windows ( #18262 )
2023-05-25 14:37:53 +03:00
Felipe Pena
bc88183318
cgen: fix struct fn ptr call ( #18260 )
2023-05-25 10:52:05 +03:00
Felipe Pena
dc16e50d55
regex: fix find() when using anchors (start / end) ( #18259 )
2023-05-25 10:51:41 +03:00
Felipe Pena
fc6a34355d
parser: fix missing sync auto import when only declaring shared type and not using it ( #18255 )
2023-05-25 02:54:04 +02:00
Felipe Pena
9d56432e55
checker: add missing check for mismatch anon struct to typed struct ( #18250 )
2023-05-25 02:53:14 +02:00
Felipe Pena
64a4a3316a
checker, cgen: fix fixed array return on assigning, arg pass and dumping ( #18216 )
2023-05-25 02:52:45 +02:00
yuyi
f1c647cbbe
parser: make most of parser methods private ( #18249 )
2023-05-25 02:51:59 +02:00
yuyi
190f5c69ea
os: fix open_file() on windows ( fix #18245 ) ( #18253 )
2023-05-25 02:50:52 +02:00
Mark aka walkingdevel
351b2e0e42
mysql: refactor, comments, simplify ( #18258 )
2023-05-25 02:50:15 +02:00
Alexander Medvednikov
c45c36ccce
orm: improve an fkey error a bit
2023-05-24 18:30:44 +02:00
Felipe Pena
e8dbd2c0c7
parser: fix enum attr with default value ( #18248 )
2023-05-24 17:25:27 +03:00
yuyi
099d4fc06f
parser: clean up in parser.v ( #18247 )
2023-05-24 06:51:15 +03:00
Turiiya
e8046439f0
cgen: include float kind in struct field type defaults ( #18228 )
2023-05-24 06:50:45 +03:00
Felipe Pena
598673314b
json.decode: add check for shared variable ( #18237 )
2023-05-24 06:47:09 +03:00
yuyi
6698fe4f60
checker, cgen: fix contains() with array of interfaces ( #18241 )
2023-05-23 14:46:14 +02:00
Felipe Pena
37618c9465
cgen, checker: fix comptime assigning to sumtype or indexexpr ( #18240 )
2023-05-23 14:42:53 +02:00
yuyi
e2f18fc9cc
checker, cgen: fix array of interfaces index() ( #18232 )
2023-05-22 16:31:22 +03:00
Alexander Medvednikov
a33ffcedfb
parser: remove attributes from anonymous structs ( fixes #18233 )
2023-05-22 14:13:34 +02:00
Delyan Angelov
c382f4d310
rand: add missing rand.u16(), update doc comments, add test
2023-05-22 13:20:52 +03:00
Turiiya
1be798be49
net.html: remove unnecessary comment ( #18230 )
2023-05-22 07:46:26 +03:00
kbkpbot
a10690b934
net.conv: use a pure v implementation instead of C.hton etc ( #18226 )
2023-05-22 06:59:33 +03:00
Mark aka walkingdevel
ce0591da8d
mysql: allocate memory for each string and blob dynamically depending on its value length ( #18214 )
2023-05-21 15:24:43 +02:00
sandbankdisperser
f833188234
vweb: return 404 on file not found ( #18219 )
2023-05-21 15:23:43 +02:00
xiusin
e4c769d072
net.http: add remote-addr header ( #18208 )
2023-05-21 15:23:24 +02:00
Felipe Pena
38a155ac81
cgen: make comptime call works with or-block ( #18215 )
2023-05-21 15:22:40 +02:00
Swastik Baranwal
4b22ea7803
parser: disallow all array
usage outside of builtin ( #18222 )
2023-05-21 15:21:57 +02:00
Ikko Eltociear Ashimine
abcbba1e81
builtin: fix typo in string.js.v ( #18213 )
2023-05-21 02:46:11 +03:00
Casper Kuethe
d0214a254e
vweb: vweb.csrf re-implementation ( #18220 )
2023-05-21 01:56:17 +03:00
yuyi
adcf47dcce
checker: appending to an array of sumtype ( #18201 )
2023-05-20 02:25:26 +03:00
Mark aka walkingdevel
1e9dcb9b9e
checker: refactor, comments, simplify. ( #18203 )
2023-05-20 02:24:30 +03:00
yuyi
94217571cd
parser, checker, cgen: fix swapping arrays ( #18204 )
2023-05-20 02:23:50 +03:00
yuyi
332235548e
checker: clean up in array_init() ( #18205 )
2023-05-20 02:21:52 +03:00
Petr Makhnev
9d0a1d8496
builtin: speed up string methods with vmemcpy instead of for
loop for copying data ( #18211 )
2023-05-19 21:24:23 +03:00
Turiiya
aded6088e9
vet: allow vetting files with global variables ( #18195 )
2023-05-19 16:28:01 +03:00
Petr Makhnev
a39c26507c
builtin: speed up string concatenation and repeat()
method with vmemcpy instead of for
loop for copying data ( #18206 )
...
These changes almost do not speed up the program with the `-prod` flag,
since modern С compilers can do such optimization on their own, but in
normal mode, the performance gain is from 1.6 (concatenation) to 1.8 (repeat) times.
Concatenation:
Old (`for` loop):
Time (mean): 3.699 s +- 0.071 s [User: 3.629 s, System: 0.069 s]
Range (min ... max): 3.548 s ... 3.741 s 10 runs
New (vmemcpy):
Time (mean): 2.305 s +- 0.065 s [User: 2.263 s, System: 0.041 s]
Range (min ... max): 2.172 s ... 2.355 s 10 runs
`vmemcpy version` ran 1.60 +- 0.05 times faster than 'for loop version'
2023-05-19 16:18:23 +03:00
Alexander Medvednikov
cc47c78f39
net.mbedtls: make compile with -prod
2023-05-18 11:31:53 +02:00
Felipe Pena
9d9785cc05
all: allow fixed array returns ( #17931 )
2023-05-18 11:30:49 +02:00
kbkpbot
c8d2098a14
net.websocket: make thread safe/concurrent ( #18179 )
2023-05-18 11:27:00 +02:00
Felipe Pena
1e88b1ab3e
cgen: fix missing panic message for 'option not set' on debug ( #18168 )
2023-05-18 11:25:19 +02:00
Felipe Pena
273f46f810
checker: fix generic argument resolution when mixed order on next call ( #18192 )
2023-05-18 11:24:06 +02:00
yuyi
2bb24ee739
fmt: implement comments inside sumtype declaration ( #18189 )
2023-05-18 11:22:26 +02:00
yuyi
ddb8e09fec
parser, checker: fix generic fn variable assignment in generic fn ( #18180 )
2023-05-17 03:06:33 +03:00
yuyi
35f2a0fb66
fmt: fix formating of fn decl with end comments ( #18181 )
2023-05-17 03:05:59 +03:00
Swastik Baranwal
ee7d34e650
checker: allow i32
in enum MyEnum as i32 {
( #18172 )
2023-05-16 08:09:13 +03:00
Felipe Pena
a7f84e79f8
cgen: fix option unwrap from ovoid function ( #18173 )
2023-05-14 14:38:14 +03:00
Felipe Pena
d4072bfc22
cgen: fix option with multi return assign ( #18174 )
2023-05-14 13:50:04 +03:00
yuyi
814d6823b4
checker: check generic undefined operation ( fix #18162 ) ( #18166 )
2023-05-13 06:54:08 +03:00
Felipe Pena
47761a42e9
all: attr for enum fields (+ json encode/decode) ( #18163 )
2023-05-13 01:08:30 +02:00
yuyi
8482bc4626
ast, parser: fix generic fntype to concrete types with later generic fn definition ( fix #18156 ) ( #18157 )
2023-05-12 15:52:41 +03:00
yuyi
2351856fc3
checker: clean up in struct_init() ( #18154 )
2023-05-12 09:34:55 +03:00
Turiiya
67e3061ea1
net: fix typos ( #18164 )
2023-05-12 09:31:27 +03:00
acimnotes
790afbce94
time: add new method year_day and the tests for it ( #18107 )
2023-05-12 09:27:20 +03:00
Swastik Baranwal
447b45ca8c
checker: disallow non-ptr elem in init ptr array ( #18161 )
2023-05-12 08:56:22 +03:00
Swastik Baranwal
d8cf65df1a
checker: only allow &u8
with byteptr
and itself ( #18146 )
2023-05-11 18:28:49 +10:00
yuyi
a87f2d9d11
checker: fix generic struct init with generic struct items ( #18152 )
2023-05-10 19:06:34 +03:00
yuyi
492a93ecd9
vweb: make controllers of struct Controller public ( #18153 )
2023-05-10 18:31:43 +03:00
Felipe Pena
d62c4c9fc1
checker: add missing check for global var on assignment to shared var ( #18125 )
2023-05-10 18:30:57 +03:00
Mark aka walkingdevel
61a5fbea35
autofree: fix cross var assigns with strings ( #18147 )
2023-05-10 00:06:31 +02:00
Felipe Pena
0be74aa613
cgen: fix option ptr default struct initialization ( #18141 )
2023-05-09 21:40:51 +03:00
yuyi
9aa5e3fe4b
cgen: clean up in index_of_map() ( #18145 )
2023-05-09 21:12:29 +03:00
yuyi
89f3288fb0
cgen: fix nested map of fn call ( #18142 )
2023-05-09 16:19:25 +03:00
Turiiya
e2e6c9660c
net.html: add &Tag
get_tag methods to find first occurrence ( #18139 )
2023-05-09 00:22:52 +03:00
Felipe Pena
1e56a69c02
checker, parser: save shared/atomic specifier for ast.Param ( #18124 )
2023-05-09 00:22:22 +03:00
Mark aka walkingdevel
6ac09e605e
orm: allow structs without the id field, more flexible primary keys ( #18140 )
2023-05-09 00:21:42 +03:00
yuyi
72b2f22057
cgen: fix generics array of threads with multiple types ( #18137 )
2023-05-08 13:24:28 +03:00