Christoffer Lerno
3e1e3e3e29
Incorrect error message when providing too many associated values for enum #1934 .
2025-02-07 10:44:53 +01:00
Christoffer Lerno
0388910c17
Cleanup.
2025-02-07 01:08:28 +01:00
Christoffer Lerno
9d2f4e72c2
Add inline to enums #1819 .
2025-02-03 22:51:50 +01:00
rexim
50c590bb5f
Suggest alternative to reference macro arguments
2025-02-02 22:22:34 +01:00
Christoffer Lerno
f8b2f7f268
Refactor casts and make untyped list conversions not dependent on context.
2025-02-01 23:37:32 +01:00
Christoffer Lerno
50c1aac9bb
Usage of @noreturn macro is type-checked as if it returns #1913 .
2025-01-31 16:19:12 +01:00
Christoffer Lerno
9092defd46
defer is broken when placed before a $foreach #1912
2025-01-31 14:39:51 +01:00
Christoffer Lerno
b040736f7f
Additional cleanup.
2025-01-30 14:38:25 +01:00
Christoffer Lerno
50385be614
Some minor cleanup and updates.
2025-01-30 01:58:51 +01:00
Christoffer Lerno
55fba09b3b
Fixed STB_WEAK errors when using consts in macros in the stdlib #1871 .
2025-01-27 23:51:23 +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
d2885faa79
Further cleanup.
2025-01-20 04:09:47 +01:00
Christoffer Lerno
bb2a2526e4
Refactoring access + some macro renaming.
2025-01-20 02:44:39 +01:00
Christoffer Lerno
f9b86226a8
Refactoring identifier and catch unwrap into two different nodes.
2025-01-19 13:23:21 +01:00
Christoffer Lerno
5a36f0bc16
Fix issue with @const where the statement $foo = 1; was not considered constant.
2025-01-18 22:40:58 +01:00
Christoffer Lerno
4e78e32ced
Fix regression with contract docs and generics #1821
2025-01-12 14:19:19 +01:00
Christoffer Lerno
3a1bba19af
Allow test runners to take String[] arguments.
2025-01-09 22:32:59 +01:00
Christoffer Lerno
b941f93416
Deprecate old void! @benchmark and @test functions.
2025-01-09 20:33:53 +01:00
Christoffer Lerno
cdc1656f3a
#foo style arguments were not type checked when given a type. #1790
2025-01-09 01:28:30 +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
0ccbba61ce
Improve error message.
2025-01-03 12:07:54 +01:00
Christoffer Lerno
d921a4e168
Fix case when construct is using vaarg.
2025-01-03 12:05:10 +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
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
0a809ab5f0
Allow using 'var' to declare lambdas in functions.
2025-01-01 01:02:35 +01:00
Christoffer Lerno
78ff1a4af5
Support experimental @operator(construct) operator overload.
2025-01-01 00:45:42 +01:00
Christoffer Lerno
b7082f34a1
C backend work.
2024-12-28 17:09:43 +01:00
Christoffer Lerno
ea86c9d37a
Fix of issue where multiple methods were accepted for the same type. Fix of issue where a method was linked to a type alias instead of the underlying type. #1661
2024-12-06 13:09:47 +01:00
Christoffer Lerno
f13472a8c3
Contracts on generic modules would evaluate too late, sometimes not catching the error until it already occurred elsewhere. Add file::save.
2024-11-27 00:02:43 +01:00
Christoffer Lerno
b2724caeda
Begin work on asm label support.
2024-11-23 17:10:42 +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
b882265e52
Start work on 0.6.5
2024-11-10 01:18:56 +01:00
Christoffer Lerno
b06a611e69
Improve error message when using void aliases as variable storage type.
2024-11-01 14:56:29 +01: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
9100638400
&self argument not implicitly null checked. #1556 .
2024-10-21 00:45:40 +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
Christoffer Lerno
4445b6c054
Improve error messages on expressions like var $type = int; #1553 .
2024-10-15 11:50:15 +02:00
Christoffer Lerno
8e24f15d58
Cannot use void as a generic parameter #1546 . Interfaces now support .ptr and .type directly without casting to any.
2024-10-11 12:10:35 +02:00
Christoffer Lerno
cf07570871
Improved error message when declaring a variable void!.
2024-10-11 00:15:49 +02:00
Christoffer Lerno
e3ea1d5049
Deprecate @adhoc, allow non-nested ad hoc generic types.
2024-10-08 11:02:10 +02:00
Christoffer Lerno
02e9bfaf31
Separate const slice. Fix #1489 . Fix const slice appending. Remove unintended print of char[] as String. Support const conversion of array -> slice.
2024-10-03 15:04:33 +02:00
Christoffer Lerno
ded8bce8e6
Change no recursive import to use attribute.
2024-09-28 13:48:43 +02:00
Rachad ADEKAMBI
2146a76795
fix typo#1492 ( #1493 )
...
* fix typo#1492
* Fix missing update in sema_decls
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2024-09-28 00:22:15 +02:00
Christoffer Lerno
da47588502
Make methods be available in earlier stages of analysis. Add @adhoc attribute to allow types with ad hoc generic declarations.
2024-09-25 14:26:49 +02:00
Christoffer Lerno
a258f2084f
Allow specifying an import module using @wasm #1305 .
2024-09-24 21:31:48 +02:00
Christoffer Lerno
01b087238a
Const initializer refactoring. Improve error on "Foo![]" #1477
2024-09-24 18:04:39 +02:00
Christoffer Lerno
abbedeec4f
Allow the "self" parameter to be $/# for macro methods. Fix bug when passing a type as a compile time value.
2024-09-21 15:55:39 +02:00
Christoffer Lerno
cdae3ec936
Some refactoring of the bitstruct representation. Correctly represent inner types. #1471
2024-09-21 13:43:52 +02:00
Christoffer Lerno
2fec1c83a4
Enum attributes would be overwritten by enum value attributes.
2024-09-19 23:02:06 +02:00