In my pet crate, i have to work a lot with Pin<&T> but without the mut (because it uses Cell internally, but nothing to do with futures). And i end up needing to do lots of projections.
Would it make sense for the macro to also have a project_const(self: Pin<&'a Self>) -> FooProjectionConst<'a> ?
(Actually, I feel like it should just be project(), and the current &mut Self should be renamed project_mut for consistency with all the other functions that overload const/mut)
Is that something that make sense, or is using Pin<&Self> not a common pattern?
In my pet crate, i have to work a lot with Pin<&T> but without the mut (because it uses Cell internally, but nothing to do with futures). And i end up needing to do lots of projections.
Would it make sense for the macro to also have a
project_const(self: Pin<&'a Self>) -> FooProjectionConst<'a>?(Actually, I feel like it should just be
project(), and the current &mut Self should be renamedproject_mutfor consistency with all the other functions that overload const/mut)Is that something that make sense, or is using Pin<&Self> not a common pattern?