| 179 X: 'b; |
179 X: 'b; |
| 180 /// Unlikely owned form of the decomposition. |
180 /// Unlikely owned form of the decomposition. |
| 181 /// Type for a lightweight intermediate conversion that does not own the original variable. |
181 /// Type for a lightweight intermediate conversion that does not own the original variable. |
| 182 /// Usually this is just a reference, but may also be a lightweight structure that |
182 /// Usually this is just a reference, but may also be a lightweight structure that |
| 183 /// contains references; see the implementation for [`crate::direct_product::Pair`]. |
183 /// contains references; see the implementation for [`crate::direct_product::Pair`]. |
| 184 type Reference<'b>: Instance<X, Self> |
184 type Reference<'b>: Instance<X, Self> + Copy |
| 185 where |
185 where |
| 186 X: 'b; |
186 X: 'b; |
| 187 |
187 |
| 188 /// Lift the lightweight reference type into a full decomposition type. |
188 /// Lift the lightweight reference type into a full decomposition type. |
| 189 fn lift<'b>(r: Self::Reference<'b>) -> Self::Decomposition<'b>; |
189 fn lift<'b>(r: Self::Reference<'b>) -> Self::Decomposition<'b>; |