ringabout
ringabout
I mean valid upcast now became illegal with this PR ```nim type A {.inheritable.} = object B = object of A f: int proc `=destroy`(x: var B) = discard proc...
It compiles with ORC because `ObjectAssignmentDefect` is disabled in ARC/ORC
Yes, it doesn't check the assignement see also https://github.com/nim-lang/Nim/issues/7002
workaround ```nim import std/[dom] proc onkeydownEventHandler(e: Event) = echo "hey" let e1: proc (event: Event) {.closure.} = onkeydownEventHandler window.addEventListener "keydown", e1 window.removeEventListener "keydown", e1 ```
Succeeded by https://github.com/nim-lang/Nim/pull/24643
Weird problem. Different ARC expansions cross platforms. Workaround for now: adds a `sink` type to `isRootDir`. I guess there is something suspicious with sink inference for different platforms
I see, in `inclrtl` `sinkInference` is always on ```nim {.push sinkInference: on.} ``` Commenting it makes the arc expansion the same, though the bug remains for nimrtl
!nim c ```nim iterator hello(x: int): lent int = yield x for i in hello(12): echo i ```
Hi, @mrgaturus The dispatcher based on if statements is not slow if the hierarchy is shallow (should be as good as the dispatcher based on VTable). Do you happen to...
In fact, it doesn't outperform better than the current if dispatcher implementation since [the subtype checking is O(1)](https://github.com/nim-lang/Nim/pull/20781) now and the `vtable `implementation which uses indirect call incurs some penalties,...