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