Koni Marti
15fc435d92
collections: fix LinkedList.to_format
...
For-loop in LinkedList.to_format goes brrrrrr and prints the value of
the first node an infinte number of times because it does not properly
iterate the linked list.
Fix the list iterations and add the missing string format specifier.
Bug can be reproduced with:
```
import std;
fn void main() => @pool()
{
io::printfn("%s", linkedlist::@tnew{usz}({1,2,3}));
}
```
2026-01-13 23:09:05 +01:00
Manuel Barrio Linares
9d54e9e3c4
a fix to generated C header global
...
test:
```c3
module my_module;
alias Something = fn void(int);
Something something @export("something") = &something_else;
fn void something_else(int a) => {};
```
would generate
```c
/* GLOBALS */
my_module__Somethingextern something;
```
now correctly generates
```c
/* GLOBALS */
extern my_module__Something something;
```
Signed-off-by: Manuel Barrio Linares <mbarriolinares@gmail.com >
2026-01-13 23:07:49 +01:00
Book-reader
c73c7cb2a3
add Win32_CODEPAGES enum and enable utf8 console output on win32 ( #2670 )
...
* add Win32_CODEPAGES enum and enable utf8 console output on win32
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-01-13 23:00:01 +01:00
Gourmet
827ad18ef4
Ignore ctags and gtags files in .gitignore
...
This PR updates the .gitignore file to exclude automatically generated tags files from ctags and gtags.
Specifically, it ignores:
- ctags output file: tags
- GNU Global output files: GTAGS, GRTAGS, GPATH
2026-01-13 18:08:43 +01:00
Darvis
3fc562af6f
Fix minor typos in README.md
2026-01-13 18:06:33 +01:00
Arnaud Duforat
87c42f1cd3
Add unit tests for HMAC 256 based on RFC 4231 ( #2744 )
...
* Add unit tests for HMAC 256 based on RFC 4231
* Formatting, shorten initializers.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-01-12 11:26:49 +01:00
Christoffer Lerno
e93f22fbda
- bitorder::read and bitorder::write may fail because of unaligned access #2734 .
2026-01-12 01:11:31 +01:00
Christoffer Lerno
8fa59cbb43
Creating recursive debug info for functions could cause assertions.
2026-01-07 23:50:56 +01:00
Christoffer Lerno
527766310f
Update pointer type naming.
2026-01-07 23:12:09 +01:00
Christoffer Lerno
a02b0a1f4c
Update LLVMHasUseList.
2026-01-07 20:29:55 +01:00
Christoffer Lerno
4d93db51ee
Check properly has use list.
2026-01-07 19:59:40 +01:00
Christoffer Lerno
fa2e6e8189
Fix typo
2026-01-07 15:56:34 +01:00
Christoffer Lerno
0fc1871ddf
- Assert on optional-returning-function in a comma expression. #2722
2026-01-07 15:53:54 +01:00
Christoffer Lerno
197f82d829
Revert windows
2026-01-07 03:36:48 +01:00
Christoffer Lerno
4ad11724d1
Update Windows flags
2026-01-07 03:31:03 +01:00
Christoffer Lerno
6d53fd6f6e
Fix test.
2026-01-07 03:18:01 +01:00
Christoffer Lerno
db47b0555d
Update windows LLVM version
2026-01-07 03:15:59 +01:00
Christoffer Lerno
ebd7b7243a
Fix bug when evaluating a non-generic identifier.
2026-01-07 03:13:14 +01:00
Christoffer Lerno
e0771beabc
Remove pointer names in debug, following Clang.
2026-01-07 02:35:05 +01:00
Christoffer Lerno
824d064710
Fix tests.
2026-01-07 00:55:30 +01:00
Christoffer Lerno
336ddb67c8
Incorrect alignment on typedef and local variable debug info.
2026-01-07 00:16:49 +01:00
Christoffer Lerno
9ad98beda7
- Crash when doing a type property lookup for const inline enums in some cases #2717 .
2026-01-06 15:28:18 +01:00
Christoffer Lerno
702f836b40
io::read_fully now handles unbounded streams properly
2026-01-05 22:27:55 +01:00
Christoffer Lerno
d820a2356a
Fix: Compiler assert when attempting to define multiple faults in a generic module. #2706
2026-01-05 21:04:23 +01:00
Christoffer Lerno
fa1951642b
Add debug info
2026-01-05 00:11:48 +01:00
Christoffer Lerno
42dc2d541a
Add testcase.
2026-01-04 22:05:01 +01:00
Chad Adams
fdbbe5c1aa
improve c3c init error message ( #2697 )
...
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-01-03 17:17:12 +01:00
Christoffer Lerno
292bf1cbbc
Designated initialization with ranges would not error on overflow by 1.
2026-01-03 02:32:40 +01:00
Christoffer Lerno
82769669ec
Fix of generic with multiple parameters fail. #2702
2026-01-03 00:09:14 +01:00
Christoffer Lerno
29b211eefc
- Fix the case where \u<unicode char> could crash the compiler on some platforms.
2026-01-01 21:44:37 +01:00
Zack Puhl
e4965ab408
Add BLAKE3 Hashing/XOF to stdlib ( #2667 )
...
* blake3: initial unit test passing!
* typo
* add key derivation macros; vanilla unit tests; working to test 18 atm
* mark it here - all tests passing o_o
* finish first-round unit tests - will add more if necessary
* add crypto shootout bench entertainment
* tests: add XOF unit w/ seek; assert NO finalization
* add another to finalizations unit test
* add all BLAKE3 scaffolding for later SIMD optimizations
* irksome
* tabs
* tabs2
* extra documentation / contracts
* extra detail
* try to make things a bit more arch-neutral
* release notes
* Formatting
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-01-01 21:11:33 +01:00
Christoffer Lerno
067a4f7cb1
Fixed codegen for vec->array in the boolean case.
2026-01-01 00:25:32 +01:00
Christoffer Lerno
739e91efa4
- Reduced memory usage for backtraces on Linux.
...
- `String.tokenize_all` would yield one too many empty tokens at the end.
- `String.replace` no longer depends on `String.split`.
2025-12-31 10:08:00 +01:00
Christoffer Lerno
26d733ef59
No optimization in test runner for MSVC
2025-12-31 00:45:35 +01:00
Christoffer Lerno
32d6025e29
Add panics just in case.
2025-12-31 00:43:19 +01:00
Christoffer Lerno
04706f2dcd
Fix issue when removing test files on abort.
2025-12-31 00:13:38 +01:00
Christoffer Lerno
d8a7c57b56
- Miscompilation: global struct with vector could generate an incorrect initializer.
2025-12-30 23:54:00 +01:00
Christoffer Lerno
ad8769580a
Methods registered with generic type will implicitly get templated.
2025-12-30 22:39:42 +01:00
Christoffer Lerno
d51dd09a1f
Made contracts aggregate from types etc
2025-12-30 21:31:45 +01:00
Christoffer Lerno
5ed4f9519f
- x'1234' +++ (ichar[1]) { 'A' } would fail due to missing const folding.
2025-12-30 16:06:28 +01:00
Christoffer Lerno
493a084745
Added additional type size limits.
2025-12-30 13:42:14 +01:00
Christoffer Lerno
9bd04526e8
foo.x was not always handled correctly when foo was optional.
2025-12-30 12:38:04 +01:00
Christoffer Lerno
90f0486334
- Assert when encountering a test function with raw vaarg parameters.
2025-12-30 12:28:03 +01:00
Christoffer Lerno
e4f1b57bd0
Assert when encountering a malformed module alias.
2025-12-29 22:41:42 +01:00
Christoffer Lerno
c949bd3108
Assert when struct size would exceed 4 GB.
2025-12-29 22:24:41 +01:00
Christoffer Lerno
56f8008d85
- Parse error in $defined was not handled correctly, leading to an assertion.
2025-12-29 22:09:39 +01:00
Christoffer Lerno
c6a96ad7f3
- i<n> suffixes were not caught when n < 8, causing an assert.
2025-12-29 21:57:06 +01:00
Christoffer Lerno
328e6f518c
Fix bug when encountering Type{} where Type is a generic parameter.
2025-12-29 19:34:45 +01:00
Christoffer Lerno
8ec4a2cada
Fix test.
2025-12-29 17:25:49 +01:00
Zack Puhl
9b318ec233
[stdlib] Impove SHA-256 Performance ( #2671 )
...
* [stdlib] Impove SHA-256 Performance
Cleaned up the code a bit. Seems to have improved performance anywhere from ~10-25%.
* trade-offs, trade-offs... reduce codegen
* Fix formatting
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-12-29 17:07:03 +01:00