diff options
| author | Cameron Steffen <cam.steffen94@gmail.com> | 2021-02-04 15:44:24 -0600 |
|---|---|---|
| committer | Cameron Steffen <cam.steffen94@gmail.com> | 2021-02-05 09:34:40 -0600 |
| commit | c89b9d97e2474120324620d4147db5ec0973071e (patch) | |
| tree | 9d103072cadbca35135dd86a5914e5115cc89f9b | |
| parent | f9435f4c92651d67d5dbaba13c5606c4c4fc1327 (diff) | |
| download | rust-c89b9d97e2474120324620d4147db5ec0973071e.tar.gz rust-c89b9d97e2474120324620d4147db5ec0973071e.zip | |
Small refactor with Iterator::reduce
| -rw-r--r-- | compiler/rustc_resolve/src/diagnostics.rs | 5 |
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 } |
