Skip to content

Commit c9be1a7

Browse files
committed
Remove invalid lint when there is a generic argument in prefix path
1 parent fca59ab commit c9be1a7

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

compiler/rustc_resolve/src/late.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -3944,11 +3944,12 @@ impl<'a: 'ast, 'b, 'ast, 'tcx> LateResolutionVisitor<'a, 'b, 'ast, 'tcx> {
39443944

39453945
if path.len() > 1
39463946
&& let Some(res) = result.full_res()
3947+
&& let Some((&last_segment, prev_segs)) = path.split_last()
3948+
&& prev_segs.iter().all(|seg| !seg.has_generic_args)
39473949
&& res != Res::Err
39483950
&& path[0].ident.name != kw::PathRoot
39493951
&& path[0].ident.name != kw::DollarCrate
39503952
{
3951-
let last_segment = *path.last().unwrap();
39523953
let unqualified_result = {
39533954
match self.resolve_path(&[last_segment], Some(ns), None) {
39543955
PathResult::NonModule(path_res) => path_res.expect_full_res(),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#![deny(unused_qualifications)]
2+
// check-pass
3+
fn bar() {
4+
match Option::<Option<()>>::None {
5+
Some(v) => {}
6+
None => {}
7+
}
8+
}
9+
10+
fn main() {}

0 commit comments

Comments
 (0)