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

12315 Commits

Author SHA1 Message Date
phoebe
2fb561ba7f
checker, cgen: allow comptime ident is array of types (#18765) 2023-07-04 06:45:30 +03:00
phoebe
1db67f7505
checker: allow no return in compile_error else block (#18758) 2023-07-04 06:44:24 +03:00
Delyan Angelov
9bf2449a7b
cgen: fix memleak for [][]T{len: x}, or []Struct{len: x} (#18763) 2023-07-04 06:32:19 +03:00
Felipe Pena
3f5995ace8
cgen: fix regression with unalised naming conflict with C interop (#18752) 2023-07-03 23:12:20 +03:00
yuyi
c1550b3efa
ast, checker: change stmt(node_ ast.Stmt) to stmt(mut node ast.Stmt) (#18756) 2023-07-03 23:10:00 +03:00
Swastik Baranwal
ab258aebfb
checker: disallow invalid prefix on left side of assign stmt (#18750) 2023-07-03 18:54:23 +03:00
yuyi
df3c85eb36
checker: use autocasting in complex if conditions (#18753) 2023-07-03 11:03:05 +03:00
Mark aka walkingdevel
c48ae86132
cgen: fix autofree inserting string declarations for multiple functions calls (#18723) 2023-07-03 08:01:55 +03:00
phoebe
e01d973c27
checker: fix comptime "ident is type" (#18747) 2023-07-03 08:01:34 +03:00
yuyi
ad1d5e7adb
cgen: remove 'mut mut_table := unsafe { &ast.Table(g.table) }' (#18742) 2023-07-02 23:54:44 +03:00
yuyi
fd6983fcb4
checker: fix autocast in complex if condtions 4 (#18744) 2023-07-02 23:54:17 +03:00
Ikko Eltociear Ashimine
c75382ad23
term: fix typo in term_windows.c.v (#18745) 2023-07-02 23:53:56 +03:00
Herman
af38f8b3ba
channels: refactor the channel_select function (#18711) 2023-07-02 15:45:30 +03:00
Felipe Pena
329e063752
checker: fix wrong interface parameter resolution for anonymous fn (#18724) 2023-07-02 14:18:53 +03:00
Spydr
f3942417c4
native, builder: enable processing of .v files in the builtin module (for now most functions there are blacklisted) (#18735) 2023-07-02 14:16:15 +03:00
Swastik Baranwal
0ce3e46823
checker: disallow assigning nil to struct fields (#18725) 2023-07-02 14:04:28 +03:00
yuyi
44a6741bc3
ast, checker: change check(ast.file &ast.File) to check(mut ast.file ast.File) (#18729) 2023-07-02 09:41:04 +03:00
Turiiya
a27f2ddcc3
term.ui, vweb, v: update deprecated functions (#18726) 2023-07-02 09:38:33 +03:00
yuyi
5d4c2cd832
v: use autocasting in complex conditions (#18731) 2023-07-02 09:23:15 +03:00
Felipe Pena
29c8aaeb89
cgen: fix selector code to use interface method table on closure when needed (#18736) 2023-07-02 06:54:52 +03:00
Alexander Medvednikov
e407579e99 V 0.4 2023-07-01 13:50:33 +03:00
yuyi
049fa3c70f
cgen: minor cleanup in ref_or_deref_arg() (#18713) 2023-07-01 12:07:53 +03:00
yuyi
36577eed09
checker: fix autocast in complex if conditions 3 (#18715) 2023-07-01 12:07:17 +03:00
Isaiah
20c6d87fd4
fmt: fix formatting of imported static methods (#18720) 2023-07-01 12:04:52 +03:00
Spydr
ee429bb51d
native: increase support for ast.Alias and ast.TypeOf (#18722) 2023-07-01 11:39:39 +03:00
Alexander Medvednikov
015ccc2a7f V 0.3.5 2023-06-29 22:16:34 +03:00
Subhomoy Haldar
7ab11097be
rand: fix edge case, when bit length is 31 and 63, add tests for rand.intn(2147483647)! etc (#18714) 2023-06-29 22:11:27 +03:00
Alexander Medvednikov
cf323cd0ef Revert "checker: fix autocast in complex if conditions 3 (#18710)"
This reverts commit e74723c1e7.
2023-06-29 21:37:11 +03:00
Turiiya
357a4a00bf
checker: fix generic infix expr type mismatch error (#18706) 2023-06-29 21:32:21 +03:00
yuyi
e74723c1e7
checker: fix autocast in complex if conditions 3 (#18710) 2023-06-29 21:31:40 +03:00
Spydr
c4ba47a131
native: inital support for aliased types (#18703) 2023-06-29 21:30:48 +03:00
yuyi
f122703a43
v: use autocasting in if conditions inside the compiler (#18708) 2023-06-29 19:37:36 +03:00
Alexander Medvednikov
85160923b6 changelog: 0.3.5 (p. 1) 2023-06-29 19:28:38 +03:00
yuyi
60f9f53e36
checker: fix autocast in complex if condtions 2 (#18702) 2023-06-29 07:01:21 +03:00
Mark aka walkingdevel
7ee25843c2
db.mysql: fix the support for TIMESTAMP columns (#18704) 2023-06-29 06:49:58 +03:00
Daniel Daudysh
f0fb86f76e
checker,orm: skip compile-time error msg for fields tagged with [skip] and [sql: '-'] (#18700) 2023-06-29 06:43:24 +03:00
Swastik Baranwal
499d0526fc
checker,orm: add compile error for unsupported field data types like field []int etc (#18537) 2023-06-28 13:40:36 +03:00
yuyi
2b2aca6eb7
checker: fix autocast in complex if condtions (#18699) 2023-06-28 13:37:20 +03:00
phoebe
735654296c
math.big: refactor big_test.v for scalability (#18696) 2023-06-28 13:35:13 +03:00
Felipe Pena
89c56fb5ee
parser, checker: fix static method naming and generic call (#18694) 2023-06-28 07:07:07 +03:00
Felipe Pena
83ee2827d4
cgen: fix alias to struct ptr on structinit (#18571) 2023-06-28 07:02:32 +03:00
Turiiya
b2ca3ac089
net.html: fix semantic inconsistencies of tag retrieving functions (#18558) 2023-06-27 20:10:31 +03:00
phoebe
1bae9e4538
math.big: minor gcd improvements/fixups and internal rsh_to_set_bit (#18569) 2023-06-27 20:09:22 +03:00
yuyi
8508c552d2
checker: implement autocast in if conditions (#18573) 2023-06-27 20:08:50 +03:00
Swastik Baranwal
e48b55fc80
checker: disallow Result type aliases (#18693) 2023-06-27 20:08:37 +03:00
Hitalo Souza
aeebb4f118
json2: small refactor (#16913) 2023-06-27 20:07:44 +03:00
Felipe Pena
d523bb0306
checker: fix missing check for taking address of literal value member (#18570) 2023-06-27 10:54:03 +03:00
yuyi
3558e05bfb
tests: fix reflection_sym_test.v (#18574) 2023-06-27 10:53:35 +03:00
Alexander Medvednikov
02c382569c gen.golang: fix anon fn 2023-06-27 02:17:09 +03:00
Alexander Medvednikov
21ccb9b48e doc: clarify new static type methods a bit 2023-06-27 01:38:31 +03:00
Alexander Medvednikov
d52bac8ee9 doc: document new static type methods 2023-06-27 01:31:56 +03:00
Casper Kuethe
21d9730cde
context, vweb: add ability to set and get values on vweb.Context (#18564) 2023-06-27 01:25:45 +03:00
Eliyaan (Nopana)
7a9c885b31
native: replace abs() with mathutils.abs() (#18568) 2023-06-27 01:25:12 +03:00
yuyi
a67342d05b
checker: minor cleanup in infix_expr() (#18567) 2023-06-27 01:24:46 +03:00
Alexander Medvednikov
a9f8b5dadc all: static type methods 2023-06-27 01:23:30 +03:00
Delyan Angelov
ec35d76574
cgen: cleanup return comments in generated code after dbd2517 (-32KB for v.c) 2023-06-25 09:51:32 +03:00
Felipe Pena
1ee83bf639
checker: disallow using Result !Type as a map[Key]!Type (#18543) 2023-06-25 09:51:10 +03:00
Spydr
31f68eea94
native: split codegen into multiple files and refactor assign statement generation (#18546) 2023-06-25 09:47:10 +03:00
Felipe Pena
e9960339f9
cgen: fix generic resolver on non generic function (#18381) 2023-06-25 09:07:14 +03:00
yuyi
84a5fd0051
cgen: minor cleanup for ast.clear_flags() (#18549) 2023-06-25 09:01:36 +03:00
Felipe Pena
34ac3269bc
cgen: fix initialising a map, using option type as value (#18540) 2023-06-25 01:55:42 +03:00
Felipe Pena
752e4c2e47
cgen, checker: allow a << none, where a is []?&int (#18539) 2023-06-24 20:54:49 +03:00
yuyi
11fa28edff
flag: fix finalize with multiple shortargs (#18544) 2023-06-24 20:35:44 +03:00
yuyi
3e3b289583
checker: check shared parameter assigning (fix #18525) (#18534) 2023-06-24 14:18:11 +03:00
kbkpbot
5f0ad64155
runtime: add new functions total_memory/0 and free_memory/0 (#18499) 2023-06-24 14:15:15 +03:00
Felipe Pena
2abd2e2c2a
cgen, checker: fix indexexpr with sumtype of array types (#18515) 2023-06-24 09:09:49 +03:00
Delyan Angelov
4c9c515f8b
parser: remove hardcoded check for function calls for C.stat, C.sigaction, etc (#18535) 2023-06-24 08:03:12 +03:00
Delyan Angelov
2c7643661e
time: small cleanup of parse_iso8601 comments, make the C.strftime declaratione forwards compatible 2023-06-24 08:01:57 +03:00
yuyi
f3e1859ee8
parser: fix multiple embedded external module interface (#18531) 2023-06-23 21:23:24 +03:00
Felipe Pena
9d77fd90bf
checker: fix missing check for diff type on map value declaration (#18522) 2023-06-22 22:48:15 +03:00
yuyi
68ba39084d
checker: check struct field init with result value (fix #18511) (#18514) 2023-06-22 22:40:11 +03:00
Swastik Baranwal
0b2e947e0c
parser: disallow multi else branches in match (#18526) 2023-06-22 22:39:35 +03:00
Delyan Angelov
0e4eea80ca
cgen: fix code generation for generic unions (#18513) 2023-06-22 22:39:05 +03:00
Casper Kuethe
a12e82aa15
stbi: allow customisation of number of channels in stbi.load (#18491) 2023-06-22 16:47:52 +03:00
yuyi
22bd1b9d55
ast: clean up ast.StructInit (#18518) 2023-06-22 16:41:08 +03:00
Turiiya
af4e113f6c
vweb: use <head> instead of <header> in the html templates (#18516) 2023-06-22 11:11:02 +03:00
Joe Koop
8b25c4c9a3
net.http: copy IANA's list of methods to the http.Method enum (#18508) 2023-06-22 09:31:34 +03:00
yuyi
76ae9dba5c
checker: check struct init with pointer field (fix #18485) (#18501) 2023-06-21 12:36:28 +03:00
squidink7
5006ffb304
time, x.json2: improve iso8601 time decoding (#18496) 2023-06-21 12:34:50 +03:00
yuyi
d7a50b4a22
builtin: minor cleanup in sorted_map.v (#18502) 2023-06-21 12:34:05 +03:00
Turiiya
867f4376d8
checker: abstract repetitive error handling (#18507) 2023-06-21 12:13:18 +03:00
yuyi
b61fdfa094
checker, cgen: fix generic method variable (#18509) 2023-06-21 12:09:53 +03:00
phoebe
4485f1ca1e
math.big: fix documentation for mod_inverse (#18494) 2023-06-20 14:31:04 +03:00
Felipe Pena
c657384f72
cgen: fix alias to option handling (#18490) 2023-06-20 11:55:25 +03:00
Turiiya
a7f00e7594
checker: add hint to sumtype cannot hold reference types error (#18486) 2023-06-20 11:54:57 +03:00
Felipe Pena
0232f074a8
cgen: fix alias eq method + map init with option (#18483) 2023-06-20 11:52:59 +03:00
l-m
15cb343065
picoev: support for freebsd (#18492) 2023-06-20 09:04:07 +03:00
Turiiya
958e456790
parser: fix match for array of reference sumtype (#18487) 2023-06-19 18:40:17 +03:00
yuyi
7c1ace02f3
checker: fix a bug checking generic closures (#18489) 2023-06-19 18:22:25 +03:00
Casper Kuethe
2bedb6ffd7
stbi: add a resize_uint8 function for resizing images in memory (#18484) 2023-06-19 18:14:26 +03:00
phoebe
a3f24caffc
math.big: add mod_inverse and improve big_mod_pow to allow for large exponents and moduli (#18461) 2023-06-19 17:59:49 +03:00
Turiiya
396d46d9ca
ast, builder, checker, parser: fix typos (#18480) 2023-06-18 22:36:17 +03:00
Turiiya
0454f43fa3
checker: fix error assigning generic function variable with generic struct return (#18472) 2023-06-18 22:22:22 +03:00
Delyan Angelov
017cc6738b
checker: add a hard to reach limit of 1_000_000 iterations for resolving all generics (usually <10 are enough) (#18477) 2023-06-17 22:29:36 +03:00
Turiiya
9c5aeb62b2
checker: disallow import names and import aliases, shadowing the module name (#18431) 2023-06-17 16:39:10 +03:00
yuyi
acfe785597
all: clean up with is_any_kind_of_pointer() (#18467) 2023-06-17 14:10:06 +03:00
Louis Schmieder
dbd251793e
all: add $res compile time function to get returned value in defer block (#18382) 2023-06-17 14:08:50 +03:00
yuyi
ac32d2a803
checker, cgen: fix if/match expr with continue or break in a branch (#18466) 2023-06-16 12:06:00 +03:00
Felipe Pena
d17f6f69cd
checker: fix missing check for unwrapped shift operation (#18451) 2023-06-16 09:49:24 +03:00
Felipe Pena
84cf448f2f
checker: fix enum max value validation (#18446) 2023-06-16 09:48:47 +03:00
yuyi
05f2798c88
ast: remove redundant method is_real_pointer() (#18453) 2023-06-16 09:48:24 +03:00
yuyi
073a651f7f
cgen: fix fn voidptr param calling with nonpointer rvalue (fix #18424) (#18462) 2023-06-16 09:48:12 +03:00
yuyi
1623cc3a51
fmt: fix functions with short arguments (fix #18398) (#18459) 2023-06-16 09:47:40 +03:00
Felipe Pena
ccb70b1292
checker: fix missing unwrap check for option to non-option argument (#18460) 2023-06-16 09:46:33 +03:00
Turiiya
5d0af69bfd
parser: fix dump removing empty lines (#18452) 2023-06-16 09:45:50 +03:00
Ethan Hansen
5001b17336
docs: add docstring for map.move() (#18430) 2023-06-16 09:45:16 +03:00
Felipe Pena
06583be9ec
cgen: fix fixed array of chan (#18438) 2023-06-16 09:44:53 +03:00
Turiiya
34163ae44b
checker: extend check assigning mut reference to immutable var in nested parens (#18442) 2023-06-15 02:07:25 +03:00
Turiiya
77a1f5928f
checker: include import aliases when checking for import duplicates (#18450) 2023-06-15 02:06:44 +03:00
yuyi
27b3303eeb
ast: clean up is_float()/is_float_valptr() (#18448) 2023-06-15 02:06:08 +03:00
Turiiya
bbd1027a04
fmt: remove all unnecessary parenthesis at once, instead of one pair at a time (#18441) 2023-06-14 15:05:50 +03:00
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