1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
use std::collections::hash_map::{Keys, HashMap};
use std::marker::PhantomData;
trait MapAssertion<'a, K, V, R> {
fn key_set(&self) -> Subject<Keys<K, V>, (), R>;
}
struct Subject<'a, T, V, R>(PhantomData<(&'a T, V, R)>);
impl<'a, K, V, R> MapAssertion<'a, K, V, R> for Subject<'a, HashMap<K, V>, (), R>
{
fn key_set(&self) -> Subject<'a, Keys<K, V>, (), R> {
//~^ ERROR cannot infer an appropriate lifetime for lifetime parameter '_ in generic type due to conflicting requirements
todo!()
}
}
fn main() {}
|