@@ -417,15 +417,12 @@ impl<'a> Resolver<'a> {
417
417
418
418
crate fn lint_if_path_starts_with_module (
419
419
& mut self ,
420
- finalize : Finalize ,
420
+ finalize : Option < Finalize > ,
421
421
path : & [ Segment ] ,
422
422
second_binding : Option < & NameBinding < ' _ > > ,
423
423
) {
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 ;
429
426
} ;
430
427
431
428
let first_name = match path. get ( 0 ) {
@@ -463,11 +460,11 @@ impl<'a> Resolver<'a> {
463
460
}
464
461
}
465
462
466
- let diag = BuiltinLintDiagnostics :: AbsPathWithModule ( diag_span ) ;
463
+ let diag = BuiltinLintDiagnostics :: AbsPathWithModule ( root_span ) ;
467
464
self . lint_buffer . buffer_lint_with_diagnostic (
468
465
ABSOLUTE_PATHS_NOT_STARTING_WITH_CRATE ,
469
- diag_id ,
470
- diag_span ,
466
+ node_id ,
467
+ root_span ,
471
468
"absolute paths must start with `self`, `super`, \
472
469
`crate`, or an external crate name in the 2018 edition",
473
470
diag,
@@ -1503,7 +1500,6 @@ impl<'a> Resolver<'a> {
1503
1500
& parent_scope,
1504
1501
None ,
1505
1502
false ,
1506
- false ,
1507
1503
None ,
1508
1504
) {
1509
1505
let desc = match binding. res ( ) {
@@ -1811,7 +1807,7 @@ impl<'a> Resolver<'a> {
1811
1807
opt_ns : Option < Namespace > , // `None` indicates a module path in import
1812
1808
parent_scope : & ParentScope < ' a > ,
1813
1809
ribs : Option < & PerNS < Vec < Rib < ' a > > > > ,
1814
- unusable_binding : Option < & ' a NameBinding < ' a > > ,
1810
+ ignore_binding : Option < & ' a NameBinding < ' a > > ,
1815
1811
module : Option < ModuleOrUniformRoot < ' a > > ,
1816
1812
i : usize ,
1817
1813
ident : Ident ,
@@ -1863,8 +1859,7 @@ impl<'a> Resolver<'a> {
1863
1859
ns_to_try,
1864
1860
parent_scope,
1865
1861
None ,
1866
- false ,
1867
- unusable_binding,
1862
+ ignore_binding,
1868
1863
) . ok ( )
1869
1864
} else if let Some ( ribs) = ribs
1870
1865
&& let Some ( TypeNS | ValueNS ) = opt_ns
@@ -1873,9 +1868,9 @@ impl<'a> Resolver<'a> {
1873
1868
ident,
1874
1869
ns_to_try,
1875
1870
parent_scope,
1876
- Finalize :: No ,
1871
+ None ,
1877
1872
& ribs[ ns_to_try] ,
1878
- unusable_binding ,
1873
+ ignore_binding ,
1879
1874
) {
1880
1875
// we found a locally-imported or available item/module
1881
1876
Some ( LexicalScopeBinding :: Item ( binding) ) => Some ( binding) ,
@@ -1889,8 +1884,7 @@ impl<'a> Resolver<'a> {
1889
1884
parent_scope,
1890
1885
None ,
1891
1886
false ,
1892
- false ,
1893
- unusable_binding,
1887
+ ignore_binding,
1894
1888
) . ok ( )
1895
1889
} ;
1896
1890
if let Some ( binding) = binding {
@@ -1921,9 +1915,9 @@ impl<'a> Resolver<'a> {
1921
1915
ident,
1922
1916
ValueNS ,
1923
1917
parent_scope,
1924
- Finalize :: No ,
1918
+ None ,
1925
1919
& ribs[ ValueNS ] ,
1926
- unusable_binding ,
1920
+ ignore_binding ,
1927
1921
)
1928
1922
} else {
1929
1923
None
0 commit comments