@@ -162,6 +162,20 @@ impl ItemScope {
162162 . map ( move |name| ( name, self . get ( name) ) )
163163 }
164164
165+ pub fn values ( & self ) -> impl Iterator < Item = ( & Name , Item < ModuleDefId , ImportId > ) > + ' _ {
166+ self . values . iter ( ) . map ( |( n, & i) | ( n, i) )
167+ }
168+
169+ pub fn types (
170+ & self ,
171+ ) -> impl Iterator < Item = ( & Name , Item < ModuleDefId , ImportOrExternCrate > ) > + ' _ {
172+ self . types . iter ( ) . map ( |( n, & i) | ( n, i) )
173+ }
174+
175+ pub fn macros ( & self ) -> impl Iterator < Item = ( & Name , Item < MacroId , ImportId > ) > + ' _ {
176+ self . macros . iter ( ) . map ( |( n, & i) | ( n, i) )
177+ }
178+
165179 pub fn imports ( & self ) -> impl Iterator < Item = ImportId > + ' _ {
166180 self . use_imports_types
167181 . keys ( )
@@ -263,11 +277,6 @@ impl ItemScope {
263277 self . unnamed_consts . iter ( ) . copied ( )
264278 }
265279
266- /// Iterate over all module scoped macros
267- pub ( crate ) fn macros ( & self ) -> impl Iterator < Item = ( & Name , MacroId ) > + ' _ {
268- self . entries ( ) . filter_map ( |( name, def) | def. take_macros ( ) . map ( |macro_| ( name, macro_) ) )
269- }
270-
271280 /// Iterate over all legacy textual scoped macros visible at the end of the module
272281 pub fn legacy_macros ( & self ) -> impl Iterator < Item = ( & Name , & [ MacroId ] ) > + ' _ {
273282 self . legacy_macros . iter ( ) . map ( |( name, def) | ( name, & * * def) )
0 commit comments