1 2 3 4 5 6 7 8 9 10 11 12 13 14
// build-pass (FIXME(62277): could be check-pass?) pub trait Hasher { type State; fn hash<T: Hash< <Self as Hasher>::State >>(&self, value: &T) -> u64; } pub trait Hash<S> { fn hash(&self, state: &mut S); } fn main() {}