rust/tests/ui/borrowck/issue-82126-mismatched-subs...

27 lines
769 B
Rust

// 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() {}