Commit Graph

1301 Commits (02e4aa0f0e675af27c66c15da30925fd5026f863)

Author SHA1 Message Date
yuyi 91c6eeeae5
cgen: fix `b := &[5, 6, 7]` (#11457) 2021-09-10 14:30:30 +03:00
Delyan Angelov 7143b8ab37
v.checker: allow assigning pointers to fn variables (fix vinix compilation) 2021-09-10 11:48:36 +03:00
Dialga 66ef27a776
tmpl: fix escaping @ (#11452) 2021-09-09 20:27:24 +03:00
Enzo 56ad5d72ef
builtin: add `.str` method for `i/usize` (#11441) 2021-09-08 13:41:08 +03:00
Ruofan XU 892971024e
parser: fix generic detection of `foo < bar<T>()` (#11434) 2021-09-08 05:54:15 +03:00
Enzo cc8ee5fb84
all: introduce `isize` and `usize` (#11437) 2021-09-08 05:53:39 +03:00
yuyi bee5e7de03
v.gen.c: fix generics array delete (#11429) 2021-09-07 20:40:21 +03:00
Delyan Angelov 0b6d585b07
v.gen.c: allow overriding of the == operator on C.Struct type aliases 2021-09-07 12:02:01 +03:00
Dialga 905c292a81
tmpl: enforce stricter line checking for html interpolation (#11413) 2021-09-07 02:21:23 +03:00
yuyi 6084c0fc54
checker, cgen: fix complex generic sumtype (fix #11392) (#11400) 2021-09-06 03:15:53 +03:00
Dialga 87f38bf6e7
tmpl: don't trim whitespace and escape \ (#11393) 2021-09-06 03:12:53 +03:00
yuyi 3fd2dd45a4
checker: do now allow type name shadowing (#11401) 2021-09-05 18:34:21 +03:00
Delyan Angelov 6b55b6d417
ci: add more details for diagnosing the sporadically failing init_global_test.v 2021-09-05 16:19:00 +03:00
yuyi 87934ecf39
cgen: fix variable name are 'array' or 'string' (fix #10991 #11343) (#11378) 2021-09-04 19:51:45 +03:00
yuyi 939a6417ce
cgen: fix reserved keywords as struct field (#11370) 2021-09-03 12:18:45 +03:00
Delyan Angelov a208138283
v.markused: support a const used as default value in struct init 2021-08-31 15:55:32 +03:00
zakuro ebed01c946
v.tests: add a test_ fn, that returns an optional (#11340) 2021-08-31 08:50:26 +03:00
yuyi f44eb88a8d
vfmt: fmt '!(a in/is b)' to 'a !in/is b' (#11335) 2021-08-30 09:45:36 +03:00
Daniel Däschle ac442abc11
checker: allow noreturn in match expr (#11126) 2021-08-29 11:57:11 +03:00
Alexander Medvednikov cf4081e2dd all: more chdir/chmod fixes 2021-08-28 12:52:48 +03:00
yuyi e90a624738
checker: fix generic fn infer variadic parameter with arrays (#11324) 2021-08-28 10:32:51 +03:00
Alexander Medvednikov 858ba25d55 os: make chdir() return error 2021-08-28 09:35:39 +03:00
crthpl a85467eb0f
cgen: fix `expr in shared_array` (#11319) 2021-08-27 11:48:32 +03:00
yuyi 4d078edb72
scanner: no longer allow `1.` float literals (#11301) 2021-08-25 14:39:37 +03:00
Lukas Neubert 3249f8f0e7
cgen: properly cast to sumtypes in array prepend and insert (#11289) 2021-08-24 06:25:09 +03:00
yuyi b80777df4b
table: fix alias of sumtype method_call (#11268) 2021-08-22 17:20:10 +03:00
Delyan Angelov ec196cfcd1
all: support overriding individual function from .v files in .c.v or .js.v files. 2021-08-22 15:51:26 +03:00
yuyi 0d81d0c0c6
table, checker: fix sumtype array appending aggregate type values (fix #11197) (#11258) 2021-08-21 17:18:01 +03:00
yuyi 6201e78201
checker: fix generic struct with non-generic interface in generic fn (#11252) 2021-08-20 09:28:26 +03:00
yuyi a440b43630
checker, cgen: fix generic struct with non_generic interface (#11240) 2021-08-20 01:13:48 +03:00
spaceface 67e8031a08
cgen: fix interface parameters in fn type aliases (#11247) 2021-08-20 01:12:31 +03:00
yuyi 3d22dc1608
all: fix formating Foo<A,B> to Foo<A, B> (#11225) 2021-08-18 17:17:21 +03:00
div72 881510e7ce
cgen: fix enum print (#11218) 2021-08-18 17:11:12 +03:00
spaceface d2ce1f74d6
ast.table: fix aggregate field type equality check (#11210) 2021-08-18 14:09:54 +03:00
spaceface 09e854c064
cgen: small interface conversion fix (#11229) 2021-08-18 13:47:57 +03:00
yuyi c51f83efba
checker: fix match expr type mismatch (#11220) 2021-08-18 08:52:01 +03:00
spaceface 7d9969ac17
all: support runtime interface conversions (#11212) 2021-08-17 21:00:27 +03:00
yuyi e1c762a616
cgen: fix assert fn_call with parentheses (fix #11207) (#11214) 2021-08-17 18:21:15 +03:00
yuyi 8521e227b4
cgen: fix if expr of multi stmts (#11208) 2021-08-16 21:48:58 +03:00
Louis Schmieder 482eecbc13
cgen: fix comptime selector reserved field names (#11199) 2021-08-16 14:58:23 +03:00
yuyi 90b052b1db
v.gen.c: fix error of if_expr in infix_expr (#11200) 2021-08-16 11:23:19 +03:00
yuyi d3cf53ec41
cgen: fix a bug with autofree in if expr (#11182) 2021-08-15 07:55:27 +03:00
Delyan Angelov deb26b92b9
cgen: support `typeof(x).idx`, as well as `iface.type_idx()` (#11178) 2021-08-14 17:22:25 +03:00
Delyan Angelov 900c37aa65
v.gen.c: support `T.typ` - an int for the type index of the generic type `T` (#11175) 2021-08-14 08:48:25 +03:00
Delyan Angelov 34d39ccb64
builtin: fix leak in rune.str(), fix leaks in most assert x == y statements in tests (#11091) 2021-08-13 18:37:34 +03:00
yuyi 083a90148d
tests: supplement multi-instances generic testing (#11170) 2021-08-13 08:38:20 +03:00
yuyi 579aa7b1b5
v.checker: fix multi insts of generics fn with generic struct (#11161) 2021-08-12 22:58:02 +03:00
yuyi 89a8854e57
v.parser: fix generics type name in if_expr (#11156) 2021-08-12 10:19:06 +03:00
yuyi 90adf4d092
v.checker: fix multi insts of generics struct with array (#11142) 2021-08-11 16:59:13 +03:00
wilesun 18be9e52be
log: avoid using string__plus memory leak (#11128) 2021-08-11 09:26:02 +03:00
Enzo da53f818df
all: initial support for closures (x64 / linux-only) (#11114) 2021-08-10 21:27:15 +03:00
Daniel Däschle 2ae77c1998
v.scanner: fix escaped backslash after string interpolation (#11118) 2021-08-10 17:04:42 +03:00
yuyi 11794039e2
v.gen.c: fix fn variadic of reference param (#11115) 2021-08-10 10:36:11 +03:00
yuyi eed8c4671f
cgen: fix fn mut arg of array (#11104) 2021-08-09 01:49:30 +03:00
yuyi 1f3f7705a2
cgen: fix struct_init with fixed array field (#11099) 2021-08-08 10:54:52 +03:00
yuyi 1d3786ff1e
v.parser: fix `if a == Abc{} {` (#11092) 2021-08-07 18:05:22 +03:00
Uwe Krüger c560d58f1e
cgen: use heuristic to detect circular reference in auto str (#11090) 2021-08-07 14:56:09 +03:00
yuyi ec39e38e14
cgen: fix generic method on alias struct receiver (#11080) 2021-08-06 21:26:54 +03:00
Daniel Däschle 3b116d2455
cgen: support embedded struct fields on sumtype common fields (#11084) 2021-08-06 21:26:19 +03:00
Uwe Krüger e89bed3e25
ci: temporarily deactivate test case for #11061 (fixes CI timeouts) (#11079) 2021-08-06 12:46:56 +03:00
Daniel Däschle 91ade5bf8c
cgen: fix shared field init (#11061) 2021-08-06 05:11:03 +03:00
Enzo 44bacfc931
cgen: fix optional generation order (#11070) 2021-08-06 03:57:34 +03:00
Daniel Däschle 8d2567740b
parser: make [..] work (#11064) 2021-08-06 03:54:24 +03:00
yuyi c30cda3daf
v.gen.c: fix error of `println(alias of struct)` (#11062) 2021-08-05 20:20:10 +03:00
Daniel Däschle 800c0e5092
vlib: remove deprecated map{} usages as well as deprecated functions (#11035) 2021-08-04 12:44:41 +03:00
yuyi 2eb11110d6
cgen: fix autofree error of array init with string variable (fix #10427) (#11041) 2021-08-04 03:39:20 +03:00
yuyi fd58e9f819
cgen: fix auto str for map of reference struct (fix #11024) (#11028) 2021-08-03 08:03:00 +03:00
Uwe Krüger 6068777e03
parser/checker: deduce type of global from initialization expression (#11005) 2021-07-31 16:35:19 +03:00
Delyan Angelov 08016ab374
v.gen.c: add vlib/v/gen/c/coutput_test.v, to ease testing of produced C output 2021-07-31 12:14:56 +03:00
Delyan Angelov 26b7712bbe
tests: add a regression test for the comptime evaluated consts, using a _constructor function 2021-07-30 20:33:08 +03:00
Louis Schmieder 0bb587c8c2
checker: fix defer ident handling & fix defer optional error message (#10975) 2021-07-30 20:29:06 +03:00
Uwe Krüger a7c2aaf35b
cgen: initialize globals directly for simple cases (#11002) 2021-07-30 19:20:45 +03:00
Daniel Däschle 6fa8e4269e
checker: force interface init (#10910) 2021-07-30 03:18:20 +03:00
Uwe Krüger 44d8dcc418
ci,globals: hot fix for hanging test case (#10997) 2021-07-29 22:06:08 +03:00
Uwe Krüger 08aa6c08f6
all: more improvements for global variables (#10986) 2021-07-29 10:57:31 +03:00
Uwe Krüger abd17ddb6a
cgen: initialize globals with default initializer when none is given. (#10979) 2021-07-27 20:14:30 +03:00
Delyan Angelov 6134c4870b
v.util: extract v.util.version, use it to speed up building `v repl`, `v up` and `v doctor` 2021-07-27 12:59:56 +03:00
yuyi cb7be87d4e
parser: fix struct init and assign using `sql` variable (#10968) 2021-07-26 21:14:31 +03:00
yuyi 4cf91a28f6
checker: fix generics interface with multi generic types (#10964) 2021-07-26 08:54:57 +03:00
Delyan Angelov b44f81528f
v.gen.c: fix codegen for `const a = u64(5) + 5` 2021-07-26 08:06:59 +03:00
Delyan Angelov db5e0f2117
v.gen.c: fix cgen regression after f457b94 (prevented vinix builds), add tests 2021-07-25 23:31:23 +03:00
yuyi ab20b8c53a
cgen: fix generics interface with multi generic structs (#10950) 2021-07-25 15:54:22 +03:00
Delyan Angelov 0bcb955258
checker: fix regression of anon fns that have loops with break/continue 2021-07-25 10:46:31 +03:00
Daniel Däschle a09324faa9
scanner: remove pos 0 hack which is no longer needed (#10935) 2021-07-25 01:13:07 +03:00
yuyi 29cda252f1
builtin: fix multiple array init (#10929) 2021-07-23 23:25:12 +03:00
Louis Schmieder 3d907caa3f
gen: fix comptime attrs stmts (#10925) 2021-07-23 23:24:56 +03:00
Delyan Angelov 6313ed6a79
checker,cgen: fix `-os cross` support for `$if !solaris { #include <sys/ptrace.h> }` 2021-07-23 16:24:42 +03:00
yuyi f5776eb259
cgen: fix multiple assign array index (#10926) 2021-07-23 15:46:18 +03:00
Louis Schmieder 26db3b0995
orm: redesign orm (re-write it in V) (#10353) 2021-07-23 12:33:55 +03:00
Delyan Angelov ad41cd5c6f
cgen: fix `dump(fn_name)` (closes #10912) 2021-07-23 12:24:12 +03:00
Daniel Däschle 2c0c211c79
all: implement accessing embedded field and method of aggregate (#10907) 2021-07-23 01:14:39 +03:00
Daniel Däschle ed234188b7
scanner: fix single backslash in raw string (#10890) 2021-07-22 17:02:11 +03:00
Daniel Däschle 054bd67490
cgen: don't change field name of c structs (#10894) 2021-07-22 01:37:49 +03:00
Delyan Angelov 06de9c799c
Revert "gen: add type name to comp for (#10881)"
Reason: 713a079 is more general and provides the same information.

This reverts commit dd3ee20566.
2021-07-21 23:56:00 +03:00
Louis Schmieder dd3ee20566
gen: add type name to comp for (#10881) 2021-07-21 23:45:08 +03:00
Uwe Krüger 713a079684
cgen: properly support `typeof()`, sizeof(), ... in compile time `for` (#10896) 2021-07-21 23:43:30 +03:00
Daniel Däschle 12884e9eb7
checker: disallow invalid pointer arithmetic (#10888) 2021-07-21 23:39:49 +03:00
yuyi ec87f4ee99
table: fix error of generics interface declaration (#10883) 2021-07-21 15:24:52 +03:00
Daniel Däschle aebb028349
gen: fix C keyword escape to _v_ instead of just v_ (#10876) 2021-07-21 11:46:04 +03:00
Delyan Angelov d41a4ec662
v test-self: check unsafe_test.v, match_test.v, match_in_fn_call_test.v with -cstrict 2021-07-20 19:34:16 +03:00