Christoffer Lerno
61a21203f4
Assigning string literal to char[<*>] stores pointer rather than characters. #2357
2025-08-01 10:32:53 +02:00
Christoffer Lerno
334ee975b9
Assignment evaluation order now right->left, following C++17.
2025-07-31 11:49:42 +02:00
Christoffer Lerno
44f4efa5aa
Do not allow parameters in naked functions.
2025-07-30 01:01:56 +02:00
Christoffer Lerno
3ac9bfc387
Allow accessing parameters in a naked function, just disallow return, this fixes #1955 .
2025-07-29 20:38:53 +02:00
Christoffer Lerno
d805ff9782
Lambda deduplication would be incorrect when generated at the global scope.
2025-07-29 17:45:11 +02:00
Christoffer Lerno
fa9ba3f607
Not setting android-ndk resulted in a "set ndk-path" error.
2025-07-29 11:33:40 +02:00
Zack Puhl
9d2be2851b
Add @try Builtin ( #2333 )
...
* Add @try macro
* Add @try_catch. Update release notes.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-29 00:50:56 +02:00
Zack Puhl
2639338426
Support full paths with $embed ( #2335 )
...
* Support full paths with `$embed`
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-28 23:44:17 +02:00
Christoffer Lerno
6641155892
Lambdas now properly follow its attributes #2346 .
2025-07-28 19:49:40 +02:00
Christoffer Lerno
86034353ec
Remove unnecessary "ret" in naked functions #2344 .
2025-07-28 18:36:33 +02:00
Christoffer Lerno
194b7c4772
Crash when parsing recursive type declaration #2345 .
2025-07-28 18:02:25 +02:00
Christoffer Lerno
4977bd1d78
@format did not work correctly with macros #2341 .
2025-07-28 10:38:18 +02:00
Christoffer Lerno
208b0f6d0e
Fix issue where recursively creating a dir would be incorrectly marked as a failure the first time.
...
Place output in `out` by default for projects. Use temp folder for building at the command line.
2025-07-28 00:19:12 +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
625bfa5713
Updated releasenotes.
2025-07-23 17:04:33 +02:00
Christoffer Lerno
3400dd5e42
char[*] b = *(char[*]*)&a; would crash the compiler if a was a slice. #2320
2025-07-23 16:10:31 +02:00
Christoffer Lerno
9575698fa4
Add String conversion functions snake_case -> PascalCase and vice versa.
2025-07-23 00:26:44 +02:00
Christoffer Lerno
5f0a7dd63e
Rename AlignedRef -> UnalignedRef
2025-07-22 15:55:43 +02:00
Christoffer Lerno
9dc6b0e660
Added AlignedRef generic type.
2025-07-22 15:11:14 +02:00
Christoffer Lerno
428165590e
Add Volatile type.
2025-07-22 14:13:48 +02:00
Christoffer Lerno
53051e04a3
Add thread::fence (from $$fence builtin). Ref and RefCounted types.
2025-07-22 00:37:41 +02:00
Christoffer Lerno
869bcf8b2b
Removing use of $assignable and deprecate it. Fix regression for stacktraces on MacOS. Added readline_to_stream. Regression: Chaining an optional together with contracts could in some cases lose the optional.
2025-07-21 03:20:40 +02:00
Christoffer Lerno
908d705669
Removing use of $assignable and deprecate it.
2025-07-20 20:07:06 +02:00
Zack Puhl
ed92476916
Add wyhash2 and metro64/128 modern hashing ( #2293 )
...
* add wyhash2, metro64, and metro128 hashes; best performing non-crypto hash functions
* add superfast 64-bit a5hash; not streamed, no 128-bit impl
* add komihash and associated tests/benchmarks
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-20 00:06:10 +02:00
Christoffer Lerno
b88722b4a6
Copying const enums and regular enums incorrect #2313 .
2025-07-19 21:07:25 +02:00
Christoffer Lerno
694d297eb8
"poison" the current function early when a declaration can't be correctly resolved.
2025-07-19 20:49:26 +02:00
Christian Buttner
2053f2767b
Add ConditionVariable.wait_until and ConditionVariable.wait_for ( #2302 )
...
* Add `ConditionVariable.wait_until` and `ConditionVariable.wait_for`
* Add "@structlike" for typedefs.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-19 13:12:14 +02:00
Airtz
b1a22b5002
Implement Ed25519 ( #2297 )
...
* Implement Ed25519
* Overloading addition with a pointer would not work.
* Added @addr macro.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-19 01:13:15 +02:00
Christoffer Lerno
e9aee55714
A distinct type based on an array would yield .len == 0
2025-07-18 21:24:09 +02:00
Christoffer Lerno
2acf3c57c7
Check unaligned array access.
2025-07-18 20:45:57 +02:00
Zack Puhl
b8d07474fe
Add SipHash Family of Keyed PRFs ( #2287 )
...
* implement SipHash family of keyed PRFs
2025-07-18 16:16:47 +02:00
Christian Buttner
cf913b41c6
Fix Formatter.print returning incorrect size ( #2306 )
...
* Fix `Formatter.print` returning incorrect size
2025-07-18 15:54:07 +02:00
Christoffer Lerno
adb3df05c6
Allow even smaller memory limits.
2025-07-18 10:54:03 +02:00
Christoffer Lerno
774a375ce7
@links on macros would not be added to calling functions.
2025-07-17 15:17:58 +02:00
Christoffer Lerno
ee35001732
Suppress codegen of panic printing with when panic messages are set to "off".
...
Implicit linking of libc math when libc math functions are used.
2025-07-17 14:45:02 +02:00
Christoffer Lerno
379d16abe7
Some refactoring of ranges. env::AUTHORS and env::AUTHOR_EMAILS
2025-07-16 12:23:24 +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
3650b81970
Segfault when failing to cast subexpression to 'isz' in pointer subtraction #2305 .
2025-07-15 21:47:49 +02:00
Christoffer Lerno
af91f35017
Fix stringify of $vaexpr #2301 .
2025-07-15 17:13:10 +02:00
Christoffer Lerno
1a351bdb6d
Error message for missing arg incorrect for methods with zero args #2296 .
2025-07-14 23:21:15 +02:00
Christoffer Lerno
efaac43248
- Virtual memory library.
...
- New virtual emory arena allocator.
- Fixed resize bug when resizing memory down in ArenaAllocator, DynamicArenaAllocator, BackedArenaAllocator.
- Added feature flag "SLOW_TESTS"
2025-07-14 22:36:43 +02:00
Christoffer Lerno
2bd289ebd6
Added VirtualMemory
2025-07-14 03:07:03 +02:00
Christoffer Lerno
aba9baf207
Added Vmem allocator
2025-07-13 17:26:57 +02:00
Christoffer Lerno
e755c36ea2
Removed the use of temp allocator in backtrace printing.
...
Added string::bformat.
2025-07-13 02:58:57 +02:00
Christoffer Lerno
cdd530d807
Fixed bug splatting constants into constants.
2025-07-11 01:55:09 +02:00
Christoffer Lerno
02c0db7b8b
Multiline contract comments #2113
2025-07-11 01:18:58 +02:00
Christoffer Lerno
8a62c12089
Update releasenotes with whirlpool
2025-07-10 18:32:26 +02:00
Christoffer Lerno
988549599d
$is_const is deprecated in favour of @is_const based on $defined.
...
`$foo` variables could be assigned non-compile time values.
`$foo[0] = ...` was incorrectly requiring that the assigned values were compile time constants.
2025-07-10 18:31:44 +02:00
Christoffer Lerno
2dfbdea889
Update error message for struct initialization #2286
2025-07-10 16:29:49 +02:00
Christoffer Lerno
299d1f530f
Correctly poison the analysis after a failed $assert or $error. #2284
2025-07-09 16:51:43 +02:00