Skip to content

Commit 0553dc8

Browse files
authored
Rollup merge of #48007 - nrc:rls-field-init, r=eddyb
save-analysis: avoid implicit unwrap When looking up a field defintion, since the name might be incorrect in the field init shorthand case. cc rust-lang/rls#699 r? @eddyb
2 parents e2f6e13 + 3c72a84 commit 0553dc8

File tree

2 files changed

+9
-1
lines changed
  • src
    • librustc_save_analysis
    • test/run-make/save-analysis-fail

2 files changed

+9
-1
lines changed

src/librustc_save_analysis/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -791,7 +791,7 @@ impl<'l, 'tcx: 'l> SaveContext<'l, 'tcx> {
791791
field_ref: &ast::Field,
792792
variant: &ty::VariantDef,
793793
) -> Option<Ref> {
794-
let f = variant.field_named(field_ref.ident.node.name);
794+
let f = variant.find_field_named(field_ref.ident.node.name)?;
795795
// We don't really need a sub-span here, but no harm done
796796
let sub_span = self.span_utils.span_for_last_ident(field_ref.ident.span);
797797
filter!(self.span_utils, sub_span, field_ref.ident.span, None);

src/test/run-make/save-analysis-fail/foo.rs

+8
Original file line numberDiff line numberDiff line change
@@ -451,3 +451,11 @@ extern {
451451
static EXTERN_FOO: u8;
452452
fn extern_foo(a: u8, b: i32) -> String;
453453
}
454+
455+
struct Rls699 {
456+
f: u32,
457+
}
458+
459+
fn new(f: u32) -> Rls699 {
460+
Rls699 { fs }
461+
}

0 commit comments

Comments
 (0)