Christoffer Lerno
b03ae8bb17
Alias and distinct types didn't check the underlying type wasn't compile time or optional.
2025-09-19 18:05:29 +02:00
Christoffer Lerno
3345e70c63
Comparing slices and arrays of user-defined types that implement == operator now works #2486 .
2025-09-19 11:21:29 +02:00
Christoffer Lerno
fdc20dc642
Taking .ordinal from an enum passed by pointer and then taking the address of this result would return the enum, not int.
2025-09-18 14:04:49 +02:00
Christoffer Lerno
d782dad149
Fix compile time format check when the formatting string is a constant slice.
2025-09-17 14:31:00 +02:00
Christoffer Lerno
92aefb15f8
Generic inference ( #2475 )
...
* Change generic symbol resolution.
* Infer generic parameters lhs -> rhs: `List{int} x = list::NOHEAP`.
* Regression: Compiler segfault when assigning struct literal with too few members #2483
2025-09-16 18:05:21 +02:00
Christoffer Lerno
8342ac80d3
$alignof, $offsetof and $nameof can now be used in $defined.
2025-09-16 15:36:37 +02:00
Christoffer Lerno
c71444e7a0
Compile time switch over type would not correctly compare function pointer types.
2025-09-16 14:10:28 +02:00
Velikiy Kirill
fabd96552f
Implement write_to_stdin() in std::os::process ( #2482 )
...
* SubProcess: Add write_to_stdin
* SubProcess: Change unit test for windows support
2025-09-15 13:41:35 +02:00
Christoffer Lerno
8fea6ee8ab
Compiler segfault when modifying variable using an inline assembly block inside defer #2450 .
2025-09-12 20:01:28 +02:00
Christoffer Lerno
e6b10ee00c
Stack object size limit error on a static object. #2476
2025-09-12 17:11:25 +02:00
Christoffer Lerno
8035991ac3
?? with void results on both sides cause a compiler crash #2472
2025-09-10 10:47:14 +02:00
Christoffer Lerno
3caaf0a3e8
Compiler hang with unaligned load-store pair. #2470
2025-09-09 00:07:45 +02:00
Christoffer Lerno
a2206f1bcd
int val = some_int + some_distinct_inline_int errors that int cannot be cast to DistinctInt #2468
2025-09-08 10:21:47 +02:00
Christoffer Lerno
7b5277d52c
Any register allowed in X86_64 inline asm address. #2463
2025-09-07 00:03:49 +02:00
Christoffer Lerno
9f55a74d2e
Remove use of find_len and len_from_list. Rename lenof to lengthof
2025-09-06 18:35:03 +02:00
Christoffer Lerno
3eb8f68ded
- Add lenof() compile time function #2439
...
- Fix release notes
2025-09-06 18:17:17 +02:00
Christoffer Lerno
bd9bc118db
Allow doc comments on individual struct members, faultdefs and enum values #2427 .
2025-09-06 16:18:33 +02:00
Christoffer Lerno
95375a2591
Overloading &[] should be enough for foreach. #2466
2025-09-06 15:18:26 +02:00
Zack Puhl
078d9dc0b7
Add LinkedList Operators and Update Tests ( #2438 )
...
* Add LinkedList Operators and Update Tests
* add linkedlist printing and `@new` macros (single-line init and pool-capable)
* add linkedlist node and reg iterator; comparisons w/ ==
* Fix benchmarks. Drop random access to the linked list using []. Only return a direct array view.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-09-06 11:57:21 +02:00
Christoffer Lerno
69b3263a00
- Added path::home_directory, path::documents_directory, path::videos_directory, path::pictures_directory, path::desktop_directory, path::screenshots_directory,
...
`path::public_share_directory`, `path::templates_directory`, `path::saved_games_directory`, `path::music_directory`, `path::downloads_directory`.
Fix codegen bug in expressions like `foo(x()) ?? io::EOF?` causing irregular crashes.
2025-09-06 02:27:10 +02:00
Christoffer Lerno
e605a21fd3
Revert "Revert 0.7.6 code for 0.7.5 re-release"
...
This reverts commit d1349c9cfb .
2025-09-05 23:30:35 +02:00
Christoffer Lerno
d1349c9cfb
Revert 0.7.6 code for 0.7.5 re-release
2025-09-05 18:42:54 +02:00
niedlich
cf14787552
Typo fixes ( #2457 )
...
* fix typos in comments and strings
* fix typos in symbols (and some comments/strings)
* fix typos in releasenotes.md
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-09-04 01:07:07 +02:00
Book-reader
10241df23c
Add generic InterfaceList type for storing values that implement a specific interface ( #2433 )
...
* Add generic InterfaceList type
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-09-03 22:58:27 +02:00
Christoffer Lerno
8795ffc4f1
Returning pointer to index of slice stored in a struct from method taking self incorrectly detected as returning pointer to local variable #2455 .
2025-09-03 01:02:25 +02:00
Christoffer Lerno
e25812a071
$defined(x[0] = val) causes an error instead of returning false when a type does not have []= defined #2454
2025-09-03 00:08:43 +02:00
Christoffer Lerno
14a929588a
Confusing error message when type has [] overloaded but not []= #2453
2025-09-02 23:56:15 +02:00
Christoffer Lerno
02d1486af9
- Compiler assert with var x @noinit = 0 #2452
2025-09-02 23:39:00 +02:00
Christoffer Lerno
a3a6319bcf
Fix tests
2025-09-01 13:32:40 +02:00
Christoffer Lerno
17dfbb377e
Fixed test.
2025-09-01 13:05:14 +02:00
Christoffer Lerno
ff39f14dd1
$defined(Foo x = $vaexpr[0]) works correctly.
2025-09-01 12:09:14 +02:00
Christoffer Lerno
af4309b286
$defined returns an error when assigning a struct initializer with an incorrect type #2449
2025-09-01 10:44:19 +02:00
Christoffer Lerno
3a69c9f1fe
Fix test.
2025-09-01 01:18:17 +02:00
Christoffer Lerno
a751177a3e
Const enum methods are not being recognized. #2445
2025-08-31 23:56:48 +02:00
Christoffer Lerno
cb006dd715
- Compiler module-scope pointer to slice with offset, causes assert. #2446
2025-08-31 23:18:27 +02:00
Christoffer Lerno
c7f09f2879
Disambiguate types when they have the same name and need cast between each other.
2025-08-31 15:16:52 +02:00
Christoffer Lerno
fafcf3d0a9
Enum inference, like Foo x = $eval("A"), now works correctly for $eval.
2025-08-30 15:24:11 +02:00
Christoffer Lerno
10bc68fb39
Fixed regression with optional argument macros and lambdas.
2025-08-30 01:00:24 +02:00
Christoffer Lerno
47316dac59
Add compile time ternary $val ??? <expr> : <expr>.
2025-08-28 01:56:05 +02:00
Christoffer Lerno
90d3f429aa
- @test/@benchmark on module would attach to interface and regular methods.
2025-08-28 00:28:32 +02:00
Christoffer Lerno
239d249f01
- Added $kindof compile time function.
...
- Deprecated `@typekind` macro in favour of `$kindof`.
- Deprecated `@typeis` macro in favour of `$typeof(#foo) == int`.
2025-08-27 20:38:12 +02:00
Christoffer Lerno
7312c10b9e
- @is_const is deprecated in favour of directly using $defined.
...
- `@is_lvalue(#value)` is deprecated in favour of directly using `$defined`.
2025-08-27 18:21:55 +02:00
Christoffer Lerno
28b9be64ee
Update error message for missing body after if/for/etc #2289 .
2025-08-27 12:37:01 +02:00
Christoffer Lerno
d2cae909e1
A file with an inferred module may not contain additional other modules.
2025-08-27 11:42:53 +02:00
Christoffer Lerno
e194081e21
Fix test.
2025-08-27 10:45:59 +02:00
Christoffer Lerno
f7143c1852
Fix tests, reenable LLVM 22
2025-08-26 20:55:58 +02:00
Christoffer Lerno
c17cb7d0ca
Fix alignment on jump table.
2025-08-26 20:09:04 +02:00
Christoffer Lerno
cb17cfff7d
Deprecation of @assignable_to
2025-08-26 13:21:42 +02:00
Christoffer Lerno
1634217fc4
Grabbing (missing) methods on function pointers would cause crash #2434 .
2025-08-25 16:39:17 +02:00
Christoffer Lerno
bc9b0900a5
- Inlining a const as an lvalue would take the wrong path and corrupt the expression node.
2025-08-25 15:26:47 +02:00