Christoffer Lerno
a55f56a88f
Linker errors when shadowing @local with public function #2198
2025-06-18 02:07:07 +02:00
Christoffer Lerno
eb75d8f82a
Method ambiguity when importing parent module publicly in private submodule. #2208
2025-06-18 00:18:56 +02:00
Christoffer Lerno
f07bd3cbc6
$defined(#expr) broken with binary. #2219
2025-06-17 18:00:16 +02:00
Christoffer Lerno
93640699be
Support distrinct types as the base type of bitstructs. #2218
2025-06-17 16:49:46 +02:00
Christoffer Lerno
99e29bff8d
Bug in AST copying would make operator overloading like += compile incorrectly #2217
2025-06-17 16:02:43 +02:00
Christoffer Lerno
e7ce79e731
Fix error for named arguments-order with compile-time arguments #2212
2025-06-16 23:56:03 +02:00
Christoffer Lerno
779f548a00
Allow generics over distinct types #2216 .
2025-06-16 23:16:35 +02:00
Christoffer Lerno
f0bd93d1f0
Additional #2210 fixes.
2025-06-16 22:56:34 +02:00
Christoffer Lerno
3ce15bd7af
Incorrect codegen if a macro ends with unreachable and is assigned to something. #2210
2025-06-15 22:35:44 +02:00
Christoffer Lerno
07eee04e94
In some cases, the compiler would dereference a compile time null. #2215
2025-06-15 21:58:39 +02:00
Christoffer Lerno
1f7b62b248
Fix to is_array_or_slice_of_char #2214 .
...
`is_array_or_slice_of_char` and `is_arrayptr_or_slice_of_char` are replaced by constant `@` variants.
2025-06-15 21:27:47 +02:00
Christoffer Lerno
2afa544d7d
Correctly format '%c' when given a width. #2199
2025-06-15 02:27:36 +02:00
Christoffer Lerno
dda2d2ecbe
Show code that caused unreachable code #2207
...
`$echo` would suppress warning about unreachable code. #2205
2025-06-15 00:37:28 +02:00
Christoffer Lerno
e0237096d6
- Support untyped second argument for operator overloading.
...
- Distinct versions of builtin types ignore @operator overloads #2204 .
- @operator macro using untyped parameter causes compiler segfault #2200 .
- Add comparison with `==` for ZString types.
2025-06-13 17:12:39 +02:00
Christoffer Lerno
82491a6f85
- Fixes to @format checking #2199 .
2025-06-12 02:26:39 +02:00
Christoffer Lerno
1aacb1fa60
Fixed regression compiler crash when using && for untyped parameters #2197 .
2025-06-10 16:26:08 +02:00
Christoffer Lerno
40554192b1
- Make accepting arguments for main a bit more liberal, accepting main(int argc, ZString* argv)
...
- Make `$echo` and `@sprintf` correctly stringify compile time initializers and slices.
- Fixes methodsof to pick up all sorts of extension methods. #2192
- Fix regression accidentally allowing `$assert $foo, $bar`
2025-06-08 00:23:04 +02:00
Christoffer Lerno
f66cadccd2
Add printf format to $assert and $error #2183 .
2025-06-06 23:50:55 +02:00
Christoffer Lerno
be511b26cd
Additional fixes on $define
2025-06-06 20:11:58 +02:00
Christoffer Lerno
4cfa5441d2
Additional fixes on $define
2025-06-06 15:38:46 +02:00
Christoffer Lerno
5e45c34f21
- Deprecate String.is_zstr and String.quick_zstr #2188 .
2025-06-06 15:30:46 +02:00
Christoffer Lerno
b893697a87
Various fixes for $defined
2025-06-06 14:41:20 +02:00
Christoffer Lerno
f2daf2e11e
@sprintf macro (based on the $$sprintf builtin) allows compile time format strings #1874 .
2025-06-06 03:18:28 +02:00
Christoffer Lerno
9baeca3a8e
$eval now also works with @foo, #foo, $Foo and $foo parameters #2114 .
2025-06-06 01:23:23 +02:00
Christoffer Lerno
d6d0e08906
Allow inference across && #2172 .
2025-06-05 14:20:40 +02:00
Christoffer Lerno
c9d9127da6
Deprecate foo.#bar.
2025-06-05 12:51:35 +02:00
Christoffer Lerno
7f85534414
- Implicitly convert from constant typeid to Type in $Type assignment, and $assignable.
...
- Make $Type parameters accept constant typeid values.
2025-06-05 00:37:16 +02:00
Christoffer Lerno
ba1332dc2a
Splatting const slices would not be const. #2185
2025-06-04 16:09:15 +02:00
Christoffer Lerno
72cc8e430a
-0xFF will now be a signed integer.
...
- `-2147483648`, MIN literals work correctly.
2025-06-04 15:20:49 +02:00
Christoffer Lerno
9645bd3289
- $typefrom now also accepts a constant string, and so works like $evaltype.
...
- `$evaltype` is deprecated in favour of `$typefrom`.
2025-06-03 14:51:56 +02:00
Christoffer Lerno
d697b910ba
Removed the naive check for compile time modification, which fixes #1997 but regresses in detection.
2025-06-01 23:50:13 +02:00
Christoffer Lerno
c3d2b2824c
Bug using #foo arguments with $defined #2173
2025-05-31 17:35:29 +02:00
Christoffer Lerno
da25a411f9
Generic faults is disallowed.
2025-05-30 19:12:26 +02:00
Christoffer Lerno
f2703508f2
Fixed test.
2025-05-29 21:14:50 +02:00
Christoffer Lerno
00f1206f3c
Compiler didn't check foreach over flexible array member, and folding a flexible array member was allowed #2164 .
2025-05-28 22:21:06 +02:00
Christoffer Lerno
83d6b35afe
Add d as floating point suffix for double types.
2025-05-28 12:02:24 +02:00
Christoffer Lerno
be3f9007c9
Check pointer/slice/etc on [out] and & params. #2156 .
2025-05-27 23:03:43 +02:00
Christoffer Lerno
966e8107f8
Add $$matrix_mul and $$matrix_transpose builtins.
2025-05-27 00:50:21 +02:00
Christoffer Lerno
972c84b65b
for with incorrect var declaration caused crash #2154 .
2025-05-26 15:56:51 +02:00
Christoffer Lerno
9461873b4c
Distinct types could not be used with tagof #2152
2025-05-26 00:57:20 +02:00
Christoffer Lerno
8d563eba7a
Implicit casting from struct to interface failure for inheriting interfaces #2151 . Fix second bug in #2148
2025-05-24 17:10:11 +02:00
Christoffer Lerno
b5ddc36d7f
Limit vector max size, default is 4096 bits, but may be increased using --max-vector-size.
2025-05-23 21:40:14 +02:00
Christoffer Lerno
9d5b31dad5
Missing error on default values for body with default arguments #2148 .
2025-05-23 18:57:21 +02:00
Christian Brendlin
84aee6a25b
Feature: Add inherit_stdio Option for SubProcess ( #2138 )
...
* add inherit_stdio option
2025-05-22 11:06:23 +02:00
Gregory Oakes
5c3b637cf6
Add Maybe.equals when inner type is equatable.
2025-05-22 00:06:11 +02:00
Christoffer Lerno
bd1de1e7dc
&&& was accidentally available as a valid prefix operator.
2025-05-21 23:36:33 +02:00
Christoffer Lerno
3cd2267b0a
Update error message.
2025-05-20 23:00:31 +02:00
Christoffer Lerno
7fcc91edc8
Improve error message when encountering recursively defined structs. #2146
2025-05-19 21:36:47 +02:00
Christoffer Lerno
9052f07c19
Empty default case in @jump switch does not fallthrough #2147 .
2025-05-19 21:18:23 +02:00
Christoffer Lerno
c7f0d54328
Designated const initializers with {} would overwrite the parent field.
2025-05-18 23:40:52 +02:00