Christoffer Lerno
c1e3cfaacc
- Crash when trying to create a const zero untyped list #2847
2026-01-27 23:36:00 +01:00
Christoffer Lerno
0fdd6bdc81
- Early exit in macro call crashes codegen #2820
2026-01-25 00:52:57 +01:00
Christoffer Lerno
397d065a74
- Constant shifting incorrectly doesn't flatten the underlying vector base #2825
...
- String not set as attributes resolved breaking has_tagof #2824
- Self referencing forward resolved const enum fails to be properly detected #2823
2026-01-24 18:32:26 +01:00
Christoffer Lerno
cdabe8fd9e
- Create optional with ~ instead of ?. return io::EOF?; becomes return io::EOF~.
...
- Deprecated use of `?` to create optional.
2026-01-20 16:10:28 +01:00
Christoffer Lerno
415c9639e7
- Deprecated DString.append_chars, use DString.append_string
...
- Deprecated `DString.append_string` for DStrings, use `DString.append_dstring` instead.
- Added `DString.append_char_buffer`.
2025-12-16 20:17:54 +01:00
Christoffer Lerno
4e66693065
- Refactored @simd implementation.
...
- Regression vector ABI: npot vectors would load incorrectly from pointers and other things. #2576
2025-11-16 01:37:39 +01:00
Christoffer Lerno
5a1831c989
Error when using $vaarg/$vacount/$vasplat and similar in a macro without vaargs #2510 .
2025-10-06 00:45:36 +02:00
Christoffer Lerno
e9ec421b3b
Compiler fails to stop error print in recursive macro, and also prints unnecessary "inline at" #2513 .
2025-10-06 00:31:27 +02:00
Christoffer Lerno
bc9b0900a5
- Inlining a const as an lvalue would take the wrong path and corrupt the expression node.
2025-08-25 15:26:47 +02:00
Christoffer Lerno
961aa0ef61
Struct and typedef subtypes inherit dynamic functions.
2025-08-23 22:31:29 +02:00
Christoffer Lerno
334ee975b9
Assignment evaluation order now right->left, following C++17.
2025-07-31 11:49:42 +02:00
Christoffer Lerno
0bc546595d
- Using @noreturn in a trailing body macro would not work properly #2326 .
...
- Bug when reporting error in a macro return would crash the compiler #2326 .
- Short body return expression would not have the correct span.
2025-07-26 02:03:02 +02:00
Christoffer Lerno
078ce38c57
Test fix.
2025-07-16 00:22:28 +02:00
Christoffer Lerno
f99b903d78
- Fix unexpected display of macro definition when passing a poisoned expression #2305 .
2025-07-15 23:31:44 +02:00
Christoffer Lerno
635d4babc4
Fix tests.
2025-07-03 22:37:23 +02:00
Christoffer Lerno
13bb2b6690
Const Enums From / to ordinal using casts is back. Add "--use-old-enums", deprecating lookup.
2025-06-30 21:41:52 +02:00
Christoffer Lerno
2f45beecbe
@pool now has an optional reserve parameter, some minor changes to the temp_allocator API
2025-06-19 01:13: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
1aacb1fa60
Fixed regression compiler crash when using && for untyped parameters #2197 .
2025-06-10 16:26:08 +02:00
Christoffer Lerno
c9d9127da6
Deprecate foo.#bar.
2025-06-05 12:51:35 +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
9d5b31dad5
Missing error on default values for body with default arguments #2148 .
2025-05-23 18:57:21 +02:00
Christoffer Lerno
498803e9ba
Error when using named argument on trailing macro body expansion #2139 .
2025-05-17 23:50:15 +02:00
Christoffer Lerno
a411f20762
Assert when a macro with compile time value is discarded, e.g. foo(); where foo() returns an untyped list. #2117
2025-05-02 21:16:56 +02:00
Christoffer Lerno
e3f3b6f5f1
Better errors trying to convert an enum to an int and vice versa. Trying to cast an enum to int and back caused the compiler to crash.
2025-04-04 02:38:51 +02:00
Christoffer Lerno
84753bde6d
- Allow inferred type on body parameters. E.g. @stack_mem(1024; alloc) { ... };
2025-03-18 15:40:26 +01:00
Christoffer Lerno
72608ce01d
- Temp allocator now supports more than 2 in-flight stacks.
...
- Printing stacktrace uses its own temp allocator.
- `@pool` no longer takes an argument.
- `Allocator` interface removes `mark` and `reset`.
- DynamicArenaAllocator has changed init function.
- Added `BackedArenaAllocator` which is allocated to a fixed size, then allocates on the backing allocator and supports mark/reset.
2025-03-18 15:16:22 +01:00
Christoffer Lerno
82cc49b388
- !!foo now works same as as ! ! foo.
...
- Incorrectly allowed getting pointer to a macro #2049 .
2025-03-16 23:57:30 +01:00
Christoffer Lerno
5c77c9a754
- Change distinct -> typedef.
...
- Order of attribute declaration is changed for `alias`.
- Added `LANGUAGE_DEV_VERSION` env constant.
- Rename `anyfault` -> `fault`.
- Changed `fault` -> `faultdef`.
- Added `attrdef` instead of `alias` for attribute aliases.
2025-03-15 20:10:47 +01:00
Christoffer Lerno
8b49e6c14d
Rename def to alias.
2025-03-13 11:22:27 +01:00
Christoffer Lerno
8c23c5028d
Make @public import recursive. #2018
...
`import` can now both be @public and @norecurse.
2025-03-10 15:33:29 +01:00
Christoffer Lerno
25bccf4883
New faults and syntax ( #2034 )
...
- Remove `[?]` syntax.
- Change `int!` to `int?` syntax.
- New `fault` declarations.
- Enum associated values can reference the calling enum.
2025-03-10 00:11:35 +01:00
Christoffer Lerno
2439405e70
- $foreach "()" replaced by trailing ":" $foreach ($x, $y : $foo) -> $foreach $x, $y : $foo:
...
- `$for` "()" replaced by trailing ":" `$for (var $x = 0; $x < FOO; $x++)` -> `$for var $x = 0; $x < FOO; $x++:`
- `$switch` "()" replaced by trailing ":" `$switch ($Type)` -> `$switch $Type:`
- Empty `$switch` requires trailing ":" `$switch` -> `$switch:`
2025-03-04 16:13:47 +01:00
Christoffer Lerno
c40198b016
- new_* functions in general moved to version without new_ prefix.
...
- `string::new_from_*` changed to `string::from_*`.
- `String.to_utf16_copy` and related changed to `String.to_utf16`.
- `String.to_utf16_tcopy` and related changed to `String.to_temp_utf16`
- `mem::temp_new` changed to `mem::tnew`.
- `mem::temp_alloc` and related changed to `mem::talloc`.
- `mem::temp_new_array` changed to `mem::temp_array`.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
8bb99c6f81
Fixes to examples and MSVC compilation.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
2a895ec7be
First 0.7 update, removing all deprecated features.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
1b0ac13d76
Deprecation of operator(@construct)
2025-02-28 10:39:08 +01:00
Christoffer Lerno
cbacd64987
Update tests to (Foo) { ... } syntax.
2025-02-18 18:53:30 +01:00
Christoffer Lerno
168c11e006
{| |} expression blocks deprecated.
2025-02-18 12:50:34 +01:00
Christoffer Lerno
c4f9efc8f5
Allow fn int test() => @pool() { return 1; } short function syntax usage #1906 .
2025-02-08 22:45:14 +01:00
Christoffer Lerno
1f1c445a76
Issue where trailing body argument was allowed without type even though the definition specified it #1879 .
2025-01-25 23:52:13 +01:00
Christoffer Lerno
e40bab2d30
Allow (int[*]) { 1, 2 } cast style initialization. Experimental change from [*] to [?]. Fix issue where compile time declarations in expression list would not be handled properly.
2025-01-25 22:10:12 +01:00
Christoffer Lerno
a863d7fe9e
Prevent #hash arguments from taking code that modifies ct variables. #1794
2025-01-12 02:20:18 +01:00
Christoffer Lerno
f2e69f8fdc
Fix bug with defer assignment in macro #1807 .
2025-01-11 20:48:53 +01:00
Christoffer Lerno
c22b7d45c1
Update test failing on LLVM 17
2025-01-09 01:35:16 +01:00
Christoffer Lerno
8fb3ec73ff
Deprecate $varef.
2025-01-08 23:56:10 +01:00
Christoffer Lerno
214e806a33
Deprecate `fn void! main() type main functions.
2025-01-08 23:17:50 +01:00
Christoffer Lerno
8e0d6d11b9
Deprecated '&' macro arguments.
2025-01-08 22:13:49 +01:00
Christoffer Lerno
34c7f4e6b7
Deref subscripts as needed for macro ref method arguments. #1789
2025-01-06 13:54:02 +01:00