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

12200 Commits

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