blob: 5bb15357acc6d4ae3821b2bd0407ba9f6b379a75 [file] [log] [blame]
use crate::syntax::{NamedType, Pair, Types};
use proc_macro2::Ident;
impl<'a> Types<'a> {
pub fn resolve(&self, ident: &impl UnresolvedName) -> &Pair {
self.resolutions
.get(ident.ident())
.expect("Unable to resolve type")
}
}
pub trait UnresolvedName {
fn ident(&self) -> &Ident;
}
impl UnresolvedName for Ident {
fn ident(&self) -> &Ident {
self
}
}
impl UnresolvedName for NamedType {
fn ident(&self) -> &Ident {
&self.rust
}
}