Christoffer Lerno
45eb3acffe
Remove unused parameter in mem::clear.
2025-02-11 00:15:33 +01:00
Christoffer Lerno
c4212c4649
- Test runner will also check for leaks.
...
- `write` of qoi would leak memory.
- Issue when having an empty `Path` or just "."
- `set_env` would leak memory.
2025-02-10 00:39:02 +01:00
Christoffer Lerno
63f619e5b6
Add tracking allocator to test runner. #1809
2025-02-09 03:10:35 +01:00
Christoffer Lerno
e1d546225f
Update stdlib with new syntax for short function decl.
2025-02-08 23:04:59 +01:00
Christoffer Lerno
bc63c16c93
Add @select to perform the equivalent of a ? x : y at compile time.
2025-02-06 22:21:26 +01:00
Aleksandr Vedeneev
3a502feb1d
test::eq/ne/gt syntax ( #1928 )
...
* test::eq/ne/gt syntax
* renamed @almost to test::eq_approx
2025-02-05 22:50:25 +01:00
Christoffer Lerno
3c50376175
New test runner
2025-01-30 01:09:48 +01:00
Christoffer Lerno
ac3b2f0fea
- Fix bug where in dead code, only the first statement would be turned into a nop.
...
- Remove unused $inline argument to mem::copy.
2025-01-29 13:07:19 +01:00
Christoffer Lerno
02c3d5419b
Add with_padding convenience functions.
2025-01-28 00:18:08 +01:00
Rene Hangstrup Møller
d8ca0f69f6
fix allocator::new_aligned #1898
2025-01-27 20:38:11 +01:00
Christoffer Lerno
9530fe8fcd
Fix regression for parsing types and switch to the "new" generic syntax that's being tested.
2025-01-26 22:51:27 +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
c3f5806aa3
Const strings and bytes were not properly converted to compile time bools.
...
Contracts @require/@ensure are no longer treated as conditionals, but must be explicitly bool.
2025-01-18 23:24:55 +01:00
Christoffer Lerno
4cb984e56d
Prevent temp arena scribbling from causing an asan warning. #1825
2025-01-13 16:58:55 +01:00
konimarti
190dc246b3
mem: add macro to assert on memory leak in scope ( #1792 )
...
* mem: add macro to assert on memory leak in scope
Implement `mem::@assert_leak` to assert on a memory leak in the scope of
the macro body. Memory report for the leak can be disabled by setting
the boolean argument to false.
* fix: add conditional compilation flags
* Moved the code into `mem.c3` and made it a builtin.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-10 13:33:33 +01:00
Christoffer Lerno
f1325f6539
Added --lsp output.
2025-01-10 00:06:42 +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
8e0d6d11b9
Deprecated '&' macro arguments.
2025-01-08 22:13:49 +01:00
Louis Brauer
35812bd7ba
Add String.trim_left() / right() ( #1773 )
...
* Add String.trim_left() / right()
* Fix formatting
2025-01-05 21:53:18 +01:00
Christoffer Lerno
67ff78f1ca
Fix not freeing a zero length String
2025-01-05 14:30:00 +01:00
Louis Brauer
d027a15b4a
add std::net::url - with fixes ( #1748 )
...
* add std::net::url for parsing/generating URLs
* Move String.index_of_chars into std
* Fix param contract
* Idiomatic type naming, Allman formatting, slicing, document functions
* Use String.tokenize
* Don't return str_view() from freed dstring
* Change indentation to tabs
* Variable casing according to guidlelines
* Updated API and added line to the releasenotes.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-02 21:13:42 +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
99c350fc43
Fix error where panic would not properly stop the program when stacktrace couldn't be printed #1751 .
2025-01-01 13:00:04 +01:00
Christoffer Lerno
1340a47bc2
- any_to_int checks value to be int and no longer works with enum.
...
- Add check in formatter printing "%c".
2024-12-29 17:07:00 +01:00
Book-reader
4f4476ba75
fix typo in @require statement in builtin.c3
2024-12-29 12:24:36 +01:00
Christoffer Lerno
5c7a183f8a
Change CBool to be 1 byte.
2024-12-28 22:46:26 +01:00
Christoffer Lerno
d20d957881
Add @enum_from_value
2024-12-27 23:21:36 +01:00
Christoffer Lerno
9a9ff7f32c
Fix bug in OnStackAllocator when freeing overallocated data. # #1720
2024-12-25 23:57:47 +01:00
Christoffer Lerno
7b73eec82b
Prevent DString from being initialized with "".
2024-12-25 23:40:58 +01:00
Christoffer Lerno
17942925f5
Fix bug in temp allocator when temp memory is exhausted and allocation needs overaligned mem. #1715
2024-12-25 17:56:37 +01:00
Christoffer Lerno
e453e6f9ca
- Add enum.from_ordinal and fault.from_ordinal
...
- Deprecate cast-style conversion from integer to enum.
- Make deprecation an error in test mode.
2024-12-23 15:27:59 +01:00
Christoffer Lerno
9c22ab8925
Add "skip_empty" to split methods. Add split_to_buffer method.
2024-12-21 15:43:37 +01:00
Christoffer Lerno
16bbc5a026
Add "tokenizer" to String.
2024-12-20 13:18:40 +01:00
Christoffer Lerno
226fbc191b
Update to Slice2d
2024-12-17 23:12:32 +01:00
Walther Chen
c13cdcdd36
in new_struct_to_str, fix uaf
2024-12-17 11:29:18 +01:00
neokeld
a0f4976b07
Add char_at method in DString
2024-11-30 13:30:20 +01:00
Christoffer Lerno
6ca5bcc6b8
Add simple memcpy, memcmp and memset functions for nolibc.
2024-11-27 13:45:41 +01:00
Christoffer Lerno
0e213ae777
Disable report heap allocs using parameter.
2024-11-26 03:11:10 +01:00
Tim Jurcka
9112d63655
Fix args passed to __asan_region_is_poisoned
2024-11-25 11:44:39 +01:00
Christoffer Lerno
22f7faf60e
SimpleHeapAllocator bug when splitting blocks allowed memory overrun.
2024-11-21 13:36:24 +01:00
Sander van den Bosch
2788c4cc00
Add new AMX and other feature flags
2024-11-20 23:43:30 +01:00
Christoffer Lerno
ea9a871d90
Fix incorrect doc contracts on interfaces.
2024-11-14 11:47:00 +01:00
Christoffer Lerno
08d1b29301
Add contracts on @catch / @ok. Taking the $typeof of a wildcard optional returns void!
2024-11-05 10:50:38 +01:00
Christoffer Lerno
4be08ee0bd
string::new_struct_to_str and io::struct_to_format to dump struct data. io::print will now print structs.
2024-10-26 21:00:07 +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
31cd839063
Switch to <* *> docs. Fix issue with dynamically loaded C3 libs with other C3 code.
2024-10-14 02:14:34 +02:00
Christoffer Lerno
557adb6ed9
Update the init function of the arena allocator.
2024-10-09 12:45:50 +02:00
Christoffer Lerno
31f48829b0
Added CBool #1530 .
2024-10-08 22:00:06 +02:00