| struct Foo<'c, 'd>(&'c (), &'d ()); | |
| impl<'c, 'd> Foo<'c, 'd> { | |
| fn acc(&mut self, _bar: &Bar) -> &'d () { | |
| todo!() | |
| } | |
| } | |
| struct Bar; | |
| impl<'a> Bar { | |
| fn boom(&self, foo: &mut Foo<'_, '_, 'a>) -> Result<(), &'a ()> { | |
| //~^ ERROR: struct takes 2 lifetime arguments but 3 lifetime arguments were supplied | |
| self.bar().map_err(|()| foo.acc(self))?; | |
| //~^ ERROR: explicit lifetime required in the type of `foo` | |
| Ok(()) | |
| } | |
| fn bar(&self) -> Result<(), &'a ()> { | |
| todo!() | |
| } | |
| } | |
| fn main() {} |