Christoffer Lerno
1a3cdc01ec
Fix deprecation warnings not silenced.
2026-02-26 03:30:35 +01:00
Christoffer Lerno
c990b5aaf1
Typekind enums are changed CONST_ENUM -> CONSTDEF, DISTINCT -> TYPEDEF.
2026-02-25 23:52:13 +01:00
Christoffer Lerno
0ed917cdc2
Improve error when trying to use an extern const as a compile time constant. #2969
2026-02-23 19:15:30 +01:00
Christoffer Lerno
dc52478c09
- Warn on use of visibility modifiers on methods. #2962
2026-02-21 21:10:08 +01:00
Christoffer Lerno
7c81bb35ca
Refactored contracts ( #2960 )
...
* - Properly support `@deprecated` as contract.
- Support deprecating enum values.
- Refactor contracts
* Always copy enum constants.
* Bugfix.
2026-02-20 01:51:28 +01:00
Christoffer Lerno
5a82f672b5
Update to constdef
2026-02-20 01:13:20 +01:00
Damien Wilson
9efb9b90d1
Minor attribute combination checking ( #2918 )
...
* Minor attribute combination checking
* Added tests to the test suite.
2026-02-19 17:58:39 +01:00
Christoffer Lerno
990e9685d2
- Adding the incorrect sized vector to a pointer vector would cause a crash.
2026-02-16 00:39:14 +01:00
Christoffer Lerno
d80a8629a6
- On assert known false, the message was not show for no-args.
...
- Fixup in socket_private.c3
2026-02-14 23:49:27 +01:00
Christoffer Lerno
eb80776988
More fixes for typedef @constinit change
2026-02-14 01:37:53 +01:00
Christoffer Lerno
e299a4b630
- Change typedef and const enums to not convert from literals by default. ( #2934 )
...
- Add `@constinit` to allow old typedef behaviour.
2026-02-13 20:39:47 +01:00
Christoffer Lerno
67e224c62f
Fix windows main
2026-02-09 10:15:49 +01:00
Christoffer Lerno
445dd155b7
Another #2814
2026-02-08 15:01:27 +01:00
Christoffer Lerno
02a67254cc
Fix win forwarding functions.
2026-02-07 19:57:43 +01:00
Christoffer Lerno
5c158e481b
Always have wmain. Cleanup synthetic main generation. Some cleanup for generics.
2026-02-06 01:28:19 +01:00
Christoffer Lerno
42b79d19c1
Update all stub methods.
2026-02-06 00:55:57 +01:00
Christoffer Lerno
016254d38c
Improve error message when using functions as values #2856
2026-02-05 16:03:56 +01:00
Christoffer Lerno
054fcd2deb
Update advice when an enum is found with "= 2" and no associated values.
2026-02-05 13:57:35 +01:00
Christoffer Lerno
1c8cb7fa11
Method resolution and $define now works together well unless definitions are out of order for real.
2026-02-04 12:23:37 +01:00
Christoffer Lerno
e901a3de55
- Fix alignment for uint128 to 16 with WASM targets.
...
- Incorrect assert in struct alignment checking #2841
- Packed structs sometimes not lowered as such.
2026-01-25 23:06:16 +01:00
Christoffer Lerno
4899ee14e2
Resolving &X.b when X is a const incorrectly checked for runtime constness #2842
...
Creating a generic instance fails if it is created after interface checking #2840
2026-01-25 21:24:27 +01:00
Christoffer Lerno
cf9784afee
- Bitstruct accidentally allowed other arrays than char arrays #2836
2026-01-25 12:14:34 +01:00
Christoffer Lerno
109e15b5a0
- Empty enums would return the values as zero sized arrays #2838
2026-01-25 04:41:06 +01:00
Christoffer Lerno
32675161c4
- Attrdef eval environment lacked rtype, causing error on invalid args #2797
2026-01-22 19:47:37 +01:00
Christoffer Lerno
b1fea45cd1
Using an optional type as generic parameter was not properly caught #2799
2026-01-22 13:34:16 +01:00
Christoffer Lerno
34a86852c6
Failed to reject void compile time variables, leading to crash. #2781
2026-01-20 23:07:11 +01:00
Christoffer Lerno
5390ca6250
- Eager evaluation of macro arguments would break inferred arrays on some platforms. #2771 .
2026-01-20 13:02:14 +01:00
Christoffer Lerno
61e84e4d34
One last regression fix.
2026-01-20 11:47:17 +01:00
Christoffer Lerno
1b82b7d2f2
Fix regression with conditional methods.
2026-01-20 11:20:39 +01:00
Christoffer Lerno
4512c6446d
- Empty struct after @if processing was not detected, causing a crash instead of an error.
...
- Comparing an uint and int[<4>] was incorrectly assumed to be uint compared to int, causing a crash instead of an error.
- When an `int[*][6]` was given too few values, the compiler would assert instead of giving an error.
2026-01-19 15:01:08 +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
Christoffer Lerno
dd8449576f
- Passing a non-conststring to module attributes like @cname would trigger an assert rather than printing an error.
...
- Passing different types to arg 1 and 2 for $$matrix_transpose would trigger an assert.
- Zero init of optional compile time variable would crash the compiler.
- Using multiple declaration for generics in generic module would fail.
- Defining an extern const without a type would crash rather than print an error.
- Typedef followed by brace would trigger an assert.
- Union with too big member would trigger an assert.
2026-01-18 22:47:17 +01:00
Christoffer Lerno
c3b2694834
Generics with <>. Deprecation of {} generics.
2026-01-18 00:33:43 +01:00
Christoffer Lerno
6dcd91c5ef
- Assert on defining a const fault enum with enumerator and fault of the same name. #2732
2026-01-17 15:01:40 +01:00
Christoffer Lerno
c2e603ddd8
Expand inference.
2026-01-17 14:03:58 +01:00
Christoffer Lerno
7f297a9d27
Fix type inference overrides parameterization #2761 . Remove support for ^io::EOF
2026-01-15 15:19:33 +01:00
Christoffer Lerno
ebd7b7243a
Fix bug when evaluating a non-generic identifier.
2026-01-07 03:13:14 +01:00
Christoffer Lerno
ad8769580a
Methods registered with generic type will implicitly get templated.
2025-12-30 22:39:42 +01:00
Christoffer Lerno
493a084745
Added additional type size limits.
2025-12-30 13:42:14 +01:00
Christoffer Lerno
90f0486334
- Assert when encountering a test function with raw vaarg parameters.
2025-12-30 12:28:03 +01:00
Christoffer Lerno
c949bd3108
Assert when struct size would exceed 4 GB.
2025-12-29 22:24:41 +01:00
Christoffer Lerno
d96624c578
Decoupled generics ( #2695 )
2025-12-29 17:01:03 +01:00
Christoffer Lerno
e49e3e32e7
- Fix error message when a method has the wrong type for the first argument.
...
- Add `any.to` and `any.as`.
2025-12-16 16:02:56 +01:00
Christoffer Lerno
86a05ba6c0
Fix issue with inlining span.
2025-12-16 14:22:25 +01:00
Christoffer Lerno
a2aa9fae6b
- Reference macro parameters syntax does not error in certain cases. #2612
2025-11-30 02:23:00 +01:00
Dmitry Atamanov
07fa14f00b
Change sema_decls.c mode to 0664 (rw-rw-r--)
2025-11-28 16:06:58 +01:00
Christoffer Lerno
463c6957fc
- Support int $foo... arguments. #2601
2025-11-26 23:54:18 +01:00
Christoffer Lerno
8ec3a52ef7
- Add float[<3>] x = { .xy = 1.2, .z = 3.3 } swizzle initialization for vectors. #2599
2025-11-26 11:31:22 +01:00
Christoffer Lerno
2a41fa6281
Passing a single value to @wasm would ignore the renaming
2025-11-18 18:25:07 +01:00
Christoffer Lerno
1e543dc286
- Support @param directives for ... parameters. #2578
2025-11-17 10:44:04 +01:00