Christoffer Lerno
652456646f
Prevent methods from using names of properties or fields. #1638
2024-11-22 16:40:33 +01:00
Christoffer Lerno
ae1b39eb60
Not possible to alias or take reference for extension methods on non-user defined types. #1637
2024-11-21 14:48:13 +01:00
Christoffer Lerno
347a1a48d4
Indexing an Optional slice would crash in codegen #1636 .
2024-11-21 11:30:53 +01:00
Christoffer Lerno
50d31ba398
Fix issue with overloaded subscript and ++/--.
2024-11-20 23:44:42 +01:00
Christoffer Lerno
ba54232b8d
Fix issue with overloaded subscript and ++/--.
2024-11-20 00:23:08 +01:00
Christoffer Lerno
dd06dfa5ba
Fix issue with resolved try-unwrap in defer.
2024-11-18 15:53:27 +01:00
Walther Chen
f39e339726
Fix error when HashMap.remove on uninitialized HashMap ( #1629 )
...
* HashMap: test removal on uninitialized
* HashMap.remove_entry_for_key: return false on unintialized
* test: switch to temp_init
* release note
2024-11-18 14:20:32 +01:00
Christoffer Lerno
8ed390c394
A distinct inline pointer type can now participate in pointer arithmetics.
2024-11-16 23:08:54 +01:00
konimarti
f3304acc93
Add io stream primitives ( #1626 )
...
* io: implement MultiReader struct
Implement a MultiReader (InStream) which sequentially read from the
provided readers (InStreams). Return IoError.EOF when all of the readers
are read.
* io: implement MultiWriter struct
Implement a MultiWriter (OutStream). The MultiWriter duplicates its
writes to all the provided writers (OutStream).
* io: implement TeeReader struct
Implement a TeeReader (InStream) which reads from a wrapped reader
(InStream) and writes data to the provided writer (OutStream).
2024-11-15 23:18:29 +01:00
Walther Chen
a233771433
Fix WriteBuffer.write_bytes off-by-one ( #1625 )
...
* fix WriteBuffer.write_bytes off-by-one
* test for WriteBuffer.write_bytes off-by-one
2024-11-14 14:58:09 +01:00
Christoffer Lerno
f88c0dd645
Tweak the error message on unexpectedly getting a non-type identifier. #1622
2024-11-14 00:19:17 +01:00
Christoffer Lerno
7b516e6113
@builtin was not respected for generic modules #1617 .
2024-11-13 23:34:34 +01:00
Christoffer Lerno
a228eb020d
Allow splat in initializers.
2024-11-11 23:54:35 +01:00
Christoffer Lerno
746046c8c0
Fix bug where a > 0 ? f() : g() could cause a compiler crash if both returned void!.
2024-11-10 01:18:56 +01:00
Christoffer Lerno
e675b0c00a
Fix last test for LLVM20
2024-11-07 13:49:03 +01:00
Christoffer Lerno
95ac29559c
Fix some tests for LLVM20
2024-11-07 12:43:26 +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
konimarti
8154e275fa
encoding: implement RFC4648 base32 encoding ( #1596 )
...
Implement base32 encoding and decoding according to RFC 4648 with the
standard and extended hex alphabets. Add unit tests.
Link: https://www.rfc-editor.org/rfc/rfc4648
Signed-off-by: Koni Marti <koni.marti@gmail.com >
---------
Signed-off-by: Koni Marti <koni.marti@gmail.com >
2024-11-04 12:19:28 +01:00
Christoffer Lerno
6258cba79a
@tag on macros cannot be retrieved with tagof #1582
2024-11-04 02:51:58 +01:00
Christoffer Lerno
4d84811629
Fixed test.
2024-10-31 21:41:50 +01:00
Christoffer Lerno
cd4fd02ee3
Sometimes generating introspection info would not be in the global scope causing a crash #1586 .
2024-10-31 21:27:46 +01:00
Christoffer Lerno
b7a23e558a
Fixes with error handling recursive @tag #1583 .
2024-10-30 20:57:17 +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
cc6a24cf80
Null-check function pointer invocation #1573 .
2024-10-26 18:41:47 +02:00
Christoffer Lerno
b187d5a3fc
Named vector component access would not fold at compile time. #1574
2024-10-26 13:22:35 +02:00
Walther Chen
fd1898b70a
copy out keys also in HashMap.copy_keys ( #1569 )
...
* copy out keys also in HashMap.copy_keys
* test for copying keys out
2024-10-26 01:57:00 +02:00
Walther Chen
8ce63106b9
Update .editorconfig to reflect current style ( #1571 )
...
* Update .editorconfig to reflect current style
* .editorconfig use tabs for python
* update msvc_build_libraries.py from two-space to tab indent
* update test/src/tester.py from 4-space to tab indent
2024-10-25 17:44:32 +02:00
Christoffer Lerno
c0c571ffe0
Incorrect error message when $eval is provided an invalid string. #1570
2024-10-25 10:31:45 +02:00
Christoffer Lerno
d344cc6020
(uptr)&((Foo*)null).a incorrectly inserts a null check. #1544 .
...
Fix regression handling typedefs from generic modules.
2024-10-22 12:15:39 +02:00
Christoffer Lerno
9100638400
&self argument not implicitly null checked. #1556 .
2024-10-21 00:45:40 +02:00
Christoffer Lerno
d2085654a7
if (try foo) was handled incorrectly inside a defer.
2024-10-20 18:30:03 +02:00
Christoffer Lerno
78d5939d9d
Show error when declarations do not start with fn in interfaces. #1565 . Some added functionality to lists and time.
2024-10-18 17:10:00 +02:00
Christoffer Lerno
c013006671
Improve infer conversions on constants, e.g. ZString a = foo ? "a" : "b"; #1561
2024-10-17 01:20:52 +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
0da7f1b4de
Wrong error message for interface methods with body #1536 .
2024-10-12 02:51:07 +02:00
Christoffer Lerno
8ce171877e
Also weaken libc and generic templates.
2024-10-12 02:13:35 +02:00
Christoffer Lerno
a38c7f6e49
Fix tests.
2024-10-12 01:19:15 +02:00
Christoffer Lerno
0cf93a8c32
Fix test.
2024-10-11 22:13:53 +02:00
Christoffer Lerno
cba25710fe
Refactor and unify linker visibility and fix issues with weak stdlib.
2024-10-11 21:45:44 +02:00
Koni Marti
2739c86881
Add csv unit tests
...
Add unit tests for std::encoding::csv.
Signed-off-by: Koni Marti <koni.marti@gmail.com >
2024-10-11 16:11:45 +02:00
Christoffer Lerno
efeb9e627e
Interfaces not correctly copied with generics #1545 .
2024-10-11 13:26:22 +02:00
Christoffer Lerno
8e24f15d58
Cannot use void as a generic parameter #1546 . Interfaces now support .ptr and .type directly without casting to any.
2024-10-11 12:10:35 +02:00
Christoffer Lerno
a91ddd40dd
Infer now works across ternary. Crash returning struct or vector from function using ternary expression #1537 .
2024-10-10 14:44:40 +02:00
Christoffer Lerno
967f14148f
Bug when defers and $if were combined in a macro, which would cause miscompilation.
2024-10-10 13:42:12 +02:00
Christoffer Lerno
7a6544b17c
Constant bytes <=> char[] conversion should work #1514
2024-10-09 19:38:06 +02:00
Christoffer Lerno
c1266e9d06
Compiler error when any/interface initialized using {} #1533 .
2024-10-09 13:12:40 +02:00
Christoffer Lerno
9f10996ac7
Bug when a continue is copied in a defer.
2024-10-08 22:13:30 +02:00
Denis Palashevskii
217151be8d
fix int formatting in std::collections::object
2024-10-05 14:03:27 +02:00
Christoffer Lerno
cfc1d0d8f8
Incorrect subscript resolution #1519
2024-10-04 20:50:48 +02:00