gmcabrita has quit [Quit: Connection closed for inactivity]
jemc has quit [Ping timeout: 255 seconds]
jemc has joined #ponylang
vaninwagen has joined #ponylang
smoon has quit [Quit: smoon]
jemc has quit [Ping timeout: 255 seconds]
vaninwagen has quit [Ping timeout: 252 seconds]
gmcabrita has joined #ponylang
srenatus[m] has quit [Quit: Client limit exceeded: 10000]
kr1shnak has quit [Read error: Connection reset by peer]
BlackYoup has joined #ponylang
kempe has quit [Quit: WeeChat 1.3]
kempe has joined #ponylang
chemist69 has quit [Ping timeout: 255 seconds]
chemist69 has joined #ponylang
Matthias247 has joined #ponylang
_whitelogger has joined #ponylang
amclain has joined #ponylang
chemist69 has quit [Ping timeout: 255 seconds]
chemist69 has joined #ponylang
obadz has quit [Ping timeout: 252 seconds]
obadz has joined #ponylang
vaninwagen has joined #ponylang
chemist69 has quit [Ping timeout: 245 seconds]
chemist69 has joined #ponylang
M4GNV5_ is now known as M4GNV5
_andre has quit [Read error: Connection reset by peer]
pduncan has joined #ponylang
<pduncan>
hello, I'm trying to implement a class that uses an Array as it's backing storage, and also trying to present a similar API to Array, to initialize the data structure. I'm doing something wrong wrt the reference capabilities because I can't forward an `A^` type to the Array constructor that expects it. Here is a simplified example: https://is.gd/wpWuj8
chemist69 has quit [Ping timeout: 240 seconds]
chemist69 has joined #ponylang
staticassert has joined #ponylang
Matthias247 has quit [Read error: Connection reset by peer]
vaninwagen has quit [Ping timeout: 240 seconds]
vaninwagen has joined #ponylang
staticassert has quit [Quit: Page closed]
vaninwagen has quit [Ping timeout: 252 seconds]
<SeanTAllen>
you there pduncan ?
<SeanTAllen>
Adding a constraint like class MyArray[A: Any #share]
<SeanTAllen>
fixing the immediate error
<SeanTAllen>
but
<SeanTAllen>
i'm not sure what the problem is immediately and i'm too tired to think through it
<SeanTAllen>
and why it needs a constraint
<doublec>
yeah that's a confusing one
<doublec>
If I change "class MyArray[A]" to "class MyArray[A: Any iso]" it gives the compile error:
<doublec>
Any iso is not a subtype of A iso ^: the type parameter has no lower bounds
<doublec>
Which is what I assume the more generic 'A' error is complaining about
<doublec>
And whay #share fixes it since that excludes iso
* doublec
looks at the ephemeral substitution table
<doublec>
Hmm, ok
<doublec>
Correct me if I'm wrong, but it should be a compile error to call Array.from with an iso, right?
<doublec>
Since Array.from can result in multiple aliases to the 'from'
<doublec>
So the compiler is correct to flag this as an error if iso is allowed