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

11182 Commits

Author SHA1 Message Date
Hitalo Souza
45854882b9
builtin, cgen: support FieldData.unaliased_typ, use it for generalising x.json2 (able to encode type aliased struct fields) (#16469) 2022-11-20 11:18:14 +02:00
Swastik Baranwal
06764bc559
checker: disallow taking address of optional fields for now (#16487) 2022-11-19 22:03:39 +02:00
shove
5ef4e0c9be
cgen: fix "fn()?.field?" expr cgen error (fix #16482) (#16488) 2022-11-19 20:30:24 +02:00
Delyan Angelov
6b0743bb07
x.json2: add support for i8, i16, u8, u16, u32 (fix #16484) 2022-11-19 12:03:04 +02:00
shove
79b4cfb42a
all: correct the first letter of error message from uppercase to lowercase (#16481) 2022-11-19 10:43:25 +02:00
shove
092f984708
ast, cgen: fix match struct.field? {...} (#16478) 2022-11-19 10:42:36 +02:00
RGBCube
2d9808b2dc
term: add term.slow_blink/1 and term.rapid_blink/1 (#16470) 2022-11-18 19:03:14 +02:00
Přemek Vyhnal
92be90300c
doc: mention the $embed_file return type, and link to its documentation (#16467) 2022-11-18 12:54:17 +02:00
Hitalo Souza
74613bd636
x.json2: generic-based encoder (finish PR#15137) (#16464) 2022-11-18 11:09:24 +02:00
Swastik Baranwal
44e2149baa
cgen: add escaping for near, far and huge keyword ptrs (#16463) 2022-11-17 23:42:09 +02:00
shove
ae816b1719
parser: fix if-guard for struct optional fields (fix #16460) (#16461) 2022-11-17 15:30:16 +03:00
shove
74efd2621b
checker: fix struct field unsign type check (fix #16457) (#16458) 2022-11-17 09:20:42 +02:00
Swastik Baranwal
360457e021
checker: disable overriding and importing of builtin sym types (#16452) 2022-11-17 09:10:03 +02:00
yuyi
cb9e945aa0
cgen: clean and improve need_tmp_var_in_match() (#16451) 2022-11-17 09:08:45 +02:00
shove
37700502f5
all: implement struct field optional and disallow storing result (#16392) 2022-11-17 07:51:50 +02:00
Spydr
41dd8985fc
native: use enum values instead of strings for identifying builtin functions (#16450) 2022-11-17 07:44:08 +02:00
shove
49277f7aa8
cgen: fix dump(nil), dump(voidptr) (fix #16455) (#16456) 2022-11-17 07:41:07 +02:00
yuyi
523ccbcb70
cgen: fix if expr with sumtype value of map (#16445) 2022-11-16 14:59:34 +02:00
Larpon
b60132d2ac
checker: rename test assing -> assign (#16446) 2022-11-16 14:46:36 +02:00
Delyan Angelov
9bb1867be0
os: refactor err == IError(os.Eof{}) to err is os.Eof 2022-11-16 00:53:45 +02:00
Delyan Angelov
ddc1a1fc08
checker,cgen: support const y = term.yellow, then println(y('abc')) (#16436) 2022-11-15 19:51:57 +02:00
Swastik Baranwal
dc81d755e8
checker: disallow using unsafe { none } (#16431) 2022-11-15 18:55:07 +02:00
Basil
fe2db64384
tests: add unsafe block for the int->enum cast in bench_compare_tokens.v (#16438) 2022-11-15 18:34:44 +02:00
yuyi
017ace6ea7
vfmt: change all '$expr' to '${expr}' (#16428) 2022-11-15 16:53:13 +03:00
Ikko Ashimine
56239b4a23
toml: fix typo in parser.v (#16430) 2022-11-14 21:08:22 +03:00
Swastik Baranwal
58cee6ccc8
checker: disallow none type in struct fields (#16425) 2022-11-14 17:48:00 +03:00
yuyi
91ecfb917c
checker: fix generic fn casting &u8 to &alias to u32 (#16420) 2022-11-14 17:37:53 +03:00
Alexander Medvednikov
37583b04b4 gg: make create_image's receiver immutable 2022-11-14 17:25:42 +03:00
Dominik Pytlewski
f44af02e32
sqlite: affected rows count (#16426) 2022-11-14 17:23:42 +03:00
yuyi
1a4d1aece4
checker: minor cleanup and optimization in method_call() (#16421) 2022-11-13 22:33:36 +02:00
Hitalo Souza
38555a92e1
time: change days_from_civil to days_from_unix_epoch, add date_from_days_after_unix_epoch (#16363) 2022-11-13 14:30:14 +02:00
Hitalo Souza
7cfaacbe7a
doc: add more examples to vlib/time/README.md (#16362) 2022-11-13 13:48:07 +02:00
yuyi
5a28699edb
cgen: minor cleanup in auto_str_methods.v (#16411) 2022-11-13 11:59:32 +03:00
yuyi
f31a3b4250
checker: check sumtype argument mismatch in generic methods (fix #16340 part2) (#16403) 2022-11-13 11:58:53 +03:00
yuyi
e8e75251b4
vweb: change optional to result in vweb_test (#16412) 2022-11-13 11:57:35 +03:00
Taegon Kim
b54f9c2949
parser: fix attributes with optional or result types (#16401) 2022-11-12 18:35:01 +03:00
Junko
5bb058e35b
gg: revamp the Context pipeline for more effects, implement an additive effect (#16394) 2022-11-12 09:39:18 +02:00
Delyan Angelov
12f01318c2
v.live, cgen: enable using [live] in modules too (monitor used .v files for changes, not just the top level one) (#16396) 2022-11-11 22:06:42 +02:00
yuyi
c9ce5f89c7
builtin: fix f32.str() (#16391) 2022-11-11 13:56:45 +02:00
Delyan Angelov
c1a44efc78
tests: ensure that const loading is stressed in live_test.v, to prevent -live regressions for more complex examples like bounce.v 2022-11-11 10:45:54 +02:00
Delyan Angelov
e9fac05775
cgen: fix v -cc tcc -live run examples/hot_reload/graph.v too 2022-11-11 10:20:18 +02:00
Delyan Angelov
202f9574ec
cgen: fix v -live -cc gcc examples/hot_reload/graph.v 2022-11-11 10:20:17 +02:00
shove
3a85955d22
all: rollback to old interpolation (step 4) (#16383) 2022-11-11 11:06:01 +03:00
yuyi
993e21e85b
checker: check fntype mismatch of struct field init (fix #16372) (#16381) 2022-11-10 20:19:19 +02:00
yuyi
196b01aef7
all: minor cleanup of optional and result (#16382) 2022-11-10 20:14:20 +02:00
shove
26d643fc5d
all: rollback to old interpolation (step 3) (#16380) 2022-11-10 15:05:34 +03:00
Delyan Angelov
bbae7a705f
checker: fix incomplete implicit ast.CastExpr{} replacements 2022-11-10 13:59:22 +02:00
Delyan Angelov
7543b769ad
checker: allow for all.children := { "abc": rect, "def": rectangle()}, where children is map[string]Widget, without needing explicit casts for all the map values 2022-11-10 13:59:21 +02:00
yuyi
46921480fc
comptime: fix embed file with variable argument (fix #16360) (#16375) 2022-11-10 04:09:51 +02:00
Swastik Baranwal
bbd0603b41
checker: add check for unknown generic types in type alias decl (#16377) 2022-11-10 04:08:00 +02:00
Dominik Pytlewski
2634b99769
sqlite: expose SQLite's VFS layer (#16359) 2022-11-09 19:57:06 +02:00
yuyi
7e000bb6ae
embed_file: correct test file name (#16376) 2022-11-09 19:55:51 +02:00
shove
a199a9afab
all: rollback to old interpolation (step 2) (#16373) 2022-11-09 17:37:27 +03:00
shove
dd5f6186a1
all: rollback to old interpolation (step 1) (#16370) 2022-11-09 11:57:54 +03:00
Swastik Baranwal
7830597b66
checker: add check for multi level fn aliases (#16361) 2022-11-09 10:36:39 +02:00
Taegon Kim
ce79c9c876
checker: extract valid_comptime_ constants into v.checker.constants (#16371) 2022-11-09 10:07:21 +02:00
yuyi
c7d0f0561e
scanner: fix new string interpolation - nested quotes (#16345) 2022-11-08 17:51:02 +03:00
Taegon Kim
bc30608e92
checker: always trigger error for anon fns without a body block (#16358) 2022-11-08 15:50:59 +02:00
yuyi
1d04b71c91
cgen: fix generic sumtype auto str (#16355) 2022-11-08 10:49:09 +02:00
Taegon Kim
dc9997f58c
fmt: fix - v fmt transforms compile time options in some cases (#16351) 2022-11-08 08:05:48 +02:00
pancake
407bb6641f
cgen: fix #16326 -cstrict with $embed_file (#16343) 2022-11-06 15:47:06 +02:00
yuyi
25b8ae2189
parser: minor cleanup in comptime.v (#16338) 2022-11-06 08:23:28 +03:00
pancake
e3fed4c3eb
v.pkgconfig: fix infinite recursion bug when parsing dependencies (#16342) 2022-11-06 08:22:50 +03:00
Swastik Baranwal
ca484430e0
checker: check int overflow for const vars (#16332) 2022-11-06 08:22:28 +03:00
yuyi
d701cf561c
scanner: fix new string interpolation: print('{n:10}') (fix #16321) (#16325) 2022-11-06 08:20:21 +03:00
Delyan Angelov
056f1b7c06
parser: improve error message for fn (a Foo<Foo<T>>) baz(){} 2022-11-05 19:58:22 +02:00
Delyan Angelov
27d8f2371d
ci: fix go->spawn in the examples in vlib/context/README.md too 2022-11-05 14:02:24 +02:00
Delyan Angelov
bf00e9bdb8
tests: fix vlib/v/fmt/tests/*_expected.vv files too 2022-11-05 11:30:49 +02:00
Alexander Medvednikov
02acb8433c tests: fix keep tests with spawn 2022-11-05 12:13:20 +03:00
Alexander Medvednikov
e81e0ac708 fmt: replace go with spawn 2022-11-05 10:46:40 +03:00
Alexander Medvednikov
a082328e40 parser: make spawn behave like go 2022-11-05 10:41:30 +03:00
Alexander Medvednikov
141c404d45 all: new keyword "spawn" 2022-11-05 09:43:38 +03:00
Delyan Angelov
b52b8429d4
vfmt: implement support for // vfmt off and // vfmt on, with it, v fmt -w . now works. (#16335) 2022-11-05 09:08:01 +03:00
yuyi
131d07aede
parser: fix embed file to_string() in if guard (#16334) 2022-11-05 09:05:38 +03:00
penguindark
eb0c46e13a
regex: fix for last group with OR inside (#16324) 2022-11-04 08:19:33 +02:00
yuyi
fd4045931a
scanner: fix the new string interpolation - println('{s == 'hello'}') (fix #16318) (#16319)
* scanner: fix the new string interpolation - println('{s == 'hello'}')

* fix vlib/v/eval/gen/infix_gen.v
2022-11-03 23:06:11 +02:00
shove
0e8d148fe7
checker: give a checker error message on print(1), print(2) (fix #16311) (#16314) 2022-11-03 17:28:59 +02:00
Taegon Kim
962d0babdc
js: fix match true {} in the js backend (#16317) 2022-11-03 17:25:45 +02:00
yuyi
a979b3aab8
scanner: fix new string interpolation - print('{a}{{b}}') (#16309) 2022-11-03 14:04:41 +02:00
shove
fa4a45d37f
all: make fmt support two kinds of interpolation at the same time. (#16308) 2022-11-03 13:32:07 +02:00
shove
5c7ceb16dd
checker: fix the check of types not implemented by interfaces in infix key_is and not_is (fix #16282 #16298) (#16284) 2022-11-03 12:18:30 +02:00
Taegon Kim
14f90b1196
cgen: fix compile time reflection for method types (.typ was always 0) (#16310) 2022-11-03 12:16:01 +02:00
Delyan Angelov
f427a5241a
os,tools: add os.vtmp_dir()
Use it to consistently place all temporary files created by tests in a overridable folder specific to the user, that is easy to cleanup later.

NOTE: os.temp_dir() on macos returns `/tmp`, and using `/tmp/v` is a problem when multiple unix users are trying to access/create/write to it.
2022-11-03 10:19:51 +02:00
shove
dddcf423db
all: replace x[x.len-1] with x.last() (#16296) 2022-11-02 21:08:33 +02:00
Taegon Kim
d4c83f62b2
doc: fix a broken example in json2's README.md (#16293) 2022-11-02 19:29:43 +02:00
shove
5fe4888874
parser: fix raw string as map keys (fix #16285) (#16289) 2022-11-02 16:04:22 +02:00
Spydr
075c025999
native: don't generate duplicate strings (#16281) 2022-11-02 15:48:25 +02:00
shove
0fa6f60fac
cgen: fix call method with an empty args on an interface with variadic (fix #16286) (#16290) 2022-11-02 15:45:39 +02:00
yuyi
4e05e07b94
checker: check undefined ident in closure anon fn (fix #16274) (#16278) 2022-11-02 15:41:44 +02:00
yuyi
54b6b43922
cgen: fix dump(none) (#16287) 2022-11-02 14:21:28 +02:00
shove
e5d1881e1a
checker: fix multiple pointer check of fn and method args (fix #16261 #16262 #16263) (#16275) 2022-11-01 19:05:34 +02:00
Delyan Angelov
968435fca6
toml: clearly mark the workaround [manualfree] tags with [autofree_bug; manualfree], so they can be found/removed when -autofree is fixed 2022-11-01 18:08:38 +02:00
Delyan Angelov
ffd9b9bae1
ci,toml: add a workaround for buggy -autofree (skip -autofree compilation for some of the toml functions, that prevent VED to compile cleanly on the CI) 2022-11-01 17:52:41 +02:00
penguindark
362adfae3a
regex: fix a bug for CC token not correctly parsed in groups (#16272) 2022-11-01 08:58:29 +02:00
Alexander Medvednikov
135b1ccb14 V 0.3.2 2022-11-01 05:41:13 +03:00
Spydr
1b721250e0
native: enable printing for all supported expressions (#16270) 2022-10-31 17:43:02 +02:00
yuyi
339bd0c4b5
checker: check fn type mismatch of return result type fn (#16269) 2022-10-31 14:05:43 +02:00
shove
c3e209a634
scanner: prevent resolving to nested interpolation (fix #16240) (#16259) 2022-10-31 10:47:32 +02:00
yuyi
0390a7a988
cgen: fix return match expr of sumtype result (#16264) 2022-10-30 20:26:33 +02:00
yuyi
64cbadc6f1
scanner: fix new string interpolation println('{a}{b}{c}{d}') (#16258) 2022-10-30 20:18:31 +02:00
Delyan Angelov
9edb48571f
pref,cgen: support -no-bounds-checking, instead of -d no_bounds_checking, and make it enable direct_array_access for all fns/methods. 2022-10-30 14:39:45 +02:00
lemon
54b623743d
native, checker: cast float_literal to f32 explicitly in code gen (#16254) 2022-10-30 10:31:18 +02:00
shove
93d765eeee
cgen: fix dump() multi ptr (fix #16247) (#16251) 2022-10-29 10:07:28 +03:00
Swastik Baranwal
a988ef3474
checker: add check for mut ident but not if mut ident is for interfaces (#16214) 2022-10-29 06:36:44 +03:00
yuyi
ee782e9119
checker: fix return error with multi_return optional (#16250) 2022-10-29 06:34:45 +03:00
Hitalo Souza
78c4b9a7bb
doc: one single file for vweb (#16248) 2022-10-29 06:33:48 +03:00
Delyan Angelov
02c3af2432
all: add support for enum Xyz as u64 { + tests (#16246) 2022-10-29 06:32:20 +03:00
Delyan Angelov
a0a055cc4c
ci: fix failures after c6158e4 2022-10-28 21:52:52 +03:00
Alexander Medvednikov
c6158e4519 all: remove unnecessary IError() casts 2022-10-28 19:08:30 +03:00
yuyi
daa2f90023
scanner: fix and resotre string interpolation tests (#16242) 2022-10-28 18:39:32 +03:00
shove
5daa38fdb1
util: fix smart_quote, so that v -cstrict file.v works with println('\\$') (fix #16230) (#16233) 2022-10-28 12:41:13 +03:00
StunxFS
ef1696b3e1
v.util: add path_styled_for_error_messages/1 (#16219) 2022-10-28 11:27:00 +03:00
shove
af56719f9d
fmt: fix compiler_error('...') broken by fmt (fix #16218) (#16231) 2022-10-28 06:48:09 +03:00
StunxFS
219079e3a6
v.eval: consistency in commit hash shown on panic (#16227) 2022-10-28 06:47:50 +03:00
shove
c5ee33b7aa
cgen: fix comparing struct with pointers to interface values (fix #16074) (#16215) 2022-10-28 06:47:31 +03:00
yuyi
992106c6f7
tests: fix ci errors temporary (#16237) 2022-10-28 06:46:20 +03:00
yuyi
0ca5b1f6ff
cgen: fix $tmpl() in returning match expr (fix #16109, fix #16124) (#16229) 2022-10-27 18:03:27 +03:00
Alexander Medvednikov
e356a74a4c tests: disable a single string interpolation test for now 2022-10-27 18:02:25 +03:00
Alexander Medvednikov
cc58d6a919 all: string interpolation fixes 2022-10-27 17:52:30 +03:00
Alexander Medvednikov
098db89b85 encoding.csv: remove unnecessary IError() cast 2022-10-27 11:30:08 +03:00
Alexander Medvednikov
c9934672c4 http: fix request_test.v 2022-10-27 11:28:44 +03:00
Alexander Medvednikov
a134c09718 os: fix font.v compilation 2022-10-27 11:13:43 +03:00
Alexander Medvednikov
e1ffc76efd tests: fix some interpolation tests 2022-10-27 11:12:15 +03:00
Alexander Medvednikov
604f19adba scanner: : str inter fix 2022-10-27 11:08:32 +03:00
Alexander Medvednikov
18c7da9a5e all: new string interpolation "hello {name}!" 2022-10-27 11:01:01 +03:00
StunxFS
e6fad82b87
v.eval: support unsafe expr (#16224) 2022-10-27 10:38:57 +03:00
yuyi
064e35fbc4
parser: fix $tmpl with single quotes (fix #16154) (#16216) 2022-10-26 19:38:08 +03:00
yuyi
992b502198
db, json, time, term: change optional to result (#16201) 2022-10-26 11:26:28 +03:00
lemon
2a7420f572
native: add initial support for f32/f64 (#16210) 2022-10-26 10:37:46 +03:00
shove
fef4dd94e9
ast, checker, cgen: enable unsafe { nil } with reference to interface fields in structs (fix #16198) (#16199) 2022-10-26 09:39:23 +03:00
yuyi
53c6e46a51
parser: correct comptime path not found error position (fix #16189) (#16209) 2022-10-26 09:33:58 +03:00
Delyan Angelov
b2ab7a333b
transformer: improve -trace-calls output, enable tracing of builtin fns, show elapsed ns and used stack size (#16205)
Make it easier to change later, by splitting the tracing call into its own `v.trace_calls` module, so that it can be iterated upon without changing the compiler itself.
2022-10-25 20:56:12 +03:00
yuyi
03bef24456
checker: fix returning embedded error result (#16208) 2022-10-25 18:17:48 +03:00
Alexander Medvednikov
690b2c0b9d doc: more Result fixes 2022-10-24 16:26:19 +03:00
yuyi
4aa4af4afb
cgen: fix vweb app route methods filtering (#16186) 2022-10-24 12:51:20 +03:00
shove
701586fa84
checker, cgen: enable calls to methods of the parent element array, when an array element is an alias (fix #16169) (#16187) 2022-10-24 12:02:24 +03:00
Swastik Baranwal
f25dfa9d8c
checker: add error for unwrapped result in infix expr (#16175) 2022-10-24 11:53:35 +03:00
yuyi
48f43f11ea
all: change optional to result in vlib/v. (#16177) 2022-10-24 11:51:20 +03:00
Ikko Ashimine
26986104f9
cgen: fix typos (#16174) 2022-10-23 22:28:58 +03:00
yuyi
7b8044b8c4
cgen: fix using 'array' name variable in array_init (#16168) 2022-10-23 22:23:15 +03:00
Wertzui123
340611c298
net: add a net.tcp_socket_from_handle_raw function (#16167) 2022-10-23 22:21:46 +03:00
Delyan Angelov
9241b5572b
net.http: skip network timeouts on socket accept in the main http.Server loop 2022-10-23 17:08:27 +03:00
yuyi
3f035205b3
cgen: fix return result in or block (#16158) 2022-10-23 13:11:11 +03:00
shove
721dbec2e4
checker: fix missed check on the initialization of result struct fields (fix #16152) (#16153) 2022-10-22 20:02:11 +03:00
Spydr
83338e044a
native: fix small issues with compile-time conditionals (#16149) 2022-10-22 19:56:19 +03:00
shove
b8b2b4ad0a
checker: fix the pos information in the warning message, when the label is not used (fix #16146) (#16148) 2022-10-22 19:26:38 +03:00
Delyan Angelov
a23e06184d
checker: fix taking a closure of x, where x may be coming from a non trivial parent scope, like for x in y { or x,y := multi() (fix #16141) (#16147) 2022-10-22 15:53:27 +03:00
l-m
a139bed785
builtin: add string.trim_indexes method, that can be used in string.trim, but also separately from it (#16144) 2022-10-22 12:56:05 +03:00
yuyi
b6faf82911
parser: minor optimization in sql_expr() (#16145) 2022-10-22 12:11:45 +03:00
yuyi
9288c75c94
parser: simplify and cleanup check_undefined_variable() (#16140) 2022-10-22 11:26:21 +03:00