Christoffer Lerno
1f29110271
Handle bytes and strings the same way in terms of zero termination.
2025-01-10 19:58:00 +01:00
Louis Brauer
c8c58f946c
Date/Time formatters ( #1782 )
...
* Add .DS_Store to .gitignore
* Allow <= 999_999 as usec on DateTime (was < 999_999)
* Move [Tz]DateTime .format() to std::time::datetime and import only with libc
* Changed name to DateTimeFormat, prefer function over method. Move names to enum.
* Updated tests to the latest standard.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-10 13:16:51 +01:00
Christoffer Lerno
b941f93416
Deprecate old void! @benchmark and @test functions.
2025-01-09 20:33:53 +01:00
Christoffer Lerno
c22b7d45c1
Update test failing on LLVM 17
2025-01-09 01:35:16 +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
8fb3ec73ff
Deprecate $varef.
2025-01-08 23:56:10 +01:00
Christoffer Lerno
214e806a33
Deprecate `fn void! main() type main functions.
2025-01-08 23:17:50 +01:00
Christoffer Lerno
8e0d6d11b9
Deprecated '&' macro arguments.
2025-01-08 22:13:49 +01:00
Christoffer Lerno
dad97fc2d9
Improved #foo resolution inside of the compiler.
...
Deprecation of several `&` macros.
2025-01-08 12:55:20 +01:00
Christoffer Lerno
51e0e5e66d
Change ordering to simplify adding methods to type in conditional modules.
2025-01-06 22:36:29 +01:00
Christoffer Lerno
34c7f4e6b7
Deref subscripts as needed for macro ref method arguments. #1789
2025-01-06 13:54:02 +01:00
Christoffer Lerno
f801372074
Optimize temp variables in LLVM.
2025-01-06 04:25:47 +01:00
Christoffer Lerno
ea2dce0ab4
Make "?:" lower in the frontend.
2025-01-06 03:01:13 +01:00
Christoffer Lerno
314c6f94f0
Remove the last "cast" operations.
2025-01-06 01:51:03 +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
f1ef2e8138
Improve @param parse errors #1777
2025-01-05 18:14:30 +01:00
Christoffer Lerno
ab2d223e71
Macros with trailing bodys aren't allowed as the single statement after a while loop with no body #1772 .
2025-01-05 16:00:39 +01:00
Christoffer Lerno
c6c7baa3b4
Refactor casts, removing SLBOOL and PTRBOOL.
2025-01-05 15:45:39 +01:00
Christoffer Lerno
07c59e6a6c
Fix +a = 1 erronously being accepted. Refactorings.
2025-01-05 02:24:11 +01:00
Christoffer Lerno
9957ab259c
Fix vector float -> bool conversion.
2025-01-04 23:16:34 +01:00
Christoffer Lerno
6f9b466d7c
Optimize recast.
2025-01-04 21:58:04 +01:00
Christoffer Lerno
e31e57c7e7
Improved error message when accessing @private from other modules. Added convenience functions to Maybe.
2025-01-04 14:58:06 +01:00
Christoffer Lerno
469188044d
Assert on certain slice to slice casts. #1768 .
2025-01-04 13:31:47 +01:00
Christoffer Lerno
a1ce5e15ce
Fix tests.
2025-01-04 00:09:24 +01:00
Christoffer Lerno
d84e131b73
Add 'warnings' setting.
2025-01-03 23:37:37 +01:00
Christoffer Lerno
ad1511e69c
Prohibit raw vaargs in regular functions with a function body.
2025-01-03 15:36:42 +01:00
Christoffer Lerno
db4dc114f2
$vasplat was allowed inside of a function when passed as an argument to a function.
2025-01-03 15:01:24 +01:00
Christoffer Lerno
a7f363ea43
Dynamic function lookup fails after changing type without dummy anycast due to poor tracing of typeid. #1761
2025-01-03 14:39:01 +01:00
Christoffer Lerno
a3d15fe16c
Fix issue with zero arg @operator(construct). Assert on add to uninitialized ct variable #1765
2025-01-03 11:45:46 +01:00
Christoffer Lerno
56d25cdeeb
Remove array->vector casts
2025-01-03 01:35:51 +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
14d8e93004
Return type inference bugs with macros #1757
2025-01-02 17:34:37 +01:00
Christoffer Lerno
c7ce6230db
Update test with target.
2025-01-01 21:02:16 +01:00
Christoffer Lerno
7c45ae24ae
Macros with default arguments to &, # and type parameters didn't work as expected. #1754 .
2025-01-01 17:52:32 +01:00
Christoffer Lerno
0a809ab5f0
Allow using 'var' to declare lambdas in functions.
2025-01-01 01:02:35 +01:00
Christoffer Lerno
78ff1a4af5
Support experimental @operator(construct) operator overload.
2025-01-01 00:45:42 +01:00
Christoffer Lerno
c0dcae4f1d
Improve ordering of method registration to support adding methods to generic modules with method constraints #1746
2024-12-31 18:15:38 +01:00
Christoffer Lerno
4d15a2f45e
Improve error reporting when using type names as the function argument #1750 .
2024-12-31 16:59:51 +01:00
Christoffer Lerno
322c70433b
Refactoring, stop using int to bool as cast. Merge make any.
2024-12-31 16:32:37 +01:00
Christoffer Lerno
4232c9d2b0
Fix bug when including compile time parameters in trailing body more than once.
2024-12-30 17:57:36 +01:00
Christoffer Lerno
5af224ab16
Remove 3 casts and replace them with a single new normal expression node.
2024-12-30 00:55:40 +01:00
Taylor W
53bada2a1e
math::nolibc: atanh ( #1730 )
...
* math::nolibc: log1p
* math::no_libc: atanh
Added atanh nolibc definition and more test points in the math_tests
module.
2024-12-28 21:13:44 +01:00
Christoffer Lerno
f5cea221a6
Miscompile when indexing an array with small unsigned types.
2024-12-28 17:39:25 +01:00
Christoffer Lerno
291b26f230
Add static lib.
2024-12-27 02:05:40 +01:00
Christoffer Lerno
08e8c9bf57
Use weak on dyn-symbols on Linux.
2024-12-27 02:05:40 +01:00
Christoffer Lerno
625152440c
Use weak_odr rather than weak on Windows which seems to prevent issues such as #1704 . Fix regression.
2024-12-26 21:35:41 +01:00
Christoffer Lerno
75ba4a1cdb
Incorrectly handles distinct enums and pointers with '+=' and '-=' #1717 .
2024-12-25 23:09:10 +01:00
Christoffer Lerno
e5ca9065bd
Deprecate cast conversion from enum -> integer.
2024-12-25 20:34:28 +01:00
Taylor Wampler
e995e289db
math::nolibc: acos and asin
...
There are now nolibc definitions for the inverse cosine and inverse
sine.
More test points were added for acos, asin, and atan in the math_tests module.
This was done becuase the nolibc inverse trigonometric functions have
various branching conditions depending on the provided input value. Several
branches in these functions were neglected.
2024-12-24 11:29:32 +01:00