2019-11-03 18:00:00 -06:00
|
|
|
// check-pass
|
2018-09-25 16:51:35 -05:00
|
|
|
#![allow(dead_code)]
|
2015-09-08 13:19:08 -05:00
|
|
|
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() {}
|