Commit Graph

853 Commits (7333b1706c40e3e70d4af8e24aca4b9d838d6715)

Author SHA1 Message Date
Louis Schmieder 0d204603d1
gen: fix generic comp time if (#8254) 2021-01-21 21:17:44 +02:00
yuyi 59c3e98c16
cgen: fix complex map_fixed_array (#8209) 2021-01-21 12:45:37 +01:00
yuyi f13ba3a9a8
cgen: fix for_in_mut_val for maps (#8221) 2021-01-21 12:44:22 +01:00
Uwe Krüger 3ecbf78707
cgen: support explicit array handling even in [direct_array_access] functions (#8241) 2021-01-21 12:43:54 +01:00
Daniel Däschle c6d6690064
checker: fix if expr infix (#8215)
* checker: fix if expr infix

* remove debugger code

* fmt

* remove debug

* add test cases
2021-01-21 12:42:24 +01:00
Enzo 55efd8309a
parser: fix parsing interface methods with varargs (#8229) 2021-01-20 23:15:02 +02:00
Alexander Medvednikov 57af8570fe tests: another pointer struct test 2021-01-20 09:24:12 +01:00
joe-conigliaro 97ebecc5f4
usecache: get all tests running with -usecache enabled by default (p.1) (#7699) 2021-01-20 06:04:59 +01:00
yuyi 985ef52872
cgen: fix child struct's default values not assigned (#8202) 2021-01-19 17:10:22 +01:00
Ruofan XU 103901a5cb
example/test: add a binary search tree example and test (#8145) 2021-01-19 15:18:38 +02:00
Uwe Krüger 5067046538
parser: support `x = a[k] ?` propagation for arrays and maps (#8199) 2021-01-19 14:46:47 +02:00
yuyi 15cc1cd884
cgen: fix high order map assignment (#8198) 2021-01-19 14:31:24 +02:00
Delyan Angelov 85bcfdd636
checker: handle `a[i] or { statements expr }` the same as the other or blocks 2021-01-19 09:28:34 +02:00
Uwe Krüger b74690cbec
builtin, checker, cgen: implement `x = a[k] or { ... }` for maps and arrays (#8193) 2021-01-19 06:06:57 +01:00
yuyi a65b73d3e4
cgen: fix for_in_fixed_array (fix #8186) (#8195) 2021-01-19 05:50:23 +01:00
Uwe Krüger 5cc591b2b6
all: support generic `chan` (#8188) 2021-01-18 18:37:45 +01:00
yuyi 5ddb70940e
cgen: fix map_fixed_arrays str error (fix #8170) (#8178) 2021-01-18 10:34:29 +01:00
yuyi 6c87c25ef1
cgen: fix `for _,mut j in arr` for fixed arrays (fix #8163) (#8167) 2021-01-18 06:05:38 +01:00
yuyi 73fd4396c3
parser: fix fixed array using const size (fix #8144) (#8161) 2021-01-18 06:03:03 +01:00
Delyan Angelov 75af639721
checker: allow ptr++/ptr-- in unsafe{}, for any kind of pointer, except voidptr 2021-01-17 18:09:25 +02:00
BigBlack 28ed4da1ce
cgen: fix `array_slice(*a, 0, a.len)` C error, generated for `a[..a.len]`, for a `mut a []int` (#8168) 2021-01-17 17:22:23 +02:00
Uwe Krüger e4850cd6dd
cgen: fix `for` iteration over fixed array literal (#8159) 2021-01-17 10:44:15 +01:00
yuyi 9376c57a51
cgen: fix for_in_mut_val (fix #8087) (#8129) 2021-01-17 05:32:34 +01:00
Delyan Angelov 5ae55731b9
embed: move to `v.embed_file`, fix CI failing test 2021-01-16 20:03:07 +02:00
Delyan Angelov 5c3ef588c3
live: move to vlib/v/live 2021-01-16 15:05:01 +02:00
Delyan Angelov 263fb7d7a8
checker: fix `instance.cb_field(mut arg)` 2021-01-15 20:28:42 +02:00
Uwe Krüger 1c6fe83408
parser: fix parsing of `go` call expression (#8138) 2021-01-15 19:47:49 +02:00
Ruofan XU 5de287a6e7
tests: add test of sumtype-based binary tree (#8121) 2021-01-15 15:10:30 +02:00
Uwe Krüger 8d014d4646
sync: allow `go` routine join with return value (#8125) 2021-01-15 13:45:26 +01:00
BigBlack 80008a40e2
fix fixed_array slice ommit high_value (#8025) 2021-01-15 10:28:20 +01:00
yuyi 0945efebf1
cgen: fix anon_fn_call (#8120) 2021-01-15 10:25:30 +01:00
Larpon f73500f2fe
all: add support for the `x := $embed_file('v.png')` compile time call (#8048) 2021-01-14 16:20:11 +02:00
yuyi a2efb5319d
all: change `[1,2,3]!!` to `[1,2,3]!` (#8101) 2021-01-14 03:51:13 +01:00
zakuro 47536df2d0
table: remove nr_dims from Array (#8053) 2021-01-13 23:43:19 +01:00
Delyan Angelov 0d25091afd
tests: fix random color mismatches in the CI 2021-01-13 21:27:30 +02:00
Daniel Däschle 2030875c0a
gen: fix go call with generic function (#8093) 2021-01-13 17:35:50 +02:00
Nick Treleaven a1245de25b
gen: fix interface method call name that is a C reserved word (#8091) 2021-01-13 16:37:47 +02:00
Ruofan XU 245ed9160a
gen: fix `mut arr [3]int` as a fn argument (#8085) 2021-01-13 15:52:46 +02:00
Nick Treleaven ac85257ea0
parser: fix sizeof(mod.Type), fix checking sizeof expression (#8065) 2021-01-13 06:13:39 +01:00
yuyi dd6febf6fa
cgen: fix gen_array_sort() (#8077) 2021-01-13 06:12:22 +01:00
Swastik Baranwal 1e853b0efc
cgen: implement argument operator overloading (#8067) 2021-01-13 03:31:14 +01:00
Daniel Däschle 3289dff7ff
checker: require explicit return none (#8060) 2021-01-12 11:43:55 +01:00
Swastik Baranwal 82a5300044
cgen: allow sort with`<` and `>` op overloading (#8042) 2021-01-12 04:38:12 +01:00
Uwe Krüger 5f95dd54bd
builtin: rename `any_*` -> `*_literal` - 2. part (#8032) 2021-01-11 22:58:15 +01:00
Swastik Baranwal 0081e5740d
checker: only allow `!=` and `==` for enum (#7985) 2021-01-10 12:26:31 +02:00
Swastik Baranwal 1f5255c2bb
cgen: implement `>=` and `<=` (#7991) 2021-01-10 12:24:46 +02:00
Daniel Däschle a8dd13f086
parser: change array decompose syntax (#7965) 2021-01-09 22:48:23 +01:00
Delyan Angelov 561d4f84b3
tests: remove tmp files on OK live_test.v run 2021-01-09 20:56:02 +02:00
Daniel Däschle 687b152318
gen: fix generation of comptime if T is (#7971) 2021-01-08 19:39:58 +02:00
Swastik Baranwal 9291fb5e0c
checker: disallow comparison between enum and int (#7886) 2021-01-08 17:41:52 +01:00
Daniel Däschle 88d18f3303
checker: smartcast in for loops (#7942) 2021-01-07 21:35:32 +01:00
Nick Treleaven cbefe6c32f
parser: warn about old use of `typeof` (#7923) 2021-01-07 20:32:02 +01:00
Daniel Däschle 085085a2b9
parser: fix sumtype match with array type (#7939) 2021-01-07 20:12:35 +01:00
Daniel Däschle a8e4d1df40
cgen: fix match comparing with ident of type string (#7921) 2021-01-06 20:03:50 +02:00
Daniel Däschle 9025c3528f
all: implement comptime if for generic type `$if T is string {` (#7901) 2021-01-06 19:58:53 +02:00
Nick Treleaven 7a6b160d63
checker: fix indexing a type alias instance (#7889) 2021-01-05 19:17:18 +01:00
yuyi 10e7045bee
cgen: fix array/fixed_array_rune_str (#7881) 2021-01-05 18:16:55 +02:00
Daniel Däschle 5841d5d8e1
all: implement basic comptime field selector (#7888) 2021-01-05 16:11:43 +02:00
zakuro 5c1981379e
parser: fix a bug when using some types like map in generic methods (#7872) 2021-01-05 02:59:36 +01:00
spaceface efb80bdffd
all: implement iterators in for loops (#7867) 2021-01-05 01:06:44 +01:00
Ned Palacios 82162b8ff8
cgen: interface fix + add more interface tests (#7776) 2021-01-04 21:54:13 +02:00
Uwe Krüger bf904c2f82
checker, cgen: allow using literals as `int` and `f64` for sum types (#7864) 2021-01-04 20:48:13 +02:00
Daniel Däschle 164d7bf5fb
parser: struct updating syntax with `Abc{...oldabc newfield: val}` (#7865) 2021-01-04 20:19:03 +02:00
yuyi 46d311dcc4
generic: fix return multi array generic (fix #7727 #7753) (#7855) 2021-01-04 18:40:53 +02:00
Nick Treleaven b9c6011602
parser: support casting to a pointer to array (#7861) 2021-01-04 18:22:04 +02:00
Daniel Däschle 43adbf4b66
cgen: fix filter in map (#7844) 2021-01-04 01:04:53 +01:00
Enzo 9332f7cac2
checker: allow `map` method name (#7834) 2021-01-03 16:57:29 +01:00
Swastik Baranwal 9033099676
cgen: implement overriding of `!=` and `==` (#7837) 2021-01-03 16:19:02 +01:00
yuyi 60b3658e6f
gen: fix str_gen_test.v (#7826) 2021-01-03 15:40:47 +01:00
zakuro 6bd35505a2
parser: fix error when using imported types in short fn signature (#7795) 2021-01-02 15:09:54 +02:00
Ned Palacios 40b8d9ca3d
checker: fix infer_fn_type for generic methods (#7767) 2021-01-01 17:33:23 +01:00
Swastik Baranwal 24b18f05c4
cgen: implement > and < for structs (#7774) 2021-01-01 14:54:32 +01:00
Nick Treleaven d15d13674c
parser: parse non-identifier expressions for sizeof too (#7781) 2021-01-01 15:38:11 +02:00
clubby789 9ac237d9c0
match: implement exhaustive match for bool values (#7761) 2021-01-01 13:28:23 +02:00
yuyi c3dafad7ef
generics: implement method generics (fix #7638) (#7732) 2020-12-31 18:00:22 +01:00
Uwe Krüger 74ea5ac99f
checker: check reference return to be really reference (#7739) 2020-12-31 12:42:22 +01:00
Joe Conigliaro b2bd2c9337
cgen: make multi return decl order consistant & use typedefs. closes #7728 2020-12-31 21:55:21 +11:00
Joe Conigliaro 3e655d6bf6
cgen: fix multi return auto str methods. closes #7726 2020-12-31 10:21:02 +11:00
Daniel Däschle 9a31744255
cgen: fix embed generic field access & method call (#7725) 2020-12-30 23:49:02 +01:00
Daniel Däschle b4c5fa8ca0
cgen: fix embed field access from reference (#7724) 2020-12-30 21:50:58 +01:00
Daniel Däschle e4edc5925a
parser: embed always public and mutable (#7722) 2020-12-30 21:17:48 +02:00
Daniel Däschle b8af81240a
cgen: fix struct embedding method when receiver is ptr (#7710) 2020-12-30 20:44:01 +02:00
Alexander Medvednikov ad78875a8c parser: allow `const x = 0` consts outside of const blocks 2020-12-30 02:15:44 +01:00
Alexander Medvednikov e26a690975 0.2.1 2020-12-29 21:24:33 +01:00
joe-conigliaro 02965e753e
all: re-implement variadics using arrays & implement array decomposition to varg (#7689) 2020-12-29 16:14:08 +01:00
yuyi 32091dd90e
cgen: fix struct equality (#7649) 2020-12-28 18:22:47 +02:00
Delyan Angelov 3f3ae67b55
Revert "cgen: fix struct_eq (#7639)"
This reverts commit 164dd3000b.
2020-12-28 13:16:00 +02:00
yuyi 164dd3000b
cgen: fix struct_eq (#7639) 2020-12-28 12:25:22 +02:00
Delyan Angelov df61cf246b
cgen: fix `x.interface_field = value_implementing_interface` (closes #7620) 2020-12-27 19:12:39 +02:00
zakuro 21805ea2a5
all: make eprint[ln] behave same as print[ln] (#7595) 2020-12-27 11:22:16 +01:00
Daniel Däschle 7507403118
cgen: fix zero init bug of embedded structs (#7567) 2020-12-25 22:46:42 +02:00
Delyan Angelov c6b0ce2a07 ci: disable socket error assertion in profile_test.v 2020-12-25 16:10:18 +02:00
Delyan Angelov a631078d8a tests: add vlib/v/tests/profile/profile_test.v regression test 2020-12-25 14:30:22 +02:00
Delyan Angelov 36dcace0a7 cgen: fix compiling call expressions with no varargs (tcc bug) 2020-12-23 21:15:00 +02:00
Daniel Däschle b27f5c378c
all: reimplement struct embedding with methods (#7506) 2020-12-23 19:12:49 +01:00
Alexander Medvednikov e4f94b6ad5 V 0.2 2020-12-22 20:48:45 +01:00
Delyan Angelov 5f5c53348b ci: fix vlib/v/tests/project_with_c_code_2/modc/wrapper.v 2020-12-20 18:33:31 +02:00
Alexander Medvednikov 50a6976b5e all: minor array fixes 2020-12-20 16:08:56 +01:00
Alexander Medvednikov 6bf21c300a checker: do not allow arr1=arr2 without cloning 2020-12-20 15:33:55 +01:00
Alexander Medvednikov 60c936a688 tests: remove map reference test 2020-12-20 07:59:39 +01:00
Ned Palacios 3a86f27b9f
cgen: fix optional struct const field access (#7405) 2020-12-19 09:43:50 +01:00
yuyi ff2cfd4f38
checker: fix fn_array types check (#7376) 2020-12-19 01:10:11 +02:00
Nick Treleaven 042449cd3d
cgen: use voidptr key methods: map_get_1, map_set_1, map_get_and_set_1 (#7390) 2020-12-19 01:05:16 +02:00
yuyi b10f692c43
gen: fix errors of string interpolation of fn values in struct/array/map (#7367) 2020-12-17 11:16:27 +02:00
Daniel Däschle 7022456c9d
Alias string compare (#7364) 2020-12-16 21:40:56 +02:00
yuyi 525b521b4a
cgen: impliment gen_str_for_fn_type() (#7353) 2020-12-16 11:07:58 +02:00
Ned Palacios 604eab7742
cgen: fix interface struct field initialization (#7340) 2020-12-16 11:03:28 +02:00
yuyi e40e1500a8
cgen: fix map['xxx']() error (#7342) 2020-12-15 16:07:24 +01:00
yuyi 8ab59c5f0f
parser: implement a direct call to an array of functions (fix #6908) (#7322) 2020-12-15 04:24:57 +01:00
Swastik Baranwal a3c3fd4d20
cgen: fix generation of array names in generic structs (#7324) 2020-12-15 02:52:20 +11:00
Enzo 78fb84c4dd
gen: fix comparing signed int to u32/u64 (#7312) 2020-12-14 12:01:11 +02:00
Nick Treleaven d785e22a6e
checker: disallow assigning number to pointer (#7267) 2020-12-12 10:42:07 +01:00
yuyi 2a731e1c8e
scanner: fix interpolation with more embedded string args (#7258) 2020-12-11 19:15:59 +02:00
Andréas Livet 18ec24dd53
gen: fix mutable map generation (#7251) 2020-12-11 04:48:55 +01:00
Enzo 04346e7ba5
checker: allow void,char,byteptr to be mut args (#7239) 2020-12-11 04:47:10 +01:00
spaceface777 ca2c082a5e
checker: initial support for evaluating expressions at compile time (#7248) 2020-12-11 04:46:06 +01:00
yuyi ca39a9a1a9
test: add more embed string interpolation tests (#7229) 2020-12-10 11:20:42 +02:00
Daniel Däschle a38fe4fca9
checker: fix smartcast inside smartcast (#7215) 2020-12-10 00:59:39 +01:00
yuyi 5fa1e403ec
scanner: fix interpolation with string args (#7214) 2020-12-09 19:58:27 +01:00
Nick Treleaven cf755d40b7
checker: allow ++, -- on byteptr, charptr (#7218) 2020-12-09 19:58:02 +01:00
Delyan Angelov 8caf3829d7
checker: fix interface checking of array arguments; closes #2377 2020-12-09 18:51:37 +02:00
Delyan Angelov 3b94a2b77a
cgen: fix interface _name_table generation; closes issue #73 2020-12-09 17:07:11 +02:00
joe-conigliaro 805da2325f
cgen: defer was broken in presence of anon fn. fixed #7171 2020-12-08 14:21:19 +11:00
joe-conigliaro 78a6795319
all: change the way import symbols work & support consts (#7182) 2020-12-07 19:13:03 +02:00
Alexander Medvednikov 8eff8b0eff autofree: fix `for` args 2020-12-06 08:38:21 +01:00
joe-conigliaro d7c057840a
parser: autofree - reset p.branch_parent_pos to previous pos on return 2020-12-06 17:00:44 +11:00
joe-conigliaro a05408b49a
all: make type system use source name & cleanup storing name in fields 2020-12-06 14:55:08 +11:00
Delyan Angelov 946a1418fe
Revert "autofree: handle tmp vars in for loops"
This reverts commit 1d6c604664.
2020-12-05 21:52:50 +02:00
Alexander Medvednikov 1d6c604664 autofree: handle tmp vars in for loops 2020-12-05 20:11:31 +01:00
Delyan Angelov 6e76d5d1db
cgen: fix double escaping \n in @VMOD_FILE expansion 2020-12-05 20:13:36 +02:00
joe-conigliaro 83f651c29a
cgen: autofree - know where to stop freeing parent scops on continue/break 2020-12-06 02:36:27 +11:00
joe-conigliaro 3172f324d1
checker: infer array_init type from call with in return of or block. closes #7135 2020-12-06 01:26:28 +11:00
Delyan Angelov 0dfcacd26b
cgen: fix `fn f(mut a []int) { a << [1,2] }` 2020-12-05 10:12:17 +02:00
Delyan Angelov b18915df62
tests: cleanup long running repl tests (replaced by faster ordinary tests in vlib/v/tests/) 2020-12-05 08:52:08 +02:00
Alexander Medvednikov d1281ac6c1 autofree: handle` break` 2020-12-05 05:06:52 +01:00
Alexander Medvednikov 5180013aef autofree: fix array re-assignment with struct fields 2020-12-04 23:30:30 +01:00
spaceface777 76ed8e3750
checker: don't disallow method call chains (#7128) 2020-12-04 21:27:38 +01:00
spaceface777 52fb7033c3
gen: fix evaluating the receiver of array methods (.map(), .filter(), etc) more than once (#7130) 2020-12-04 20:29:34 +02:00
Delyan Angelov 52ccdd747f
cgen: allow for `const ( x = opt() ? )` 2020-12-04 13:11:12 +02:00
Alexander Medvednikov b64945a6c0 autofree: lots of fixes in `return_statement()` 2020-12-04 10:10:40 +01:00
joe-conigliaro b578e60dd5
tests: add test for fix #cf7b45b 2020-12-04 15:43:28 +11:00
yuyi 06eaded6ea
string: change `tos_lit` to `_SLIT` (#7079) 2020-12-03 16:02:48 +01:00
Swastik Baranwal c5a7c51dfd
parser: add a check for known vars in or block (#7094) 2020-12-03 04:46:04 +01:00
Uwe Krüger c1b25dd61d
cgen: fix map value op-assign modification (#7101) 2020-12-03 00:40:11 +01:00
Alexander Medvednikov 0ff541375d autofree: fix a bug with $if and add a test 2020-12-01 18:58:16 +01:00
yuyi d3deaa1f59
cgen: fix typeof variadic type (#7063) 2020-12-01 16:11:37 +01:00
Daniel Däschle 5b6eb7b2c9
cgen: simplify .str() generation (#7038) 2020-12-01 16:09:03 +01:00
yuyi 6a1e0322bd
gen: fix interpolation variadic (#7059) 2020-12-01 12:40:38 +02:00
joe-conigliaro 34e124d5f7
cgen: auto cast sum type in array init. fixes #6907 2020-12-01 20:03:45 +11:00
Delyan Angelov fe0ded9a91
tests: add a regression test for the inter module generics inference 2020-12-01 08:07:07 +02:00
Daniel Däschle 879d238887
cgen: initial option auto str support (#7004) 2020-12-01 04:00:23 +01:00
Delyan Angelov b11d285680
v: support multiple paths in VMODULES env variable (#7048) 2020-11-30 18:31:37 +01:00
Uwe Krüger a128ab4313
cgen: add support for shared maps (#7042) 2020-11-30 13:25:14 +01:00
Alexander Medvednikov cb3367d734 autofree: free_before_break() test 2020-11-28 20:23:54 +01:00
Swastik Baranwal aadeb62bbf
cgen: add a _T_ prefix in the C names for generic fn instances; fixes #6927 (#6999) 2020-11-28 17:07:07 +02:00
Alexander Medvednikov ea04d23e1d tests: valgrind: use -autofree without -experimental 2020-11-28 15:53:08 +01:00
Alexander Medvednikov 57ad943b92 autofree: free arrays on re-assignment 2020-11-28 15:21:53 +01:00
Alexander Medvednikov ed39d151b7 V 0.1.30 2020-11-28 04:43:11 +01:00
Delyan Angelov ac27a3ccee parser,cgen: improve `[flag]enum Abc{ a b }`, allow `x := Abc.a | Abc.b` 2020-11-27 23:09:14 +02:00
yuyi 636efb3c20
cgen: fix windows escape errors for comptime @ pseudo vars (#6977) 2020-11-27 11:16:57 +02:00
Daniel Däschle ee2a5727fb
gen: fix assigning an anon fn to a struct field (#6965) 2020-11-27 11:15:48 +02:00
Daniel Däschle d71d9ad7c0
сgen: print generic structs (#6967) 2020-11-26 23:57:03 +01:00
Nick Treleaven ea8adfdbf9
gen: more efficient `for in` with a map (#6961) 2020-11-26 23:22:14 +01:00
Alexander Medvednikov 5e59718970 fmt: handle $tmpl 2020-11-26 18:53:38 +01:00
Alexander Medvednikov 5efd393af2 all: make comptime templates usable outside of vweb via $tmpl 2020-11-26 18:40:35 +01:00
Ruofan XU c6a8c3cad5
cgen: remove unneeded sumtype logic and add more tests (#6959) 2020-11-26 15:29:23 +01:00
Daniel Däschle 8e2b7fe3d6
tests: cleanup sum type tests (#6950) 2020-11-25 20:40:29 +01:00
Delyan Angelov 35a0fe79f9 cgen: generate an unique sort comparator function for each .sort() call 2020-11-25 13:48:42 +02:00
Daniel Däschle 7d6f97259f
all: refactor UnionSumType to SumType (#6944) 2020-11-25 13:09:40 +02:00
Daniel Däschle a042966082
all: remove old sumtype code (#6937) 2020-11-24 17:55:24 +01:00
Daniel Däschle 9fbf38c798
parser: fix generic structs from other modules (#6921) 2020-11-23 23:21:11 +01:00
Daniel Däschle 96539e43b5
all: nested sum types (#6913) 2020-11-23 16:16:13 +01:00
Alexander Medvednikov a1827d7f98 autofree: handle array set/get 2020-11-22 20:48:23 +01:00
Alexander Medvednikov ff1752dfff gg: vfmt gg.v 2020-11-21 00:04:29 +01:00
Alexander Medvednikov c1486925d5 autofree: enable free_before_return test 2020-11-21 00:00:27 +01:00
Delyan Angelov 9673d40bb9 ci: fix failing windows test run_v_code_from_stdin_test.v (2) 2020-11-20 16:57:44 +02:00
Delyan Angelov 93d460f8fc ci: fix failing windows tests for `v run -` 2020-11-20 16:14:04 +02:00
Delyan Angelov 3c4b87bfec checker: add check against `fn test_opt() ?{}` 2020-11-20 15:12:53 +02:00
Nick Treleaven d5242e0bf5
gen: implement labelled break and continue (retry) (#6887) 2020-11-20 12:23:48 +01:00
Nicolas Sauzede 159932d59b
v: run code from stdin `echo println(2+2) | v run -`, with no repl limits (#6884) 2020-11-20 10:25:59 +02:00
Alexander Medvednikov 4328233504 Revert "gen: implement labelled break and continue (#6880)"
This reverts commit e798326a1a.
2020-11-20 02:51:35 +01:00
Nick Treleaven e798326a1a
gen: implement labelled break and continue (#6880) 2020-11-19 21:13:15 +01:00
Daniel Däschle 41ba942369
parser: smartcast mutable selector (#6881) 2020-11-19 21:05:10 +01:00
Daniel Däschle 9feb010355
all: mutable smartcasts (#6878) 2020-11-19 17:28:46 +01:00
Daniel Däschle e06756ef58
all: match multi aggregate for union sum types (#6868) 2020-11-18 20:52:00 +01:00
Daniel Däschle 20bec81678
checker: smartcast only if type is not mut (#6841) 2020-11-15 16:53:51 +02:00
Alexander Medvednikov 26785668c0 autofree: more tests; gg: fix draw_circle with hidpi 2020-11-15 15:09:44 +01:00
Nick Treleaven 50163508f8
gen: implement type_name method for sum type instances (#6802) 2020-11-14 13:59:03 +02:00
Delyan Angelov ba8cdb2977 vfmt: fix `$for method in App.methods {}` turning to App(methods) 2020-11-14 12:24:46 +02:00
Delyan Angelov 023cddb160 cgen: remove .replace('T', ...) 2020-11-14 10:36:59 +02:00
Daniel Däschle 9c569246ef
cgen: fix typeof union sum type (#6794) 2020-11-12 12:27:54 +01:00
Daniel Däschle 43ce098043
cgen: fix default value init for union sum types (#6795) 2020-11-11 19:56:13 +02:00
Daniel Däschle 6271798ce3
cgen: union sum types implementation (#6745) 2020-11-11 09:18:15 +01:00
spaceface777 bb91dc90a5
checker: fix `&` on pointers (#6787) 2020-11-10 13:12:21 +02:00
Nick Treleaven c76e486765
parser: implement `T.name` for generic types (#6783) 2020-11-09 14:35:26 +01:00
Alexander Medvednikov 1c257abc23 autofree: simplify: merge tmp arg logic with scope vars 2020-11-09 14:24:46 +01:00
Alexander Medvednikov 507d724ee6 autofree: free before return tests 2020-11-09 11:54:45 +01:00
Nick Treleaven 931882d720
checker: support ?T, &T generic return types (#6772) 2020-11-07 18:27:10 +02:00
Nick Treleaven 125650c986
cgen: fix using brackets for match expression (#6768) 2020-11-07 14:47:27 +01:00
Alexander Medvednikov 0e8c7ca2e3 autofree: fix string reassignment 2020-11-07 04:00:45 +01:00