Christoffer Lerno
8b47673524
Added Enum.lookup and Enum.lookup_field.
2025-04-25 14:44:00 +02:00
hyperpastel
6ab7953706
Patch false maybe-uninitialized warning
2025-04-20 16:59:52 +02:00
Christoffer Lerno
42e4370994
Fix conditional in slice assign check.
2025-04-18 22:14:33 +02:00
Christoffer Lerno
946c167bf1
Improve error for default args #2096 . Deprecated old inference with slice copy. Copying must now ensure a slicing operator at the end of the right hand side: foo[1..2] = bar[..] rather than the old foo[1..2] = bar. The old behaviour can be mostly retained with --use-old-slice-copy).
2025-04-18 17:19:04 +02:00
Christoffer Lerno
37ffd92f7b
- Bug with slice acces as inline struct member #2088 .
2025-04-16 17:02:22 +02:00
Christoffer Lerno
fde2bb2a7e
Support @if on locals.
2025-04-15 13:20:10 +02:00
Christoffer Lerno
0a9bb2e8e0
Fix to simple a += b overload fallback. Renaming and reordering in the stdlib.
2025-04-15 12:01:58 +02:00
Christoffer Lerno
b64dcde21d
Make aliases able to use @deprecated. Prefer math::I and math::I_F for math::IMAGINARY and math::IMAGINARYF the latter is deprecated. Combination of += and [] overloads now properly handled in most cases.
2025-04-14 20:51:01 +02:00
Christoffer Lerno
f85198e3ee
Added += and related as overloads. Updated tests and docs. Slice2 extracted to its own file.
2025-04-14 00:55:46 +02:00
Christoffer Lerno
dca805bd8a
Added tests to sincos. Correctly detect multiple overloads of the same type. Fix regression quaternion overload. Remove "1." style.
2025-04-13 15:46:27 +02:00
Christoffer Lerno
3888fcb182
- Add @operator_r and @operator_s attributes.
2025-04-13 13:43:03 +02:00
Christoffer Lerno
0f2d425297
Operator overloading for + - * / % & | ^ << >> ~ == !=
2025-04-11 18:46:22 +02:00
Christoffer Lerno
94b8330ac5
Function @require checks are added to the caller in safe mode. #186
2025-04-06 15:28:10 +02:00
Maxime Beaudoin
a8554b4233
String.c3 function parameters ambiguous ( #2061 )
...
* Some tweaks. Fixes regression in `format`
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-03-25 14:25:23 +01:00
Christoffer Lerno
fa707db078
Do not implicitly convert enums to ordinal in formatting functions.
2025-03-25 12:27:51 +01:00
Christoffer Lerno
439349ceb8
Move dynamic dispatch lowering.
2025-03-25 00:20:01 +01:00
Christoffer Lerno
d760378b02
- Added @format attribute for compile time printf validation #2057 .
...
- Bug when printing a boolean value as an integer using printf.
2025-03-24 13:32:44 +01:00
Christoffer Lerno
82f1b543ed
&self not runtime null-checked in macro #1827 . Regression in temp allocators.
2025-03-23 22:50:09 +01:00
Christoffer Lerno
0beb30c979
Updated error message #2037
2025-03-19 23:25:56 +01:00
Christoffer Lerno
84753bde6d
- Allow inferred type on body parameters. E.g. @stack_mem(1024; alloc) { ... };
2025-03-18 15:40:26 +01:00
Christoffer Lerno
82cc49b388
- !!foo now works same as as ! ! foo.
...
- Incorrectly allowed getting pointer to a macro #2049 .
2025-03-16 23:57:30 +01:00
Christoffer Lerno
425676a98d
Bug due to missing cast when doing $i[$x] = $z.
...
Added `math::iota`.
2025-03-16 10:58:13 +01:00
Christoffer Lerno
5c77c9a754
- Change distinct -> typedef.
...
- Order of attribute declaration is changed for `alias`.
- Added `LANGUAGE_DEV_VERSION` env constant.
- Rename `anyfault` -> `fault`.
- Changed `fault` -> `faultdef`.
- Added `attrdef` instead of `alias` for attribute aliases.
2025-03-15 20:10:47 +01:00
Christoffer Lerno
fbc8168bb9
Improve error message on foo ?? io::EOF with missing '?' #2036 . Fix build on Android
2025-03-10 11:02:43 +01:00
Christoffer Lerno
ff75f2c21f
Update naming of enum const.
2025-03-10 00:15:50 +01:00
Christoffer Lerno
25bccf4883
New faults and syntax ( #2034 )
...
- Remove `[?]` syntax.
- Change `int!` to `int?` syntax.
- New `fault` declarations.
- Enum associated values can reference the calling enum.
2025-03-10 00:11:35 +01:00
Christoffer Lerno
0ef99c23a8
Allow swizzling assign, eg. abc.xz += { 5, 10 };
2025-03-04 02:18:24 +01:00
Christoffer Lerno
0925010c07
Removal of any-switches
2025-03-03 15:02:25 +01:00
Christoffer Lerno
2a895ec7be
First 0.7 update, removing all deprecated features.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
f134b8b67a
Swizzling an inline vector in a struct would cause a crash.
2025-02-27 21:49:20 +01:00
Christoffer Lerno
3da9f73338
- Output into /.build/obj/<platform> by default.
...
- Output llvm/asm into llvm/<platform> and asm/<platform> by default.
- Don't delete .o files not produced by the compiler.
- Correctly handle in/out when interacting with inout.
2025-02-22 22:34:26 +01:00
Christoffer Lerno
855be92881
Regression with .gitkeep in project init. List.init incorrectly didn't have the first argument the allocator. Added .init to priority queue. Created mem thread allocator alias. Correctly handle ident aliases. Allow ident on builtin aliases.
2025-02-21 21:34:48 +01:00
Christoffer Lerno
168c11e006
{| |} expression blocks deprecated.
2025-02-18 12:50:34 +01:00
Christoffer Lerno
e77d1fb646
- Increase precedence of (Foo) { 1, 2 }
...
- Add `--enable-new-generics` to enable `Foo{int}` generic syntax.
2025-02-18 00:26:22 +01:00
Christoffer Lerno
0509b40b21
- Fix issue when dereferencing a constant string.
...
- Fix problem where a line break in a literal was allowed.
2025-02-16 23:55:55 +01:00
Christoffer Lerno
0dd1a93d0d
Regression String! a; char* b = a.ptr; would incorrectly be allowed.
2025-02-14 16:11:31 +01:00
Christoffer Lerno
7ca70b20be
Allow (Foo) { 1, 2 } syntax for compound literals.
2025-02-14 12:51:58 +01:00
Christoffer Lerno
1f856cacf5
HashMap is now Printable. Fix access inlining for enums. #1958
2025-02-12 23:11:46 +01:00
Christoffer Lerno
86680279fa
Improve inference on ?? #1943 .
2025-02-10 16:20:33 +01:00
Christoffer Lerno
c4f9efc8f5
Allow fn int test() => @pool() { return 1; } short function syntax usage #1906 .
2025-02-08 22:45:14 +01:00
Christoffer Lerno
0388910c17
Cleanup.
2025-02-07 01:08:28 +01:00
Christoffer Lerno
6fcda240b8
Fixes to enum conversions.
2025-02-04 22:26:51 +01:00
Christoffer Lerno
fff3cf33c7
Issue where inlined expr enums weren't properly const folded.
2025-02-04 21:46:23 +01:00
Christoffer Lerno
300983f831
Compile time array assign ops, e.g. $c[1] += 3 #1890 .
2025-02-03 00:35:20 +01:00
Christoffer Lerno
f8b2f7f268
Refactor casts and make untyped list conversions not dependent on context.
2025-02-01 23:37:32 +01:00
Christoffer Lerno
dc6d994480
Fixing various issues around shifts, like z <<= { 1, 2 }.
2025-02-01 15:43:42 +01:00
Christoffer Lerno
03e2b30ede
Compile time array inc/dec #1890 .
2025-01-31 23:58:44 +01:00
Christoffer Lerno
50c1aac9bb
Usage of @noreturn macro is type-checked as if it returns #1913 .
2025-01-31 16:19:12 +01:00
Christoffer Lerno
b040736f7f
Additional cleanup.
2025-01-30 14:38:25 +01:00
Christoffer Lerno
1f1c445a76
Issue where trailing body argument was allowed without type even though the definition specified it #1879 .
2025-01-25 23:52:13 +01:00