Christoffer Lerno
8e0d6d11b9
Deprecated '&' macro arguments.
2025-01-08 22:13:49 +01:00
Christoffer Lerno
dad97fc2d9
Improved #foo resolution inside of the compiler.
...
Deprecation of several `&` macros.
2025-01-08 12:55:20 +01:00
Christoffer Lerno
34c7f4e6b7
Deref subscripts as needed for macro ref method arguments. #1789
2025-01-06 13:54:02 +01:00
Christoffer Lerno
ea2dce0ab4
Make "?:" lower in the frontend.
2025-01-06 03:01:13 +01:00
Christoffer Lerno
314c6f94f0
Remove the last "cast" operations.
2025-01-06 01:51:03 +01:00
Christoffer Lerno
8fd119e546
Refactor vector->array scalar->vector and slice->array casts to expressions.
2025-01-06 00:22:26 +01:00
Christoffer Lerno
8612476103
Refactor float<->float ptr->int and int->enum casts to expressions.
2025-01-05 23:16:48 +01:00
Christoffer Lerno
218f293cd4
Introducing int_to_ptr expr.
2025-01-05 15:26:20 +01:00
Christoffer Lerno
4d641d193c
Refactoring removing cast types.
2025-01-05 15:09:30 +01:00
Christoffer Lerno
07c59e6a6c
Fix +a = 1 erronously being accepted. Refactorings.
2025-01-05 02:24:11 +01:00
Christoffer Lerno
4c3944f626
Refactor vec comparisons.
2025-01-04 23:06:21 +01:00
Christoffer Lerno
469188044d
Assert on certain slice to slice casts. #1768 .
2025-01-04 13:31:47 +01:00
Christoffer Lerno
38063e5602
Refactor casts.
2025-01-04 13:04:08 +01:00
Christoffer Lerno
db4dc114f2
$vasplat was allowed inside of a function when passed as an argument to a function.
2025-01-03 15:01:24 +01:00
Christoffer Lerno
a3d15fe16c
Fix issue with zero arg @operator(construct). Assert on add to uninitialized ct variable #1765
2025-01-03 11:45:46 +01:00
Christoffer Lerno
56d25cdeeb
Remove array->vector casts
2025-01-03 01:35:51 +01:00
Francesco Alemanno
a16316d7b4
enhance default hashing strategy for basic types ( #1758 )
...
* enhance default hashing strategy for basic types
* fix
* `$defined` in a global scope should accept testing normal macros.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-02 20:44:33 +01:00
Christoffer Lerno
14d8e93004
Return type inference bugs with macros #1757
2025-01-02 17:34:37 +01:00
Christoffer Lerno
1994cba73e
Fix default #foo args.
2025-01-02 15:23:21 +01:00
Christoffer Lerno
7c45ae24ae
Macros with default arguments to &, # and type parameters didn't work as expected. #1754 .
2025-01-01 17:52:32 +01:00
Christoffer Lerno
faf1c5cb64
Introduce EXPR_RVALUE for some additional refactoring.
2025-01-01 12:19:00 +01:00
Christoffer Lerno
322c70433b
Refactoring, stop using int to bool as cast. Merge make any.
2024-12-31 16:32:37 +01:00
Christoffer Lerno
4232c9d2b0
Fix bug when including compile time parameters in trailing body more than once.
2024-12-30 17:57:36 +01:00
Christoffer Lerno
df74cbf06f
Fix bug where !! and ! was not recognized to jump out of the current scope. Remove more casts.
2024-12-30 01:43:02 +01:00
Christoffer Lerno
5af224ab16
Remove 3 casts and replace them with a single new normal expression node.
2024-12-30 00:55:40 +01:00
Christoffer Lerno
75ba4a1cdb
Incorrectly handles distinct enums and pointers with '+=' and '-=' #1717 .
2024-12-25 23:09:10 +01:00
Christoffer Lerno
e5ca9065bd
Deprecate cast conversion from enum -> integer.
2024-12-25 20:34:28 +01:00
Christoffer Lerno
e453e6f9ca
- Add enum.from_ordinal and fault.from_ordinal
...
- Deprecate cast-style conversion from integer to enum.
- Make deprecation an error in test mode.
2024-12-23 15:27:59 +01:00
Christoffer Lerno
3dd725a0f0
Crash when a constant null typeid is checked for properties. #1679
2024-12-14 15:13:43 +01:00
Christoffer Lerno
723e1dd9a6
Fix issue with overloaded *= etc
2024-12-11 20:56:11 +01:00
Christoffer Lerno
f006b05010
Fix issue with accessing arrays in access-overloaded types, e.g. list[1][2] #1665 .
2024-12-08 18:04:29 +01:00
Christoffer Lerno
cc9a501351
Fix bug preventing optionals from being used in ranges or as indices.
2024-11-28 00:48:58 +01:00
Christoffer Lerno
652456646f
Prevent methods from using names of properties or fields. #1638
2024-11-22 16:40:33 +01:00
Christoffer Lerno
ae1b39eb60
Not possible to alias or take reference for extension methods on non-user defined types. #1637
2024-11-21 14:48:13 +01:00
Christoffer Lerno
50d31ba398
Fix issue with overloaded subscript and ++/--.
2024-11-20 23:44:42 +01:00
Christoffer Lerno
ba54232b8d
Fix issue with overloaded subscript and ++/--.
2024-11-20 00:23:08 +01:00
Christoffer Lerno
295b374b48
Support &a[0] returning the distinct type when applying it to a distinct of a pointer.
2024-11-17 22:25:57 +01:00
Christoffer Lerno
a228eb020d
Allow splat in initializers.
2024-11-11 23:54:35 +01:00
Christoffer Lerno
c46933a81a
Refactor "splat" parsing.
2024-11-11 15:43:17 +01:00
Christoffer Lerno
acab95792f
Improve error message when incorrectly using Type as an rvalue.
2024-11-10 01:18:56 +01:00
Christoffer Lerno
b882265e52
Start work on 0.6.5
2024-11-10 01:18:56 +01:00
Christoffer Lerno
6258cba79a
@tag on macros cannot be retrieved with tagof #1582
2024-11-04 02:51:58 +01:00
Waqar Ahmed
213831289a
Fix compile with gcc 14.2.1 ( #1594 )
...
* Fix compile with gcc 14.2.1 Fixes -Werror=maybe-uninitialized warnings
* Updated to use INVALID_PTR rather than NULL.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2024-11-04 00:20:14 +01:00
Christoffer Lerno
b7a23e558a
Fixes with error handling recursive @tag #1583 .
2024-10-30 20:57:17 +01:00
Christoffer Lerno
827440686f
$define would occasionally not properly evaluate declarations it encountered.
2024-10-30 11:59:18 +01:00
Christoffer Lerno
b187d5a3fc
Named vector component access would not fold at compile time. #1574
2024-10-26 13:22:35 +02:00
Christoffer Lerno
c0c571ffe0
Incorrect error message when $eval is provided an invalid string. #1570
2024-10-25 10:31:45 +02:00
Christoffer Lerno
d344cc6020
(uptr)&((Foo*)null).a incorrectly inserts a null check. #1544 .
...
Fix regression handling typedefs from generic modules.
2024-10-22 12:15:39 +02:00
Christoffer Lerno
c013006671
Improve infer conversions on constants, e.g. ZString a = foo ? "a" : "b"; #1561
2024-10-17 01:20:52 +02:00
Christoffer Lerno
705856d51a
- Disallow casting a void* to any or an interface, unless it is null.
...
- Defer resolution of declarations when looked up in `def` aliased #1559 .
2024-10-16 12:50:47 +02:00