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

11911 Commits

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