about summary refs log tree commit diff
path: root/compiler/rustc_parse/src
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2020-12-01 00:40:28 -0800
committerEsteban Küber <esteban@kuber.com.ar>2021-01-26 15:59:43 -0800
commit2e846d6f618332ef80e5333f0d7922527373e517 (patch)
tree3c7db937699e1e6eba5f66572a112b157d9fe518 /compiler/rustc_parse/src
parent7907345e58b4f4d2c95e5ea9b8e0b3bff8946523 (diff)
downloadrust-2e846d6f618332ef80e5333f0d7922527373e517.tar.gz
rust-2e846d6f618332ef80e5333f0d7922527373e517.zip
Point only at generic arguments when they are unexpected
Diffstat (limited to 'compiler/rustc_parse/src')
-rw-r--r--compiler/rustc_parse/src/parser/path.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/rustc_parse/src/parser/path.rs b/compiler/rustc_parse/src/parser/path.rs
index 4234740b2b1..6b7059eecf4 100644
--- a/compiler/rustc_parse/src/parser/path.rs
+++ b/compiler/rustc_parse/src/parser/path.rs
@@ -133,7 +133,15 @@ impl<'a> Parser<'a> {
         maybe_whole!(self, NtPath, |path| {
             if style == PathStyle::Mod && path.segments.iter().any(|segment| segment.args.is_some())
             {
-                self.struct_span_err(path.span, "unexpected generic arguments in path").emit();
+                self.struct_span_err(
+                    path.segments
+                        .iter()
+                        .filter_map(|segment| segment.args.as_ref())
+                        .map(|arg| arg.span())
+                        .collect::<Vec<_>>(),
+                    "unexpected generic arguments in path",
+                )
+                .emit();
             }
             path
         });