@@ -700,7 +700,7 @@ pub enum Namespace {
700
700
pub struct PerNS < T > {
701
701
value_ns : T ,
702
702
type_ns : T ,
703
- macro_ns : Option < T > ,
703
+ macro_ns : T ,
704
704
}
705
705
706
706
impl < T > :: std:: ops:: Index < Namespace > for PerNS < T > {
@@ -709,7 +709,7 @@ impl<T> ::std::ops::Index<Namespace> for PerNS<T> {
709
709
match ns {
710
710
ValueNS => & self . value_ns ,
711
711
TypeNS => & self . type_ns ,
712
- MacroNS => self . macro_ns . as_ref ( ) . unwrap ( ) ,
712
+ MacroNS => & self . macro_ns ,
713
713
}
714
714
}
715
715
}
@@ -719,7 +719,7 @@ impl<T> ::std::ops::IndexMut<Namespace> for PerNS<T> {
719
719
match ns {
720
720
ValueNS => & mut self . value_ns ,
721
721
TypeNS => & mut self . type_ns ,
722
- MacroNS => self . macro_ns . as_mut ( ) . unwrap ( ) ,
722
+ MacroNS => & mut self . macro_ns ,
723
723
}
724
724
}
725
725
}
@@ -1726,7 +1726,7 @@ impl<'a> Resolver<'a> {
1726
1726
ribs : PerNS {
1727
1727
value_ns : vec ! [ Rib :: new( ModuleRibKind ( graph_root) ) ] ,
1728
1728
type_ns : vec ! [ Rib :: new( ModuleRibKind ( graph_root) ) ] ,
1729
- macro_ns : Some ( vec ! [ Rib :: new( ModuleRibKind ( graph_root) ) ] ) ,
1729
+ macro_ns : vec ! [ Rib :: new( ModuleRibKind ( graph_root) ) ] ,
1730
1730
} ,
1731
1731
label_ribs : Vec :: new ( ) ,
1732
1732
@@ -1806,14 +1806,11 @@ impl<'a> Resolver<'a> {
1806
1806
}
1807
1807
1808
1808
/// Runs the function on each namespace.
1809
- fn per_ns < T , F : FnMut ( & mut Self , Namespace ) -> T > ( & mut self , mut f : F ) -> PerNS < T > {
1810
- PerNS {
1811
- type_ns : f ( self , TypeNS ) ,
1812
- value_ns : f ( self , ValueNS ) ,
1813
- macro_ns : match self . use_extern_macros {
1814
- true => Some ( f ( self , MacroNS ) ) ,
1815
- false => None ,
1816
- } ,
1809
+ fn per_ns < F : FnMut ( & mut Self , Namespace ) > ( & mut self , mut f : F ) {
1810
+ f ( self , TypeNS ) ;
1811
+ f ( self , ValueNS ) ;
1812
+ if self . use_extern_macros {
1813
+ f ( self , MacroNS ) ;
1817
1814
}
1818
1815
}
1819
1816
0 commit comments