Borja o'Cook

Results 47 comments of Borja o'Cook

Here's another example that reproduces the problem and that also triggers a segfault: ```pony class Container[A: Any #read] let _data: A new create(a: A) => _data = a fun apply():...

If one removes the `Applier` indirection from the previous example: ```pony fun update(f: {(this->A!)}) => f(_data) // Applier[A, this->Container[A]](this, f) ``` Then the program fails to compile: ``` Error: /Users/ryan/Downloads/test_4168/main.pony:14:7:...

@stefandd Yes, that's what should happen with the original program.

@SeanTAllen The error comes from the `expr` pass, here: https://github.com/ponylang/ponyc/blob/5978d146d5fd6529e262690734d71081357b5f0c/src/libponyc/expr/call.c#L308-L315

Re: "dest index is outside of valid range (should be handled correctly now)" It's worth noting that by requesting a destination index out of bounds, in a way that leaves...

@jemc > Add a new `copy_append` method which does not allow specifying destination index, and thus would be a non-partial alternative. Does `copy_append` allow you to specify a **source** index...

Just FYI, this also applies to `Pointer.offset`, which is also a public function. (Reopened because I believe there's a good conversation to be had about this issue, even if it...

I'm in two minds about this one. For the specific cases of `Array` and `String`, we do know where the end of the allocation happens, and so we're in the...

Thinking about it more, I might be wrong in my previous comment: if my understating of the GC is correct, holding the previous pointer will prevent the previous allocation from...

We had a conversation about this after sync today (unfortunately it wasn't recorded). I agree with @jemc 's view of delegating this to an FFI call, if we make `cpointer`...