@@ -417,15 +417,12 @@ impl<'a> Resolver<'a> {
417417
418418 crate fn lint_if_path_starts_with_module (
419419 & mut self ,
420- finalize : Finalize ,
420+ finalize : Option < Finalize > ,
421421 path : & [ Segment ] ,
422422 second_binding : Option < & NameBinding < ' _ > > ,
423423 ) {
424- let ( diag_id, diag_span) = match finalize {
425- Finalize :: No => return ,
426- Finalize :: SimplePath ( id, path_span) => ( id, path_span) ,
427- Finalize :: UsePath { root_id, root_span, .. } => ( root_id, root_span) ,
428- Finalize :: QPathTrait { qpath_id, qpath_span, .. } => ( qpath_id, qpath_span) ,
424+ let Some ( Finalize { node_id, root_span, .. } ) = finalize else {
425+ return ;
429426 } ;
430427
431428 let first_name = match path. get ( 0 ) {
@@ -463,11 +460,11 @@ impl<'a> Resolver<'a> {
463460 }
464461 }
465462
466- let diag = BuiltinLintDiagnostics :: AbsPathWithModule ( diag_span ) ;
463+ let diag = BuiltinLintDiagnostics :: AbsPathWithModule ( root_span ) ;
467464 self . lint_buffer . buffer_lint_with_diagnostic (
468465 ABSOLUTE_PATHS_NOT_STARTING_WITH_CRATE ,
469- diag_id ,
470- diag_span ,
466+ node_id ,
467+ root_span ,
471468 "absolute paths must start with `self`, `super`, \
472469 `crate`, or an external crate name in the 2018 edition",
473470 diag,
@@ -1503,7 +1500,6 @@ impl<'a> Resolver<'a> {
15031500 & parent_scope,
15041501 None ,
15051502 false ,
1506- false ,
15071503 None ,
15081504 ) {
15091505 let desc = match binding. res ( ) {
@@ -1811,7 +1807,7 @@ impl<'a> Resolver<'a> {
18111807 opt_ns : Option < Namespace > , // `None` indicates a module path in import
18121808 parent_scope : & ParentScope < ' a > ,
18131809 ribs : Option < & PerNS < Vec < Rib < ' a > > > > ,
1814- unusable_binding : Option < & ' a NameBinding < ' a > > ,
1810+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
18151811 module : Option < ModuleOrUniformRoot < ' a > > ,
18161812 i : usize ,
18171813 ident : Ident ,
@@ -1863,8 +1859,7 @@ impl<'a> Resolver<'a> {
18631859 ns_to_try,
18641860 parent_scope,
18651861 None ,
1866- false ,
1867- unusable_binding,
1862+ ignore_binding,
18681863 ) . ok ( )
18691864 } else if let Some ( ribs) = ribs
18701865 && let Some ( TypeNS | ValueNS ) = opt_ns
@@ -1873,9 +1868,9 @@ impl<'a> Resolver<'a> {
18731868 ident,
18741869 ns_to_try,
18751870 parent_scope,
1876- Finalize :: No ,
1871+ None ,
18771872 & ribs[ ns_to_try] ,
1878- unusable_binding ,
1873+ ignore_binding ,
18791874 ) {
18801875 // we found a locally-imported or available item/module
18811876 Some ( LexicalScopeBinding :: Item ( binding) ) => Some ( binding) ,
@@ -1889,8 +1884,7 @@ impl<'a> Resolver<'a> {
18891884 parent_scope,
18901885 None ,
18911886 false ,
1892- false ,
1893- unusable_binding,
1887+ ignore_binding,
18941888 ) . ok ( )
18951889 } ;
18961890 if let Some ( binding) = binding {
@@ -1921,9 +1915,9 @@ impl<'a> Resolver<'a> {
19211915 ident,
19221916 ValueNS ,
19231917 parent_scope,
1924- Finalize :: No ,
1918+ None ,
19251919 & ribs[ ValueNS ] ,
1926- unusable_binding ,
1920+ ignore_binding ,
19271921 )
19281922 } else {
19291923 None
0 commit comments