about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorMara Bos <m-ou.se@m-ou.se>2021-02-06 00:14:17 +0100
committerGitHub <noreply@github.com>2021-02-06 00:14:17 +0100
commit51c68034b9ced3b2cf51627474d382e562fd76d5 (patch)
treeb4e7337ee8ccb73ffb6b469e538236abf8cee6c5 /compiler
parent728c955ac08379c4c9ec14e0b52a8d6b929803a1 (diff)
parentc89b9d97e2474120324620d4147db5ec0973071e (diff)
downloadrust-51c68034b9ced3b2cf51627474d382e562fd76d5.tar.gz
rust-51c68034b9ced3b2cf51627474d382e562fd76d5.zip
Rollup merge of #81795 - camsteffen:diagnostics-reduce, r=oli-obk
Small refactor with Iterator::reduce
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_resolve/src/diagnostics.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/compiler/rustc_resolve/src/diagnostics.rs b/compiler/rustc_resolve/src/diagnostics.rs
index 9d55bafd286..3b02f74f2ca 100644
--- a/compiler/rustc_resolve/src/diagnostics.rs
+++ b/compiler/rustc_resolve/src/diagnostics.rs
@@ -1111,10 +1111,9 @@ impl<'a> Resolver<'a> {
             _,
         ) = binding.kind
         {
-            let def_id = (&*self).parent(ctor_def_id).expect("no parent for a constructor");
+            let def_id = self.parent(ctor_def_id).expect("no parent for a constructor");
             let fields = self.field_names.get(&def_id)?;
-            let first_field = fields.first()?; // Handle `struct Foo()`
-            return Some(fields.iter().fold(first_field.span, |acc, field| acc.to(field.span)));
+            return fields.iter().map(|name| name.span).reduce(Span::to); // None for `struct Foo()`
         }
         None
     }