Add back Res::matches_ns, implemented in terms of ns

This commit is contained in:
Joshua Nelson 2020-08-25 16:45:12 -04:00
parent 05a040f406
commit 5ce4ee9687
2 changed files with 6 additions and 1 deletions

View file

@ -1145,7 +1145,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
if let TyKind::Path(ref qself, ref path) = ty.kind {
if let Some(partial_res) = self.resolver.get_partial_res(ty.id) {
let res = partial_res.base_res();
if res.ns().map(|ns| ns != Namespace::TypeNS).unwrap_or(false) {
if !res.matches_ns(Namespace::TypeNS) {
debug!(
"lower_generic_arg: Lowering type argument as const argument: {:?}",
ty,

View file

@ -461,4 +461,9 @@ impl<Id> Res<Id> {
Res::Err => None,
}
}
/// Always returns `true` if `self` is `Res::Err`
pub fn matches_ns(&self, ns: Namespace) -> bool {
self.ns().map(|actual_ns| actual_ns == ns).unwrap_or(true)
}
}