Andreas Kling
Andreas Kling
We should allow JavaScript-style optional chaining: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining ```jakt struct Bar { baz: i64 } struct Foo { bar: Bar? } function main() { let mut foo = Foo(bar: None) let...
Classes and structs should be allowed to inherit from other classes and structs respectively. ```jakt class Animal { } class CatDog: Animal { } struct Sport { } struct Football:...
We should allow function overloading by parameter count and parameter types. ```jakt function dump(value: i64) => println("{}", a) function dump(value: String) => println("{}", a) function main() { dump(123) dump("Hello") }...
Found by running Ladybird in `valgrind` and opening https://linus.dev/ Reproduces every time. cc @kleinesfilmroellchen @Hendiadyoin1 ``` ==148160== Use of uninitialised value of size 8 ==148160== at 0x69E963F: AK::HashTable::try_lookup_for_writing(AK::HashMap::Entry const&) (HashTable.h:675)...
The number `1.5` will parse as `1` in LibJS on systems where the current locale uses `,` as a decimal separator. I noticed this when running Ladybird on Linux, where...
https://html.spec.whatwg.org/multipage/iframe-embed-object.html#shared-attribute-processing-steps-for-iframe-and-frame-elements In step 4.2. we call out to `run iframe load event steps` given `element`, which expects an `iframe` parameter. However, the `element` at this point may also be a...
The GC'able DOM (#14816) was just the beginning. There's a lot more we need to do before things can actually get cleaned up by the GC. This PR will contain...
To reproduce, press Super+Space. `Assistant` is supposed to spawn and pop up, but 9/10 of times, I only see this instead: ``` 3061.562 [#0 Assistant(88:88)]: copy_from_user(0x0000002005efe8b8, 0x0000000072f84160, 32) failed at...
This should probably not compile :sweat_smile: ```jakt fn boog() { continue } ``` Same with ```jakt fn boog() { break } ```
Jakt currently does not track mutability of types. Instead, it awkwardly conflates mutability of bindings with mutability of types. We should split a type `T` into `T` and `mut T`....