I have a fun one, where the compiler says I have an unused lifetime parameter, except it’s clearly used. It feels almost like a compiler error, though I’m probably overlooking something? Who can see the mistake?
trait Context<'a> {
fn name(&'a self) -> &'a str;
}
type Func<'a, C: Context<'a>> = dyn Fn(C);
pub struct BuiltInFunction<'a, C: Context<'a>> {
pub(crate) func: Box<Func<'a, C>>,
}
error[E0392]: parameter `'a` is never used
--> src/main.rs:7:28
|
7 | pub struct BuiltInFunction<'a, C: Context<'a>> {
| ^^ unused parameter
|
= help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`
For more information about this error, try `rustc --explain E0392`.
error: could not compile `lifetime-test` (bin "lifetime-test") due to 1 previous error
You are viewing a single thread.
View all comments 1 point
I think you might not be allowed to use two 'a s in one type? I could be wrong though, I’m not very familiar with lifetimes.