Christoffer Lerno
ed61b51489
Adding MultiLogger
2025-08-05 18:49:41 +02:00
Christoffer Lerno
0205ee8688
Added the std::core::log for logging.
2025-08-05 18:30:46 +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
Zack Puhl
604661b12c
Increase Primitive Type Hash Speeds ( #2329 )
...
* simplify and add much faster hash functions in key locations
* add benchmark runtime @start and @end macros for better control
* update benchmark reporting and hashmap tests
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-04 11:50:17 +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
Zack Puhl
91b866c967
Immediately skip empty tests ( #2352 )
2025-08-02 23:17:34 +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
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
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
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
b45c337515
Contract fix.
2025-07-22 15:14:10 +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
908d705669
Removing use of $assignable and deprecate it.
2025-07-20 20:07:06 +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
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
Christian Buttner
8df112e157
Add WString.len
2025-07-15 20:30:14 +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
f082cac762
Updates to API
2025-07-14 03:44:52 +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
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
Kiana
802fbfcf1e
Add ansi.c3 for AnsiColor support ( #2261 )
...
* Add ansi.c3 for AnsiColor support
* Added tests
updated functions to macros
added formatting codes
* Fixed indentation
* Update names. Add plain rgb version. Add runtime colors.
* Update indentation, add 21-29
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-06 01:37:54 +02:00
Christoffer Lerno
0d170a70b6
Make to_float more tolerant to spaces.
2025-07-05 19:42:44 +02:00
Christoffer Lerno
60d96ca7b7
Initialize pool correctly in print_backtrace.
2025-07-04 02:43:49 +02:00
Christoffer Lerno
af192354fd
Comparing a null ZString with a non-null ZString would crash.
2025-07-02 01:22:34 +02:00
Christoffer Lerno
13bb2b6690
Const Enums From / to ordinal using casts is back. Add "--use-old-enums", deprecating lookup.
2025-06-30 21:41:52 +02:00
Disheng Su
d46733e11a
Add string escaping and unescaping functionality ( #2243 )
...
* Add `String.escape`, `String.unescape` for escaping and unescaping a string.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-06-29 20:11:11 +02:00
Book-reader
5246ef83e7
Fix typo in libc_allocator.c3
2025-06-28 14:33:18 +02:00
Christoffer Lerno
8a4e7b6ce8
Fix regression causing text output.
2025-06-25 02:48:22 +02:00
Christoffer Lerno
a0497e9274
math::overflow_* wrappers incorrectly don't allow distinct integers #2221 .
2025-06-21 13:28:45 +02:00
Christoffer Lerno
2f45beecbe
@pool now has an optional reserve parameter, some minor changes to the temp_allocator API
2025-06-19 01:13:43 +02:00
Christoffer Lerno
a55f56a88f
Linker errors when shadowing @local with public function #2198
2025-06-18 02:07:07 +02:00
Christoffer Lerno
b2c994618f
Fix to is_array_or_slice_of_char #2214 .
...
`is_array_or_slice_of_char` and `is_arrayptr_or_slice_of_char` are replaced by constant `@` variants.
2025-06-15 16:54:20 +02:00
Christoffer Lerno
cf167c9446
Make unreachable() only panic in safe mode.
2025-06-14 18:37:49 +02:00
Christoffer Lerno
e0237096d6
- Support untyped second argument for operator overloading.
...
- Distinct versions of builtin types ignore @operator overloads #2204 .
- @operator macro using untyped parameter causes compiler segfault #2200 .
- Add comparison with `==` for ZString types.
2025-06-13 17:12:39 +02:00
Christoffer Lerno
becda6ea1d
Improve Android linking
2025-06-08 15:06:19 +02:00
Book-reader
9bc5e259d2
fix types::may_load_atomic with enums
2025-06-07 13:54:27 +02:00
Christoffer Lerno
5e45c34f21
- Deprecate String.is_zstr and String.quick_zstr #2188 .
2025-06-06 15:30:46 +02:00
Christoffer Lerno
f2daf2e11e
@sprintf macro (based on the $$sprintf builtin) allows compile time format strings #1874 .
2025-06-06 03:18:28 +02:00
Christoffer Lerno
c9d9127da6
Deprecate foo.#bar.
2025-06-05 12:51:35 +02:00
Christoffer Lerno
7f85534414
- Implicitly convert from constant typeid to Type in $Type assignment, and $assignable.
...
- Make $Type parameters accept constant typeid values.
2025-06-05 00:37:16 +02:00
Christoffer Lerno
8fc01d4e1a
Simplify contract macros.
2025-06-02 22:53:06 +02:00
Christoffer Lerno
4d848f1707
Incorrect ensure on String.split.
2025-06-01 20:28:32 +02:00