Theo Butler

Results 22 comments of Theo Butler

This seems to be a more general issue with type parameters. Here's a more minimal example: ```pony actor Main let a: Array[(Array[I8] | I8)] new create(env: Env) => a =...

This seems to be resulting in infinite recursion of this sequence of calls: ``` exact_nominal( Array[I8 val] ref, Array[(Array[I8 val] ref | I8 val)] ref ) is_eq_typeargs( Array[I8 val] ref,...

[Here's a backtrace](https://gist.github.com/Theodus/05b86506c83dc7decfa634191cf4fe1d) (Using `ReadSeq` instead of `Array`)

This one's using array, like the example: https://gist.github.com/Theodus/a29405cc7f619494140535c5eea1adf0

I've isolated the frames that repeat (middle chunk, repeats at frame 12), with arguments: ``` (169) 0: is_subtype( I8 val, (Array[I8 val] ref | I8 val) ) 1: is_eq_typeargs( Array[I8...

The only assumption in `subtype_assume` is ```pony Array[(Array[I8 val] ref | I8 val)] ref

While trying to implement this I encountered the following error when changing the signature of `List.from` in [list.pony#L21](https://github.com/ponylang/ponyc/blob/5ee9286a429f1bcdfbfa8714cd7a3d1fa314cccc/packages/collections/list.pony#L21) to `fun from(that: List[A^] box) =>`: ``` /home/theodus/stuff/ponyc/packages/collections/list.pony:26:12: argument not a subtype...

It is the only change made to `List`.

It makes a network call to mark packages that are not the latest versions. ["If a more recent version is not installed, then the more recent version will be shown...

I think that the destructive read pattern comes up so infrequently in practice that the existing example mentioned by @rhagenson is sufficient for explaining when it may be needed.