I'm attempting to make a Result
with a lifetime parameter, as an additional restrain on the T
(::Ok(T)
) and E
(::Err(E)
) generic parameters.
// enums A<'a> and B<'a> elided
pub enum Result<'a, T=A<'a>, E=B<'a>> {
Ok(T),
Err(E),
}
unused parameter, suggestion: add PhantomData
So it didn't work. I read that I can hack around the unused parameter error with PhantomData
, but that seems dirty to me.
Neither did this work:
pub enum Result<T=A<'a>, E=B<'a>> {
Ok(T),
Err(E),
}
undefined parameter, suggestion: add parameter before T
(twice)
This suggestion throws me for a loop!
How do I put a generic type
with a lifetime parameter, in my enum
generic parameter default value?