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

12132 Commits

Author SHA1 Message Date
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
yuyi
87623b367c
parser: clean up parse_ident() (#18138) 2023-05-08 13:19:03 +03:00
l-m
3a06b55388
wasm: add basic debuginfo through name section (#18130) 2023-05-08 09:31:36 +03:00
Swastik Baranwal
5bdf94a7bc
checker: disallow mut for blank idents (#18114) 2023-05-08 01:26:36 +02:00
yuyi
a0a8b7e47a
ast, parser, checker, cgen, fmt: implement generic fn params (fix #14937) (#18126) 2023-05-07 19:53:56 +02:00
Turiiya
39ec1134fa
net.html: fix parsing of nested quoted strings in code tags (#18123) 2023-05-07 03:55:02 +03:00
Felipe Pena
1c3af091f7
cgen, json: fix option ptr declaration and dumping (#18119) 2023-05-07 03:54:43 +03:00
Jacques Supcik
a82fc5bea0
os: make SignalHandler public (#18115) 2023-05-06 14:59:06 +03:00
squidink7
787d774523
checker: warn instead of error, for unnecessary brackets on if/match (#18117) 2023-05-06 14:17:45 +03:00
Swastik Baranwal
5bcc04e66a
checker: disallow _ = <- quit (#18104) 2023-05-04 21:23:34 +03:00
Ikko Eltociear Ashimine
43093311b6
flag: fix typo in flag.v (#18109) 2023-05-04 21:23:02 +03:00
Felipe Pena
5008515b03
builtin: heap memory usage api (#18103) 2023-05-03 20:33:52 +03:00
Mark aka walkingdevel
40a97aed1a
docs, orm: update examples (#18106) 2023-05-03 20:33:16 +03:00
Felipe Pena
2c123dffbb
cgen: fix comptimeselector option propagation (#18092) 2023-05-03 08:31:48 +03:00
Mark aka walkingdevel
458132b1b2
checker: make undefined ident error for closures more friendly (#18100) 2023-05-03 08:02:59 +03:00
Thomas Peißl
353de60158
examples: fix unset reader notice for the smtp/mail example (#17998) 2023-05-02 22:54:57 +03:00
Casper Kuethe
d3dbd7b743
vweb: add docs for [vweb_global] and shared attributes. (#18098) 2023-05-02 22:49:55 +03:00
Felipe Pena
063dfa0ab9
checker: missing mutability check for array.delete calls (#18096) 2023-05-02 22:48:40 +03:00
Delyan Angelov
5631e2f01d
ci,cgen,orm: fix CI failures after 9f118ba 2023-05-02 21:29:58 +03:00
Alexander Medvednikov
9f118ba3f1 orm: skip via the "-" attribute 2023-05-02 17:00:54 +02:00
Alexander Medvednikov
b9f5cc830b json: skip via the "-" attribute 2023-05-02 16:41:32 +02:00
Felipe Pena
638f0f69ed
checker: fix wrong error message about missing shared on parameter signature (fix #18087) (#18091) 2023-05-02 15:52:40 +03:00
Swastik Baranwal
c4cce3bc00
checker: disallow matching type with primitive vars (#18084) 2023-05-02 11:40:38 +03:00
Mark aka walkingdevel
ca2820da5f
checker, orm: don't insert an uninitialized struct in the related table. (#18093) 2023-05-02 11:14:42 +03:00
Alexander Medvednikov
046dd5481c V 0.3.4 2023-05-01 00:58:10 +03:00
Casper Kuethe
0898f57995
net.html: fix text parsing for inline tags (#18085) 2023-04-30 16:20:24 +03:00
Felipe Pena
d086cc26cd
cgen: fix it variable casting on map call when arr is a comptime variable #18083 2023-04-30 16:18:44 +03:00
Felipe Pena
e738d671a5
checker: fix [noinit] attr checking with multiple attr (#18079) 2023-04-29 17:07:24 +03:00
Mark aka walkingdevel
e8df5a7861
checker: check db type implements orm.Connection and isn't an Option. (#18078) 2023-04-29 10:36:21 +02:00
Mark aka walkingdevel
9eee131423
checker: make type_implements() return false if methods of interface didn't implement (#18076) 2023-04-28 22:18:23 +03:00
Felipe Pena
2f48288a25
checker: fix generic argument resolution for multiple generic args (#18073) 2023-04-28 17:06:28 +03:00
Felipe Pena
b6bbd2463c
cgen: fix shared struct field initialization with default value (#18075) 2023-04-28 16:59:18 +03:00
Hitalo Souza
b0589c645d
json2: encode reference fields too (#17058) 2023-04-28 16:24:27 +03:00
Spydr
433208ea7e
native: make code generation logic platform-independant (#18057) 2023-04-28 16:00:23 +03:00
Turiiya
27e1c20e3d
toml: fix multiline array bool scanner, add test (#18068) 2023-04-28 01:30:47 +03:00
Mark aka walkingdevel
b767c7d6f5
cgen: orm: refactor, comments, simplify (#18070)
* cgen: refactor, comments, simplify

* fix: misc-tooling
2023-04-28 01:30:23 +03:00
Swastik Baranwal
30ac2e8763
checker: disallow assigning anon struct to typed struct (#18017) 2023-04-27 16:54:26 +02:00
Felipe Pena
9fb52c4c9c
cgen: fix code generated for or-block for void result return function + code generated for indirection comptime checking for logical operators (#18066) 2023-04-27 17:37:29 +03:00
Felipe Pena
ee9cfb6df4
checker: add check for mixing multi-return results with other types in return statements (fix #17501) (#18067) 2023-04-27 16:50:09 +03:00
Turiiya
bbfa25a17b
toml: fix scanner floating point detection (#18062) 2023-04-27 06:43:00 +03:00
Turiiya
8f767c9189
toml: update returns from option to result type (#18065) 2023-04-27 06:41:40 +03:00
Felipe Pena
c63902baf0
checker, cgen: fix generic resolution for comptimeselector and indirection checking on generic funcs (#18043) 2023-04-26 22:49:50 +03:00
yuyi
f4b7f83121
parser, checker: fix generic struct init with field struct init (#18052) 2023-04-26 22:22:15 +03:00
Felipe Pena
13b4cd9d58
os: fix memleak from getline on Linux (#18022) 2023-04-26 22:02:09 +03:00
yuyi
e1e5076d94
cgen: fix cross assign with generic fn call (#18050) 2023-04-26 20:41:20 +03:00
Felipe Pena
28f85371b1
cgen: fix comptime ptr comparison generated code (#18048) 2023-04-26 20:40:28 +03:00
squidink7
4bfe270c41
wasm: add support for [export]ed functions (#18055) 2023-04-26 20:39:58 +03:00
Jacques Supcik
c4b34c9482
docs: fix copy/paste leftover in the output of v help build-c (#18056) 2023-04-26 08:59:20 +03:00
Spydr
3622544695
native: implement miscellaneous features (#18044) 2023-04-25 01:19:15 +03:00
Swastik Baranwal
ac58eca015
checker: disallow deferencing a nil pointer (#18038) 2023-04-25 01:10:01 +03:00
yuyi
f598bbde4e
tests: clean up c_struct_with_reserved_field_name_test.v (#18026) 2023-04-24 11:04:13 +02:00
yuyi
79819c4fcb
parser: check generic fntype declaration without type name (#18033) 2023-04-24 11:03:29 +02:00
Spydr
7ac7020192
native, markused: implement -skip-unused (#18036) 2023-04-24 10:41:12 +02:00
yuyi
d8167b8966
ast, parser: fix generic fntype to concrete types (fix #17982) (#18025) 2023-04-23 03:44:16 +03:00
Mark aka walkingdevel
3fb32a866c
all: like operator/keyword for V ORM (#18020) 2023-04-23 03:40:54 +03:00
Casper Kuethe
5f870f41b5
vweb: implement database pool (#18010) 2023-04-23 03:37:15 +03:00
Felipe Pena
6f85384f7f
checker, cgen: fix infering type for comptimeselector when using ptr type (#18005) 2023-04-22 11:04:08 +03:00
Felipe Pena
3d50663bcf
json: fix omitempty for alias, struct, sumtype, array and map (#18012) 2023-04-22 10:58:21 +03:00
Felipe Pena
89b7bebc3c
json: fix option sumtype with int types (#18013) 2023-04-22 10:58:01 +03:00
Felipe Pena
c43ea09d87
json: fix -cstrict build + optional map (#18014) 2023-04-22 10:55:25 +03:00
Felipe Pena
c339ea2ce2
checker, cgen: make comptime field.indirections working with logical operators (#17990) 2023-04-21 19:43:47 +03:00
Felipe Pena
59d91e0514
cgen: fix auto_str for fn type (#17988) 2023-04-21 19:42:45 +03:00
yuyi
95d1beb008
cgen: fix c struct with reserved field name (fix #17993) (#17996) 2023-04-21 19:41:13 +03:00
Felipe Pena
488e14bf99
json: allow decode/encode of alias to primitive type (#18003) 2023-04-21 19:39:40 +03:00
Swastik Baranwal
456968b07d
checker: disallow []array{} (#17994) 2023-04-21 19:33:23 +03:00
yuyi
eb410bf283
checker: minor cleanup in return_stmt() (#17995) 2023-04-21 19:32:59 +03:00
Felipe Pena
adcd16b198
cgen: fix generic return for option ptr (#17987) 2023-04-18 17:51:43 +02:00
Felipe Pena
377c2e25ff
all: allow recursive struct with option ptr (?&Node) (#17682) 2023-04-18 13:07:21 +02:00
yuyi
6cc420880f
ast, checker, cgen: fix generic array of threads (fix #17976) (#17986) 2023-04-18 12:43:30 +03:00
Felipe Pena
df3ee9a64a
cgen: fix concat with matchexpr + option string (#17985) 2023-04-18 12:40:37 +03:00
Felipe Pena
8445642567
cli: fix a panic and an infinite loop, when command flag descriptions have multiple lines (#17981) 2023-04-18 12:37:26 +03:00
Turiiya
a84fddbb91
toml: fix trailing comma in inline toml, add test (#17977) 2023-04-18 12:35:55 +03:00
Mehmet Ali Şipi
04dabb5485
v.builder: add support for cross-compilation from termux to other platforms (#17984) 2023-04-18 09:20:17 +03:00
Delyan Angelov
8275dc5a73
db.pg: add support for -d trace_pg_error 2023-04-17 21:49:05 +03:00
Felipe Pena
3b2e58eace
checker: fix missing check for or-block on selectorexpr (#17975) 2023-04-17 16:11:34 +02:00
yuyi
fe4ccbc4cf
cgen: fix strings builder shift array.reverse() (#17979) 2023-04-17 14:06:57 +03:00
Delyan Angelov
4a22d4a65d checker: fix v -shared vlib/json on windows 2023-04-17 09:12:05 +03:00
Delyan Angelov
bf749b3559
ci: add test jobs for the wasm module, for macos, linux and windows (#17972) 2023-04-16 14:52:00 +03:00
Felipe Pena
a49cecc2b4
cgen: fix array map with it selector expr, used as an it method closure (#17968) 2023-04-16 14:41:07 +03:00
Felipe Pena
8e959ae5b5
parser: fix wrong nodes generated for $something (#17969) 2023-04-16 14:36:51 +03:00
Turiiya
6e0204a614
regex: remove outdated examples in README.md (#17971) 2023-04-16 13:17:24 +03:00
yuyi
6db904fb8f
cgen: correct comments and cleanup in comptime_for() (#17964) 2023-04-16 08:01:36 +03:00
Swastik Baranwal
d3de7adcc0
builtin: add C.scanf fn decl to cfns.c.v (#17965) 2023-04-16 08:00:19 +03:00
Delyan Angelov
75ddcb02fc tests: fix warnings and failure on macos for closure_generator_test.v 2023-04-16 07:45:05 +03:00
yuyi
a938dcddb5
ast: minor cleanup in ast.v (#17962) 2023-04-15 14:29:15 +03:00
yuyi
7c9f273e33
parser: fix comptime_for in repl (script mode) (fix #5976) (#17963) 2023-04-15 14:28:01 +03:00
James Hegedus
2179db37ee
flag: fix typo in uknown flag struct (#17375) 2023-04-14 14:42:11 +03:00
SolarWolf-Code
7981d2854a
net: fix typo give => given (#17955) 2023-04-14 11:15:16 +03:00
Delyan Angelov
e0656ad1b1
term.ui: cleanup of meaningless comment 2023-04-14 11:13:50 +03:00
Alexander Medvednikov
9f5e2aeea9 backtrace: use unsafe { nil } 2023-04-14 08:28:22 +02:00
yuyi
c59a5bbf05
parser: clean up array_init() (#17947) 2023-04-14 07:36:57 +02:00
Casper Kuethe
76fd55a693
vweb: fix multipart_form parsing (#17953) 2023-04-14 07:07:48 +02:00
l-m
8b2887d80b
wasm module: globals, constant expressions and function reference types (#17950) 2023-04-13 19:39:55 +02:00
Delyan Angelov
c6947fde57
os: implement Process.set_work_folder/0 to set the initial working folder of the new child process (#17946) 2023-04-13 14:48:32 +03:00
Turiiya
489ac892b9
regex: fix formatting inconsistencies in README.md (#17940) 2023-04-13 14:44:45 +03:00
Felipe Pena
524f7c3ead
json: fix json with option struct (#17942) 2023-04-13 08:17:40 +02:00
Swastik Baranwal
3d99f1f2c2
checker: disallow struct int to ptr outside unsafe (#17923) 2023-04-13 07:38:21 +02:00
yuyi
92cb7468ce
ast: minor optimization of clear_flags() (#17938) 2023-04-13 07:27:26 +02:00
yuyi
87ca877c83
parser: correct comments in comptime_for() (#17944) 2023-04-13 07:26:43 +02:00
Casper Kuethe
838083e610
vweb: add an overridable .not_found() method, for making a custom 404 page + tests fixes (#17936) 2023-04-12 00:50:03 +03:00
lapingenieur
f9c186a400
builtin: correct a small documentation mistake (#17935) 2023-04-11 12:37:14 +02:00
yuyi
8b37694760
cgen: fix generic method on embed struct (fix #17929) (#17932) 2023-04-11 10:04:00 +03:00
Hitalo Souza
91874f3244
json2: encode array (#17926) 2023-04-10 19:54:43 +03:00
Felipe Pena
319ad5bae2
json: fix json.decode with map alias (#17925) 2023-04-10 19:50:35 +03:00
Hitalo Souza
4d4d76d65b
json2: fix encoding of nested maps like map[string]map[string]int (#17924) 2023-04-10 18:57:02 +03:00
yuyi
4e498b4303
cgen: fix printing array of recursive reference struct (fix #17858) (#17922) 2023-04-10 17:09:27 +03:00
Felipe Pena
6a60db8768
cgen, checker: fix generic/comptime parameter concrete type resolution in some cases (#17762) 2023-04-10 10:42:49 +03:00
Felipe Pena
063f4023c5
checker: allow mut var.$(field.name) (#17911) 2023-04-10 10:37:02 +03:00
Felipe Pena
5c439b6621
cgen: fix auto_str for option values (#17910) 2023-04-10 05:56:57 +02:00
Alexander Medvednikov
83afa1009e checker: fix immutable deref check 2023-04-10 04:59:36 +02:00
Swastik Baranwal
6acf01a4a0
checker: disallow more reserved types to be used as variable names (#17917) 2023-04-09 13:42:21 +02:00
Surman The Dead
b772731b98
leb128: make decoding return the number of decoded bytes, in addition to the decoded value (#17912) 2023-04-09 10:32:49 +03:00
Delyan Angelov
abe0ad886b
ci: workaround flakyness of array_test.v on windows, with the default GC mode 2023-04-09 09:48:15 +03:00
Delyan Angelov
9267e41337
cgen: fix v -prealloc file_test.v 2023-04-09 09:35:43 +03:00
l-m
d2f69472b2
vlib: add a wasm module, implementing a pure V webassembly seralisation library (#17909) 2023-04-09 07:55:02 +03:00
penguindark
9658d20f03
strconv.atoi: optimization (#17913) 2023-04-09 05:54:38 +02:00
Delyan Angelov
fdc22b9020
ci: mark array_access_optimisation_test.v as flaky, and retry it 3 times 2023-04-09 06:32:28 +03:00
Delyan Angelov
cd629cfeab
cgen: do not generate the stringified values for assert x in y, for the pass case (#17908) 2023-04-08 18:51:46 +03:00
Delyan Angelov
ebfc4b4663
builtin: remove test for the deprecated []int.reduce/2 2023-04-08 18:47:04 +03:00
Delyan Angelov
48d42287a9
v.markused: enable v -skip-unused -live run examples/hot_reload/bounce.v 2023-04-08 14:36:01 +03:00
yuyi
e70084f203
ast: clean up ast.v, table.v and types.v (#17906) 2023-04-07 16:58:34 +03:00
lemon
e300fb428a
math: add maxof[T]() and minof[T]() (#17905) 2023-04-07 15:48:37 +03:00
yuyi
237f9446e2
checker, cgen: fix type alias of pointer (#17904) 2023-04-07 10:19:25 +02:00
Swastik Baranwal
65abfa8219
checker: disallow printing void (#17901) 2023-04-07 06:40:11 +02:00
Petr Makhnev
812a17fb43
tests: use isreftype[T]() and sizeof[T]() syntax, fix vfmt to support them, when written explicitly (#17103) 2023-04-06 20:02:55 +03:00
Felipe Pena
1113205376
json: fix [raw] for option string (#17899) 2023-04-06 18:26:17 +03:00
Subhomoy Haldar
a773e44430
rand: update documentation for normal and normal_pair (#17898) 2023-04-06 17:52:09 +03:00
Ikko Eltociear Ashimine
7838ef366a
crypto.pem: fix typo in decode.v (#17896)
seperator -> separator
2023-04-06 12:12:45 +03:00
yuyi
31ffbc7a87
scanner: fix string interpolation string literal with fmt (#17895) 2023-04-06 12:11:15 +03:00
Casper Kuethe
930bdd935b
vweb: fix static files copying (#17891) 2023-04-06 03:10:23 +02:00
walking devel
9957356a84
encoding.base32: change ? to ! (#17892) 2023-04-06 03:09:05 +02:00
Felipe Pena
b4e8e812fe
json: fix encode/decode fixed array (#17887) 2023-04-06 01:15:23 +03:00
Delyan Angelov
dce65c7f46
tools: make v watch webserver.v monitor files used through $tmpl as well 2023-04-06 00:45:25 +03:00
Felipe Pena
7334f673a0
cgen: fix cast option ptr (#17884) 2023-04-05 22:29:18 +03:00
Swastik Baranwal
902d0dc93d
checker: allow ~T(0) where T is int (#17886) 2023-04-05 13:05:18 +03:00
Surman The Dead
39b3a0ca17
encoding: add an encoding.leb128 module with tests (#17880) 2023-04-05 11:53:25 +03:00
ChAoS_UnItY
b2cf6d0af4
cgen: fix wrong indent generation in anon fn decl (#17879) 2023-04-05 11:22:36 +03:00
Swastik Baranwal
d30e1a52e2
checker: disallow unwrapped option/result with in operator (#17875) 2023-04-05 11:20:42 +03:00
walking devel
fc4c431d83
v: rename sql.v -> orm.v for consistency (#17877) 2023-04-04 22:35:52 +03:00
yuyi
467a1b4435
fmt: remove redundant parenthesis in the complex infix expr (#17873) 2023-04-04 13:47:48 +03:00
walking devel
8452644ec3
orm: enforce that queries always return a Result, a query-resulting array can be used as a V array in place. (#17871) 2023-04-04 08:23:06 +03:00
l-33ter
9addede0ea
readline: README.md change '?' to '!' (#17868) 2023-04-04 02:51:30 +03:00
yuyi
4f532c0830
checker: fix fn returning alias of pointer (fix #17861) (#17864) 2023-04-03 19:32:55 +03:00
Swastik Baranwal
1dcec62c19
checker: disallow top level decl builtin fn (#17857) 2023-04-03 17:30:05 +03:00
yuyi
22afdb5cbf
cgen: fix gen_str_for_map() (#17862) 2023-04-03 14:42:01 +03:00
yuyi
a9bb6865fd
scanner: fix checking comments not terminated (fix #17842) (#17855) 2023-04-03 14:37:52 +03:00
yuyi
33ba24e933
scanner: fix nested multiline comments (#17859) 2023-04-03 14:35:27 +03:00
Delyan Angelov
88de0decf6
v.pref: allow passing file names to v scripts, that use -raw-vsh-tmp-prefix, without showing a Too many targets error message. 2023-04-03 05:07:12 +03:00
ChAoS_UnItY
de34e15df7
cgen: fix multi return variable ignore in if guard (#17853) 2023-04-02 15:47:54 +02:00
Swastik Baranwal
01caecc284
checker: add check for unwrapped option in array cap (#17851) 2023-04-02 15:47:08 +02:00
Casper Kuethe
b2735bf937
vweb: add controllers (#17840) 2023-04-02 15:46:43 +02:00
ChAoS_UnItY
c7237b1c58
cgen: fix result of typeof function returns result type (#17849) 2023-04-02 02:25:34 +02:00
Josh Montoya
51ad565ed6
vweb: implement worker pool (#17298) 2023-04-02 01:24:33 +02:00
Felipe Pena
1471ba4678
checker: fix missing check for initializer with function returning options (#17820) 2023-04-02 00:03:42 +03:00
Delyan Angelov
6aec8244f0
strings: simplify Builder.drain_builder; add test (#17846) 2023-04-02 00:03:00 +03:00
Delyan Angelov
58dd9ee6a2 tests: make the flaky array_access_optimisation_test.v failures on the macos CI, more easily diagnosable 2023-04-01 17:33:44 +03:00
Felipe Pena
5b8d6c0a60
cgen: fix match tmp var needing check when working with option on branches (#17837) 2023-04-01 08:19:23 +03:00
Spydr
fedf0f7939
native: rune type literals/printing, pointer comparison and some missing branches in functions (#17839) 2023-04-01 01:09:02 +03:00
yuyi
e1b8617c94
ast, cgen: fix generic closures with different generic types (fix #17829) (#17834) 2023-03-31 18:08:42 +03:00
yuyi
6ff1c0a0b2
checker: fix generic struct init with update expr (fix #17824) (#17827) 2023-03-31 10:59:52 +03:00
ChAoS_UnItY
ff0adba8a9
tests: fix file partially not fmt, caused by fixed vfmt bug (#17828) 2023-03-31 10:22:31 +03:00
Felipe Pena
cd6cc65ece
json: fix [omitempty] with string (#17813) 2023-03-30 23:09:47 +03:00
Delyan Angelov
57aa4def62
net.html: do not inject <text> tags for text that contains only newlines and spaces 2023-03-30 23:02:57 +03:00
yuyi
b40aa4ffa9
cgen: fix embed struct with sumtype field (#17823) 2023-03-30 15:59:06 +03:00
Delyan Angelov
214f72ba03 tools: support VDOC_SORT=false ./v doc time 2023-03-30 14:35:54 +03:00
yuyi
b9352ce834
ast, parser, fmt: fix fmt error of generic fntype (#17814) 2023-03-30 13:30:10 +02:00
yuyi
d0702f3897
checker: fix if cond with alias (fix #17818) (#17821) 2023-03-30 13:29:08 +02:00
Delyan Angelov
4ef6e16e3b
bitfield: add [inline] for very commonly used simple methods 2023-03-30 11:53:02 +03:00
Thomas Mangin
580d9cedc7
termios: new termios module (#17792)
* termio: new termio module

move the tcgetattr and tcsetattr functions in a new termio module.
The code needed refactoring as different OS have different fields
size, position and number for the C.termios structure, which
could not be correctly expressed consitently otherwise.

It has the positive side effect to reduce the number of unsafe calls.
New testing code was also added for the readline module as it is
relying of the feature.

* apply 2023 copyright to the new files too
2023-03-30 08:58:52 +03:00
Alexander Medvednikov
0826102e0a sokol: enable VALIDATE_NON_FATAL 2023-03-30 00:10:49 +02:00
Alexander Medvednikov
d60ceb45cd gg: make create_image() return !Image 2023-03-29 19:04:41 +02:00
Felipe Pena
75deb66fd4
json: fix decode option string (#17812) 2023-03-29 18:45:41 +02:00
yuyi
dd0b68ac90
checker: check if guard returning non-propagate option or result (fix #17742) (#17794) 2023-03-29 14:51:29 +03:00
Alexander Medvednikov
6756d28595 all: 2023 copyright 2023-03-28 22:55:57 +02:00
Casper Kuethe
1f613a082a
vweb: use net.http.Cookie (#17807) 2023-03-28 22:27:01 +02:00
Delyan Angelov
ff5df2ce07
cgen: small cleanup in comments (init: it -> init: index) 2023-03-28 15:06:06 +03:00
yuyi
4007c6cf89
checker: check generic struct infering error (#17802) 2023-03-28 15:00:08 +03:00
Felipe Pena
db8331da24
cgen: fix fixed array of string item concatenation (#17801) 2023-03-28 14:56:54 +03:00
yuyi
da153aa780
checker, cgen: fix asserting if guard expr (#17793) 2023-03-28 11:40:33 +03:00
Alexander Medvednikov
5e48817dc8 parser: remove duplicated pascal case check 2023-03-27 13:38:21 +02:00
Heptalon
6b4fb0fc3e
checker: fix missing check for option value on non-optional struct field assignment (#17785) 2023-03-27 04:11:56 +02:00
yuyi
f08b88223d
checker: fix returning error in if expr (#17783) 2023-03-26 18:10:06 +02:00
yuyi
130f35c776
checker: fix embedded struct field with default value (#17777) 2023-03-26 11:33:01 +03:00
ChAoS_UnItY
34f5f05efa
ast: fix concrete fn type that returns pair type as generic type (#17780) 2023-03-26 11:29:52 +03:00
Subhomoy Haldar
8759409a69
math.big: fix min i32 value bug (#17775)
* attempt big int min value fix

* cast value for correct comparison

* update edge case

* add one more test
2023-03-26 08:45:42 +03:00
Casper Kuethe
1fe5aca782
vweb: middleware implementation (#17730) 2023-03-26 00:57:42 +01:00
Delyan Angelov
db97630117
examples, orm: fix orm example; add -d trace_orm option to see all ORM generated queries (#17770)
* orm: add tracing of the generated queries by the orm module, when a program is compiled with `-d trace_orm`

* examples: fix examples/database/orm.v, add comments, and ensure that the example can be run several times with no errors

The example demonstrates connecting to all 3 DBs in the same program, and will be added to the CI very soon,
to serve both as a regression test, if it fails, and as an example to how to use the ORM in combination with
raw SQL queries to the DBs (which are driver/wrapper specific, unlike the ORM, but can be more convenient in some situations).
2023-03-25 21:46:17 +02:00
ChAoS_UnItY
f5f45d846e
ast: fix concrete function type used as generic type (#17769) 2023-03-25 21:45:19 +02:00
penguindark
3d2d330478
regex: fix issue with multiple repetitions out of the groups (#17774) 2023-03-25 20:49:01 +02:00
Felipe Pena
24cc5920e6
cgen: multiple auto equality func generated fixes (#17756) 2023-03-25 20:45:18 +02:00
Swastik Baranwal
0a8a0fdb0e
checker, cgen: fix check and cgen for match x { StructName {} } and match x { y {} }, where x is a mutable receiver (#17755) 2023-03-25 14:38:47 +02:00
yuyi
17c4eb49fb
parser: clean up in parse_generic_inst_type() (#17766) 2023-03-25 08:39:23 +02:00
yuyi
a9f55de352
checker: fix generic array delete in skip_unused mode (#17759) 2023-03-25 08:31:25 +02:00
Felipe Pena
ca198ace7d
cgen: fix nested fn call with result/option propagation (#17738) 2023-03-24 17:36:37 +02:00
Hitalo Souza
dc11f1fe05
json2: fix decode to map doesn't work (#17757) 2023-03-24 17:30:32 +02:00
Hitalo Souza
979066856b
json2: encode map (#16928) 2023-03-24 13:45:26 +02:00
Delyan Angelov
bfb0932588
net.http.mime: execute v run vlib/net/http/mime/build.vsh to update db.v with the latest official mime types 2023-03-24 08:29:32 +02:00
Delyan Angelov
37a79624fc
cgen: fix println(value.name) inside $for value in Test.values{ (#17746) 2023-03-23 19:18:25 +02:00
Felipe Pena
8693da4d36
parser: fix parsing cast array syntax from another module (fix #17704) (#17739) 2023-03-23 18:26:12 +02:00
yuyi
6b5c746146
ci: fix comptime_concrete_type_register_test.v after 9a9cfe4 (#17744) 2023-03-23 16:42:35 +02:00
Felipe Pena
9a9cfe425c
all: comptime type lowercase ($int, $enum, $option, etc) (#17732) 2023-03-23 00:02:42 +01:00
Felipe Pena
0afb41f7e1
checker: fix missing type mismatch with ptr types (#17695) 2023-03-22 23:49:02 +01:00
Felipe Pena
a552a79ca8
checker: fix comptime concrete type register (fix #17657) (#17659) 2023-03-22 16:16:19 +02:00
Felipe Pena
278e747c7a
json: make enums work with json encode+decode (serialised as string names by default; the old integer one is supported too, using [json_as_number]) (#17696) 2023-03-22 10:33:32 +02:00
Felipe Pena
c9345be6de
ast: fix embed name with enum as generic struct type (fix #17721) (#17727) 2023-03-22 09:50:58 +02:00
walking devel
d0e78b1da6
parser: breaking change, let V ORM queries return arrays for *all* non-count queries, including limit = 1 (#17719) 2023-03-22 09:48:01 +02:00
Swastik Baranwal
93b7cc4888
cgen: allow using of original operation if alias is number and no custom method is defined (#17718) 2023-03-21 11:39:58 +02:00
Felipe Pena
326e43385b
cgen: fix match with option type (#17713) 2023-03-21 11:38:30 +02:00
d3c0d3d.exe
54a1b66b94
os: add create_no_window parameter to Process (#17726) 2023-03-21 11:24:40 +02:00
yuyi
e1d4539a14
cgen: clean up comments in cgen.v (#17725) 2023-03-21 12:07:25 +03:00
yuyi
968b519be5
checker: implement infering generic struct types (#17717) 2023-03-20 20:42:53 +02:00
Louis Brunner
977cd0d8df
cgen: better alias handling for references/shared (#17656) 2023-03-20 17:35:45 +01:00
Felipe Pena
17fe76368a
regex: fix simple char match (#17701) 2023-03-20 10:37:09 +02:00
Felipe Pena
74eac1de4e
parser: fix parsing array of options from a submodule (#17714) 2023-03-20 10:36:22 +02:00
Alexander Medvednikov
f1e9a8ff37 tests: remove unnecessary v_printf test 2023-03-19 15:30:52 +03:00
Alexander Medvednikov
47e10a9fcd strconv: make v_printf private 2023-03-19 15:03:49 +03:00
Alexander Medvednikov
7939ca2997 strconv: deprecate v_sprintf 2023-03-19 11:30:56 +03:00
yuyi
c18bf48833
cgen: fix closure with fixed array variable (#17707) 2023-03-19 10:11:11 +02:00
Casper Kuethe
37af8bbd27
vweb.assets: add option for custom href and src attribute values (#17703) 2023-03-19 10:02:59 +02:00
yuyi
9275161d0f
strconv: fix v_sprintf with '%%' (#17708) 2023-03-19 09:52:45 +02:00
Delyan Angelov
3793bf1c99
builtin: optimise the common case of s.contains("x") add s.contains_byte(x) (#17702) 2023-03-19 01:10:13 +03:00
yuyi
14148f3e52
toml: clean up autocast in parser.v (#17662) 2023-03-18 23:15:00 +03:00
Felipe Pena
2df23a6698
json: fix ptr field access (#17690) 2023-03-18 14:47:40 +02:00
Brandon
aee76c5819
net: update new_request (#17618) 2023-03-17 22:17:22 +01:00
yuyi
268cee82fc
cgen: fix map of complex array (#17660) 2023-03-17 22:12:59 +01:00
yuyi
24ea00da0c
checker: clean up infer_struct_generic_types() and infer_fn_generic_types() (#17668) 2023-03-17 21:46:56 +01:00
Felipe Pena
9e7aeec215
sql: fix wrong field name on generated code (#17684) 2023-03-17 21:45:52 +01:00
Felipe Pena
68955bb26c
cgen: fix indexexpr with complex index expr (#17693) 2023-03-17 21:44:14 +01:00
yuyi
45c0a21f46
checker: clean up assign_stmt() (#17664) 2023-03-17 21:43:38 +01:00
yuyi
88ab947440
cgen: fix spawn method on generic struct (#17691) 2023-03-17 21:43:04 +01:00
ArthurZhou
8c35ee0722
vweb: add an option to disable startup message (#17645) 2023-03-17 21:41:25 +01:00
Felipe Pena
2c349247e1
checker: fix anon fn initialization as struct-like (#17652) 2023-03-17 21:41:00 +01:00
Delyan Angelov
6e1e406288
vweb: implement live page reload in development, based on polling (useful with watch) (#17683) 2023-03-16 21:00:47 +01:00
Felipe Pena
658b116d07
checker: fix wrong struct warn about inited fields (#17678) 2023-03-16 21:42:00 +02:00
Felipe Pena
6709b2de0f
cgen: fix selector expr with alias to ptr (#17649) 2023-03-16 21:32:52 +02:00
Felipe Pena
25eabf8e2d
cgen: fix argument dereference for str method when receiver is ptr (#17648) 2023-03-16 21:28:14 +02:00
Felipe Pena
f5b67802fd
cgen: fix push operation on array of option (#17658) 2023-03-16 21:24:48 +02:00
yuyi
d349c1d86d
checker: check generic fn call argument type mismatch (#17680) 2023-03-16 21:19:03 +02:00
Felipe Pena
b345d77805
json: support field &Type (#17655) 2023-03-16 21:15:14 +02:00
Felipe Pena
5eb331ed89
cgen: fix option ptr printing (#17651) 2023-03-16 13:02:39 +02:00
Felipe Pena
7e8723d603
cgen: fix multi return assignment with option (#17676) 2023-03-16 12:59:49 +02:00
Felipe Pena
93a2ffa9ef
cgen: fix fixed array assignment from unsafe block (#17647) 2023-03-15 20:30:49 +02:00
Felipe Pena
39e80afab0
checker: fix missing check for wrong assignment: non-option to option type (#17628) 2023-03-15 20:24:36 +02:00
yuyi
d290f432d1
ast: clean up resolve_init() (#17663) 2023-03-15 17:20:04 +02:00
Felipe Pena
2656ce9522
checker: fix missing check for [export] attr on a fn, without parameter (#17653) 2023-03-15 17:17:45 +02:00
yuyi
aa50f4ebf7
checker: clean up sum_type_decl() (#17669) 2023-03-15 16:56:41 +02:00
Delyan Angelov
8e9e91be7e builder: add a separate ALL_FRONT_STAGES timing metric 2023-03-15 15:14:58 +02:00
Felipe Pena
b71c131678
cgen: fix map with comp-time reflection, improve comptime var handling (#17603) 2023-03-14 13:49:29 +02:00
yuyi
2643d6645f
ast, parser, cgen: fix generic struct init with inconsistent generic types (#17639) 2023-03-14 13:24:52 +02:00
Delyan Angelov
cb7e25e47e
sokol.gfx: update the C.sg_pass_attachment_desc declaration to match the one from the Sokol headers 2023-03-14 09:02:03 +02:00
Heptalon
618c92a13b
urllib: change Values.get to return an option type (#17636) 2023-03-14 08:44:40 +02:00
Delyan Angelov
daa9034583
os: return the long path for os.temp_dir() on windows, even for folders like c:\someth~1 (#17623) 2023-03-14 00:51:52 +02:00
Felipe Pena
d1d26893f5
parser: fix option struct init decl with module prefix (#17615) 2023-03-14 00:50:06 +02:00
Artem Yurchenko
f18cc6ebb0
vfmt: remove spurious src. prefix, from import name becoming import src.name (#17633) 2023-03-14 00:00:41 +02:00
Delyan Angelov
42732138c6
v: support -ldflags in addition to -cflags (allow adding C options *after* other C option, similar to LDFLAGS) (#17630) 2023-03-13 21:38:48 +02:00
Felipe Pena
9ad1c2f922
checker: fix missing option function field checking (#17601) 2023-03-13 15:05:56 +01:00
Felipe Pena
d00237f02c
cgen: fix code generated to option fn (fix #17604) (#17614) 2023-03-13 11:56:13 +02:00
yuyi
5cb1f8965a
cgen: fix option struct init with reference option (#17617) 2023-03-13 09:58:45 +02:00
Thomas Mangin
0bd094292f
v: add support for _qnx.c.v overriding _default.c.v (#17611) 2023-03-12 19:48:36 +02:00
Felipe Pena
3197ec1a41
v: add compile-time enum evaluation with $for item in MyEnum.fields { dump(item.value) dump(item.name) } (#17517) 2023-03-12 12:46:54 +02:00
Delyan Angelov
b2a71ecab2
pref: support v -e "println(2+5)" (#17605) 2023-03-12 00:42:36 +01:00
yuyi
95a9f0e29b
ast, parser, fmt: fix fmt error of infix expr with comments (fix #17560) (#17583) 2023-03-12 01:07:13 +02:00
Thomas Mangin
8490ea318b
readline: add more readline support to macos too (not simply os.get_raw_line based, but arrow key navigation, history etc too) (#17602) 2023-03-12 01:06:35 +02:00
ChAoS_UnItY
f02b423f80
builtin: string test refactor, string functions inlining (#17598) 2023-03-11 20:44:45 +02:00
Felipe Pena
ddcc22fe08
checker: fix parenexpr checking on assignment (#17593) 2023-03-11 14:56:47 +02:00
Alexander Medvednikov
dc24df9510 cbuilder: change order of functions to improve readability 2023-03-11 14:19:18 +03:00
yuyi
6e4dc82f28
sync: fix error of empty struct channel (fix #17556) (#17597) 2023-03-11 12:02:51 +02:00
Felipe Pena
a98376025e
checker: fix missing re-check of recursive generic function (fix #16962) (#17592) 2023-03-11 11:57:41 +02:00
Swastik Baranwal
48a03a4874
checker: check wrapped Option types before comparison (#17590) 2023-03-11 11:16:12 +02:00
yuyi
b691e1e24a
checker: check struct embed required field (#17595) 2023-03-11 11:12:26 +02:00
ChAoS_UnItY
9fa49da9d5
builtin: add rsplit functions (#17577) 2023-03-11 00:07:02 +01:00
Felipe Pena
ee4150f213
v: add a $Option comp-time type, to enable: $for f in Test.fields { $if f.typ is $Option { } } (#17546) 2023-03-10 12:17:25 +02:00
yuyi
09c9cbcef9
cgen: fix assign option value using propagate option (#17578) 2023-03-10 11:30:46 +02:00