On 4/21/16 1:33 PM, ag0aep6g wrote:
This creates a `shared(S!(M, 2))*`, which is not exactly the same as
`shared(S!(M, 2)*)`. The pointer is not shared in the former, but it is
shared in the latter.
I was going to suggest either sending a `shared(TS*)` or receiving a
`shared(T)*`. But it looks like you can't send a shared pointer. When I
tried, it got turned into a unshared-pointer-to-shared on the way.
Yes, because Unqual will remove the shared from the type (this is a
normalization of sorts, to help this kind of situation).
Changing it to `shared(T)*` on the receiving end works, though. Do that,
I guess.
This does and doesn't make sense. If you receive a shared(T)*, you
should be able to receive it into a shared(T*). However, it's possible
the library doesn't put this together.
-Steve