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

11788 Commits

Author SHA1 Message Date
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
yuyi
038fa6c8ab
checker: remove warning of casting same reference type (#17579) 2023-03-10 11:07:09 +02:00
Felipe Pena
23e385ee8a
json: fix json decode/encode with option type (#17393) 2023-03-10 10:49:26 +02:00
yuyi
b42a3f43a5
crypto, math: change option to result (#17580) 2023-03-10 10:31:05 +02:00
Felipe Pena
32d09544d7
cgen, checker: fix dump() to return option values (#17563) 2023-03-09 20:29:25 +02:00
yuyi
71c3b66ecf
datatypes: fix linked list of map (fix #17570) (#17573) 2023-03-09 14:26:01 +01:00
Felipe Pena
d353dd6e8a
cgen: fix selector accessing field (#17567) 2023-03-09 14:24:43 +01:00
yuyi
737e7f6410
cgen: fix generic array of alias (#17571) 2023-03-09 13:57:14 +01:00
Felipe Pena
638805be63
cgen: fix code for unwrap option on print (#17545) 2023-03-08 20:55:19 +01:00
Felipe Pena
785546f277
json2: fix decode result with option fields (#17561) 2023-03-08 20:54:28 +01:00
Felipe Pena
b19052949f
cgen: fix array initialization with options (#17562) 2023-03-08 20:54:00 +01:00
Felipe Pena
a0b3379d4a
cgen: fix fn option-only return print (#17547) 2023-03-08 20:53:23 +01:00
Felipe Pena
e253256c30
cgen: fix option unwrap on assignment (#17551) 2023-03-08 20:52:24 +01:00
ChAoS_UnItY
ae6a48c0e3
all: rename it to index in array inits (#17543) 2023-03-08 20:51:45 +01:00
Felipe Pena
2597efa7f6
cgen: fix struct initialization with option value (#17539) 2023-03-07 23:53:56 +03:00
Felipe Pena
b4f0bb247d
cgen: fix default initialization of option array with none values (#17536) 2023-03-07 23:53:07 +03:00
yuyi
b6c4e88462
checker: check error of casting to interface (fix #17522) (#17531) 2023-03-07 23:49:53 +03:00
Felipe Pena
b85f71d00f
cgen: fix default init value for an array of option (#17538) 2023-03-07 20:04:16 +02:00
Felipe Pena
792b822091
cgen: fix dump(option_value) inside a generic function (#17537) 2023-03-07 18:13:19 +02:00
Felipe Pena
32751440b6
checker: fix missing check for none type on or block on non-option (#17529) 2023-03-07 18:11:03 +02:00
Felipe Pena
68cab00ded
cgen: fix or-block with return void statement (#17527) 2023-03-07 15:01:46 +01:00
Felipe Pena
9826310882
cgen: fix struct initialization for nested option struct (fix #17524) (#17525) 2023-03-07 09:30:45 +01:00
Felipe Pena
1e416de627
checker: fix const init with comptime (#17528) 2023-03-07 09:15:46 +01:00
Ikko Eltociear Ashimine
784592af83
os: fix typo in os.v (#17519) 2023-03-07 08:30:37 +01:00
ChAoS_UnItY
6e670ec908
v: support interface field compile time reflection (#17503) 2023-03-07 08:52:40 +02:00
Alexander Medvednikov
d7a418fbb5 pref: no-skip-unused 2023-03-06 14:13:29 +01:00
yuyi
65a627d72b
checker: allow aa := AA{}, when AA has an option field, that is a struct, that has a [required] tag on its fields (#17516) 2023-03-06 10:16:05 +02:00
Wertzui123
77b6bc1c1a
net.websocket: fix a typo (allready -> already) (#17512) 2023-03-06 10:05:17 +02:00
Felipe Pena
7de3485bd2
cgen: fix multi return with option type (#17489) 2023-03-05 11:41:19 +01:00
Petr Makhnev
1a48d08d7a
cgen: add calls to all typeof functions for interfaces and sum-types (#17490) 2023-03-04 14:59:00 +02:00
Tim Marston
3f8821b8d8
cgen: unwrap and c-mangle field selectors in or blocks (#17495) 2023-03-04 11:52:08 +02:00
yuyi
6944d54257
parser, cgen: fix option variable error (fix #17460) (#17479) 2023-03-04 11:47:49 +02:00
yuyi
30c205ef2c
cgen: fix printing map reference value (#17496) 2023-03-04 11:35:38 +02:00
l-m
6f7192359a
wasm: bug fixes and memory based changes (#17497) 2023-03-04 11:24:33 +02:00
Felipe Pena
72cbca9653
checker: fix and improve return stmt error messages (#17477) 2023-03-04 09:32:55 +02:00
Felipe Pena
c5832379e7
checker, cgen, parser: fix Option/Result error messages (capitalized) (#17486) 2023-03-04 09:02:57 +03:00
Alexander Medvednikov
0ba0fb256f checker: check the type of SizeOf 2023-03-03 18:45:18 +01:00
walking devel
5454562d2c
checker, parser, orm: remove redundant & for sum type value arguments to functions with expr &ast.Expr parameters (#17482) 2023-03-03 14:35:12 +02:00
l-m
9c9adb125b
doc: ignore builtin/wasm (#17480) 2023-03-03 12:35:21 +02:00
walking devel
5e2ff246c8
cgen: pass sum type values automatically by reference too, when functions require that (#17476) 2023-03-03 09:11:15 +02:00
Felipe Pena
904f984367
checker: fix or-block expected type checking (#17469) 2023-03-03 08:30:44 +02:00
yuyi
17000ef7b6
checker: check option fn returning error (fix #17423) (#17438) 2023-03-02 15:49:50 +02:00
Felipe Pena
8f7c35552d
fmt: fix formatting for $compile_warn (#17450) 2023-03-02 15:40:53 +02:00
Delyan Angelov
9fc2860074
checker: fix compiler panic for for k, mut val in app.field[x].values { (#17468) 2023-03-02 15:40:14 +02:00
Delyan Angelov
e2daa84a33
ci: add windows and macos jobs for checking the wasm backend too (#17451) 2023-03-01 21:53:03 +02:00