| // Regression test for #82126. Checks that mismatched lifetimes and types are |
| // properly handled. |
| |
| //@ edition:2018 |
| |
| use std::sync::Mutex; |
| |
| struct MarketMultiplier {} |
| |
| impl MarketMultiplier { |
| fn buy(&mut self) -> &mut usize { |
| todo!() |
| } |
| } |
| |
| async fn buy_lock(coroutine: &Mutex<MarketMultiplier>) -> LockedMarket<'_> { |
| //~^ ERROR struct takes 0 lifetime arguments but 1 lifetime argument was supplied |
| //~| ERROR struct takes 1 generic argument but 0 generic arguments were supplied |
| //~| ERROR struct takes 0 lifetime arguments but 1 lifetime argument was supplied |
| //~| ERROR struct takes 1 generic argument but 0 generic arguments were supplied |
| LockedMarket(coroutine.lock().unwrap().buy()) |
| } |
| |
| struct LockedMarket<T>(T); |
| |
| fn main() {} |