// check-pass #![allow(dead_code)] use std::marker::PhantomData; pub struct UnionedKeys<'a,K> where K: UnifyKey + 'a { table: &'a mut UnificationTable, root_key: K, stack: Vec, } pub trait UnifyKey { type Value; } pub struct UnificationTable { values: Delegate, } pub struct Delegate(PhantomData); fn main() {}