Having been down this rabbit hole myself before, I would like to encourage you to be a bit clearerin Descends documentation, as currently it sounds like it would be possible to implement safely once GAT are available.
AFAIK, this is not possible because with the current GATs there is no syntax to declare a generic associated type to be covariant over one of its generic parameters, and without declaring that a lifetime-generic Deref is unsound. rental makes a note of variance in its documentation, I would suggest you do the same :)
I was under the impression that GAT alone was able to fix this, but I haven't followed its development closely. If it isn't, then maybe GAT should not be mentioned at all. Thanks!
Having been down this rabbit hole myself before, I would like to encourage you to be a bit clearerin
Descend
s documentation, as currently it sounds like it would be possible to implement safely once GAT are available.AFAIK, this is not possible because with the current GATs there is no syntax to declare a generic associated type to be covariant over one of its generic parameters, and without declaring that a lifetime-generic
Deref
is unsound. rental makes a note of variance in its documentation, I would suggest you do the same :)