Christoffer Lerno
582453cb45
Assert triggered when trying to slice a struct.
2025-08-12 00:01:55 +02:00
Christoffer Lerno
be98a01ed8
types::has_equals fails with assert for bitstructs #2377
2025-08-11 20:53:11 +02:00
Christoffer Lerno
1d25197bfd
Bitstructs no longer overloadable with bitops. #2374
2025-08-06 14:51:37 +02:00
Zack Puhl
aae873c044
Add bitsizeof to Builtins ( #2376 )
...
* Add `bitsizeof` to Builtins
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-06 13:55:39 +02:00
Zack Puhl
6471728ee5
Add @clz CT macro ( #2367 )
...
* Add `@clz` CT macro
2025-08-06 13:42:52 +02:00
Christoffer Lerno
29bae1fbd6
Updated like the PR #2375
2025-08-06 11:28:36 +02:00
Christoffer Lerno
9c770f360e
Formatter did not properly handle "null" for any, and null for empty faults. #2375
2025-08-06 11:23:56 +02:00
Christoffer Lerno
3b6d68ef21
Compiler segfault when using bitwise not on number literal cast to bitstruct #2373 .
2025-08-06 00:55:56 +02:00
Christoffer Lerno
24c03f9800
Fixed bug generating $c += 1 when $c was derived from a pointer but behind a cast.
2025-08-06 00:44:22 +02:00
Christoffer Lerno
0205ee8688
Added the std::core::log for logging.
2025-08-05 18:30:46 +02:00
Christoffer Lerno
abd3585c44
Parsing difference between "0x00." and "0X00." literals #2371
2025-08-05 13:09:53 +02:00
Christoffer Lerno
aa910a1c44
Compiler assert when using generic parameters list without any parameters. #2369
2025-08-05 12:50:36 +02:00
Christoffer Lerno
00b88a8027
Compiler assertion when defining a function with return type untyped_list #2368 . In general, improve error message when ct types are return types.
2025-08-05 04:11:54 +02:00
Christoffer Lerno
229fdd6193
Detect recursive creation of generics #2366 .
2025-08-05 02:55:32 +02:00
Christoffer Lerno
c99284103d
Fix issue with naked functions #2365
2025-08-04 15:51:49 +02:00
LowByteFox
0e10b71cbf
Stdlib: SingleSizeObjectPool implementation ( #2360 )
...
* implement working single size object pool
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-04 14:54:26 +02:00
Christoffer Lerno
f2d27229d2
Bug causing a compiler error when parsing a broken lambda inside of an expression.
2025-08-04 12:25:19 +02:00
hamkoroke
440df8415e
Support memory mapped files and add File.map ( #2321 )
...
* Support memory mapped files and add File.map
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-03 23:26:52 +02:00
Velikiy Kirill
8358af2240
Add LinkedBlockingQueue ( #2328 )
...
* Add LinkedBlockingQueue
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-03 22:47:21 +02:00
Christoffer Lerno
4625b457fb
Add additional checks for phi to prevent miscompilation.
2025-08-03 17:46:03 +02:00
Christoffer Lerno
151a28a92a
Codegen error in if (try x = (false ? io::EOF? : 1)), i.e. using if-try with a CT known value.
2025-08-03 16:28:11 +02:00
Christoffer Lerno
9fe6c77d28
Codegen error in if (try x = (true ? io::EOF? : 1)), i.e. using if-try with a known Empty.
2025-08-03 13:33:53 +02:00
Zack Puhl
483fe62750
OpenBSD Sockets ( #2353 )
...
* native file testing for BSD
* basic OpenBSD socket port
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-02 23:15:53 +02:00
Zack Puhl
2a47cc2ca9
Pair and Triple Compare w/ Unit Tests ( #2359 )
...
* Pair and Triple Compare w/ Unit Tests
* scope creep myself by adding date-time eq op
* make Pair and Triple printable
* Update releasenotes. Restrict equals on tuples to when underlying type supports `==`. Remove unnecessary Time.eq.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-02 23:11:27 +02:00
Zack Puhl
e707190539
Add @intlog2 for Floored CT log-base2 ( #2355 )
...
* Add `@intlog2` for Floored CT log-base2
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-02 22:53:36 +02:00
Christoffer Lerno
9c58db99af
With avx512, passing a 512 bit vector in a union would be lowered incorrectly, causing an assert. #2362
2025-08-02 16:56:43 +02:00
Christoffer Lerno
90c339ebdb
List.remove_at would incorrectly trigger ASAN.
2025-08-02 16:56:43 +02:00
Christoffer Lerno
e3a8a3ec02
Support alias foo = module std::io module aliasing.
2025-08-02 16:56:43 +02:00
Christoffer Lerno
6d9906db0a
Fix implicit linking from macros when it's not valid to add dependencies.
2025-07-31 16:21:50 +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
8151305701
Fix so that rethrow is detected as well.
2025-07-29 20:50:32 +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
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
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
Velikiy Kirill
a21e641748
LinkedHashMap: Fix head being null when initializing from map ( #2334 )
...
* LinkedHashMap: Fix head being null when initializing from map
2025-07-28 00:26:14 +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
Velikiy Kirill
a673b4ad66
Add LinkedHashMap and LinkedHashSet implementations ( #2324 )
...
* Add LinkedHashMap and LinkedHashSet implementations
Add two new ordered collection types to std::collections:
- LinkedHashMap: insertion-order preserving hash map
- LinkedHashSet: insertion-order preserving hash set
2025-07-25 23:28:10 +02:00
Velikiy Kirill
e790df539d
Add HashSet implementation ( #2322 )
...
* Add HashSet implementation
Add a generic HashSet with full allocator support and standard set operations.
- Basic operations: add/remove/contains/clear
- Set operations:union_set/intersection/symmetric_difference/difference/is_subset
- Memory management with allocator support
- Iteration support
- Automatic resizing with load factor control
* Add "add_all" "add_all_from" "remove_all" "remove_all_from"
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-25 19:53:39 +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
LowByteFox
5c82747970
Improved OpenBSD support ( #2317 )
...
* add openbsd support, compiles and passses all tests
* fix backtrace
* gh actions should include openbsd artifacts
2025-07-22 15:15:20 +02:00
Christoffer Lerno
428165590e
Add Volatile type.
2025-07-22 14:13:48 +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
hamkoroke
382a65abcd
Support asm x86 popcnt ( #2314 )
...
* Support asm x86 popcnt
2025-07-21 02:40:17 +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