Commit Graph

187 Commits (a17d744e8b8b8913da33587f02c2cfd28a62afa7)

Author SHA1 Message Date
playX a17d744e8b
checker: c2v: allow passing fixed array as pointer to functions; bool <-> int (#14309) 2022-05-05 10:59:49 +02:00
yuyi 41857b0acf
checker: check error for fn call argument mismatch (fix #14280) (#14283)
ci/woodpecker/push/vc Pipeline was successful Details
ci/woodpecker/push/docker Pipeline was successful Details
ci/woodpecker/push/arch Pipeline was successful Details
2022-05-04 11:52:32 +02:00
playX 95d94e683e
checker: allow rune->any int and vice versa when translated (#14285) 2022-05-04 11:52:32 +02:00
playX ee6d819f22
checker: allow fixed array to pointer and vice versa when translated (#14275) 2022-05-04 11:52:32 +02:00
yuyi 374b6927bc
checker: fix generic fn infering fn type argument (fix #14243) (#14256) 2022-05-04 11:52:31 +02:00
Daniel Däschle 85cb0a8c85
all: basic implementation of result type (#14140) 2022-04-30 16:26:27 +02:00
spaceface 893e2ff6cb
ast: add a type_size() method (#14213) 2022-04-29 21:38:23 +02:00
yuyi 2b0f0820e6
ast, checker, cgen: fix error for multi-return in or expr (fix #14167) (#14172) 2022-04-27 21:07:09 +02:00
playX cab53d0e75
checker: c2v fixes (#14161) 2022-04-27 21:07:09 +02:00
Alexander Medvednikov b81f06e369
checker: remove already handled "undefined" errors
ci/woodpecker/push/vc Pipeline was successful Details
ci/woodpecker/push/docker Pipeline was successful Details
ci/woodpecker/push/arch Pipeline was successful Details
2022-04-25 19:07:31 +02:00
Nick Treleaven 13902a827b
checker: error if smaller signed == unsigned (#14078) 2022-04-25 19:07:30 +02:00
playX 0065dba88a
checker: c2v fixes (#14091) 2022-04-21 10:34:33 +02:00
Alexander Medvednikov 0dff050735 builtin: u8/byte clean up 2022-04-14 16:43:34 +03:00
Delyan Angelov 4c7cdd2a2d
checker,cgen: use faster `sym.idx == ast.error_type_idx` integer comparisons, instead of `sym.name == "IError"` 2022-04-12 14:49:51 +03:00
Vincenzo Palazzo d7817863c6
checker: type inference over a generic type should compile (#13824) 2022-04-01 19:31:27 +03:00
yuyi 1566f7f766
checker: minor cleanup in check_types.v (#13816) 2022-03-24 08:59:05 +02:00
yuyi 35cd8112a5
ast, checker, cgen: fix error for printing alias that has str method (#13809) 2022-03-23 11:52:48 +02:00
Vincenzo Palazzo 8b072aa962
checker: check if generic values have the same types (#13718) 2022-03-23 09:13:10 +02:00
yuyi 27f9bc9ba0
checker: check error for match mut with immutable variable (fix #9704 #8976) (#13725) 2022-03-13 09:53:29 +02:00
div72 cec7e91714
v.parser, v.checker, v.gen: add support for [translated] tag (#13373) 2022-02-06 00:16:02 +02:00
yuyi 291a1ffd8d
token: rename Position to Pos, rename position() to pos() (#13279) 2022-01-26 12:36:28 +02:00
Alexander Medvednikov 4715fb67c1 checker: c2v fixes for enums and pointer to numbers 2022-01-25 20:15:45 +03:00
jeffmikels ab642cac43
scanner, cgen: improve support for escape codes in backticks/runes (#13127) 2022-01-11 22:36:18 +02:00
yuyi 6c1ae4f689
ast: simplify mktyp() (#13028) 2022-01-04 18:37:18 +02:00
Alexander Medvednikov 59ed4be49a all: update copyright year 2022-01-04 12:21:12 +03:00
Alexander Medvednikov 0e1cfd4a28 checker: simplify type sizeof check and fix c2v globals 2022-01-01 19:56:13 +03:00
Delyan Angelov 43fee6b3d5
all: fix registration of methods with the same name on different generic structs 2021-12-28 21:42:48 +02:00
Alexander Medvednikov 6176ce9f03 all: c2v fixes 2021-12-28 08:00:56 +03:00
yuyi cd0b581445
ast: rename 'table.get_type_symbol()' to 'table.sym()' and more related calls (#12898) 2021-12-19 18:25:18 +02:00
Delyan Angelov 79de408ef0
parser,checker: support `[generated] module xyz` (turns off notices). Use it for `infix.v`. 2021-12-12 00:58:38 +02:00
Alexander Medvednikov eaf0f9b4c1 checker: split up checker.v: assign.v, orm.v, comptime.v; c2v fixes 2021-12-11 10:23:58 +03:00
yuyi ed4ecae57d
checker: fix notice of eval.infix.v on windows (#12770) 2021-12-10 15:28:32 +02:00
Alexander Medvednikov 8f9f681e81 checker: move check_types() on top; small c2v fixes 2021-12-09 05:44:41 +03:00
crthpl 2fbf7fea75
all: initial interpreter code (#12605) 2021-12-08 11:09:10 +03:00
yuyi 36fbd3c4fa
checker: check sumtype as mismatched type (#12743) 2021-12-07 01:31:47 +03:00
Delyan Angelov 6d97b0a407
checker: improve checking of a << b, when a and b are numbers (#12589) 2021-11-29 03:48:49 +03:00
yuyi eec8788333
checker: fix generics fn infer nested generic fn (#12519) 2021-11-19 20:31:55 +02:00
Delyan Angelov fa995ca537
checker: add an error for `x.method({})` calls, when method expects a struct 2021-11-19 13:30:45 +02:00
yuyi d498c365c2
checker: cleanup infer_fn_generic_types() (#12515) 2021-11-19 10:24:03 +02:00
yuyi 2984751a57
checker: fix the argument mismatch of fn call (#12479) 2021-11-16 17:19:02 +02:00
Delyan Angelov 9fabf9f20c
checker: check for `x := Abc { f: fn () ? {} }` mismatch, when `f` is `fn ()` 2021-10-11 19:20:41 +03:00
yuyi f1742a6f62
v.ast: change 'type.to_ptr()' to 'type.ref()' (#12086) 2021-10-06 20:49:39 +03:00
crthpl 85b58b03a3
cgen: parallelize (#10844) 2021-09-28 10:28:04 +03:00
Enzo b2ecca3966
all: remove `size_t` (#11478) 2021-09-21 02:12:38 +03:00
Alexander Medvednikov ab3adf3346 checker: no longer allow automatic dereferncing in `a = b` 2021-09-09 20:21:01 +03:00
Enzo cc8ee5fb84
all: introduce `isize` and `usize` (#11437) 2021-09-08 05:53:39 +03:00
penguindark bd10a63839
builtin: string interpolation: binary format support (#11421) 2021-09-07 00:12:54 +03:00
yuyi 67ab5b858b
checker: fix checking fn prototype mismatch (#11369) 2021-09-03 12:26:46 +03:00
yuyi e90a624738
checker: fix generic fn infer variadic parameter with arrays (#11324) 2021-08-28 10:32:51 +03:00
Daniel Däschle 12884e9eb7
checker: disallow invalid pointer arithmetic (#10888) 2021-07-21 23:39:49 +03:00