Christoffer Lerno
61c939059d
int? ? was not correctly handled. #2786
2026-01-21 00:52:18 +01:00
Christoffer Lerno
9c435352b9
- Second value in switch range not checked properly, causing an error on non-const values. #2777
2026-01-20 17:12:41 +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
0fea6c6056
- Bitstruct with unevaluated user-defined type would cause a crash.
...
- Using named parameters with builtins would cause a crash.
- In some cases, using missing identifiers with builtins would cause a crash.
- Using `$defined` with function call missing arguments would cause a crash.
- Adding @nostrip to a test function would crash.
- Mixing struct splat, non-named params and named params would crash rather than to print an error.
- Creating a char vector from bytes would crash.
- Using $$wstr16 with an illegal argument would crash instead of printing an error.
2026-01-19 02:49:54 +01:00
VarunVF
64ef33f09b
Require parenthesized assignment expressions in condition of 'if' statements #2716 ( #2729 )
...
* Require parenthesized assignment expressions in condition of 'if' statements #2716
* Move analysis to semantic checker and also check while. And update tests and release notes.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-01-15 00:43:58 +01:00
Christoffer Lerno
0b52819090
- Bug on rethrow in return with defer #2603 .
2025-11-27 12:53:12 +01:00
Christoffer Lerno
20dfdf5c5d
Fix test breaking for MSVC
2025-11-17 10:46:01 +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
6360ddbc77
- When encountering a foreach over a ZString* it would not properly emit a compilation error, but hit an assert #2573 .
2025-11-11 12:36:02 +01:00
Christoffer Lerno
423152202f
Dev ( #2545 )
...
* Optimize vector load / store. Fixes to alignment. Support typedef with `@simd` and `@align` #2543 . Update vector ABI #2542
* Fix alignment issue with indirect arguments.
2025-10-25 12:31:06 +02:00
Christoffer Lerno
7d6c844b99
Dead code analysis with labelled if did not work properly.
2025-10-02 21:24:05 +02:00
Christoffer Lerno
e6b10ee00c
Stack object size limit error on a static object. #2476
2025-09-12 17:11:25 +02:00
Christoffer Lerno
95375a2591
Overloading &[] should be enough for foreach. #2466
2025-09-06 15:18:26 +02:00
Christoffer Lerno
e605a21fd3
Revert "Revert 0.7.6 code for 0.7.5 re-release"
...
This reverts commit d1349c9cfb .
2025-09-05 23:30:35 +02:00
Christoffer Lerno
d1349c9cfb
Revert 0.7.6 code for 0.7.5 re-release
2025-09-05 18:42:54 +02:00
niedlich
cf14787552
Typo fixes ( #2457 )
...
* fix typos in comments and strings
* fix typos in symbols (and some comments/strings)
* fix typos in releasenotes.md
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-09-04 01:07:07 +02:00
Christoffer Lerno
47316dac59
Add compile time ternary $val ??? <expr> : <expr>.
2025-08-28 01:56:05 +02:00
Christoffer Lerno
7312c10b9e
- @is_const is deprecated in favour of directly using $defined.
...
- `@is_lvalue(#value)` is deprecated in favour of directly using `$defined`.
2025-08-27 18:21:55 +02:00
Christoffer Lerno
28b9be64ee
Update error message for missing body after if/for/etc #2289 .
2025-08-27 12:37:01 +02:00
Christoffer Lerno
e4e499edd2
Allow $defined take declarations: $defined(int x = y)
...
Taking the address of a label would cause a crash. #2430
2025-08-23 12:00:17 +02:00
Christoffer Lerno
e2e2ca1d7f
Add @safeinfer to allow var to be used locally.
2025-08-21 12:39:08 +02:00
Christoffer Lerno
a2ef63f5b6
Error if a stack allocated variable is too big (configurable with --max-stack-object-size).
2025-08-21 00:33:56 +02:00
Christoffer Lerno
28ffb864a3
Deprecated PollSubscribes and PollEvents in favour of PollSubscribe and PollEvent and made them const enums.
2025-08-19 12:20:17 +02:00
Christoffer Lerno
eeab73df4e
Miscompilation of do-while when the while starts with a branch #2394 . Also: change do-while to make the lowering follow the execution.
2025-08-18 21:04:52 +02:00
Christoffer Lerno
85dc9c45ab
- Deprecate @compact use for comparison. Old behaviour is enabled using --use-old-compact-eq.
...
- Switch available for types implementing `@operator(==)`.
- `Type.is_eq` is now true for types with `==` overload.
- Functions being tested for overload are now always checked before test.
- Compile time indexing at compile time in a $typeof was no considered compile time.
2025-08-14 15:53:35 +02:00
Christoffer Lerno
2dfbdea889
Update error message for struct initialization #2286
2025-07-10 16:29:49 +02:00
Christoffer Lerno
93ded9c1e0
Switch case with const non-int / enum would be treated as ints and crash. #2263
2025-07-02 12:26:26 +02:00
Christoffer Lerno
59a1590955
Hex string formatter check incorrectly rejected slices.
2025-06-30 21:41:52 +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
a55f56a88f
Linker errors when shadowing @local with public function #2198
2025-06-18 02:07:07 +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
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
972c84b65b
for with incorrect var declaration caused crash #2154 .
2025-05-26 15:56:51 +02:00
Christoffer Lerno
3cd2267b0a
Update error message.
2025-05-20 23:00:31 +02:00
Christoffer Lerno
abe4727c3a
Deprecate uXX and iXX bit suffixes.
...
Add experimental LL / ULL suffixes for int128 and uint128 literals.
2025-05-13 23:48:59 +02:00
Christoffer Lerno
3636898ac0
Fixed enum regression after 0.7.0 enum change.
2025-04-29 11:53:32 +02:00
Christoffer Lerno
668175851b
Improved error message #2084
2025-04-16 15:25:05 +02:00
Christoffer Lerno
82f1b543ed
&self not runtime null-checked in macro #1827 . Regression in temp allocators.
2025-03-23 22:50:09 +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
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
a088a5057a
Remove if (catch foo) { case ... } syntax.
2025-03-07 22:48:28 +01:00
Christoffer Lerno
2a895ec7be
First 0.7 update, removing all deprecated features.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
d6485ca08b
Test new tester script.
2025-02-19 18:01:44 +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
c8e671d34b
Assert when using optional as init or inc part in a for loop #1942 .
2025-02-08 18:58:44 +01:00
Christoffer Lerno
fa4fb44779
Issue with defer copying when triggered by break or continue.
2025-02-08 00:14:01 +01:00
Christoffer Lerno
ac3b2f0fea
- Fix bug where in dead code, only the first statement would be turned into a nop.
...
- Remove unused $inline argument to mem::copy.
2025-01-29 13:07:19 +01:00
Christoffer Lerno
70d0ad1fcc
Missing error when placing a single statement for-body on a new row #1892 .
2025-01-28 17:13:37 +01:00