rust/tests/ui/suggestions/non-existent-field-present-in-subfield-recursion-limit.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

44 lines
746 B
Rust
Raw Normal View History

2022-09-26 06:00:29 -05:00
// In rustc_hir_analysis::check::expr::no_such_field_err we recursively
2021-01-28 11:26:31 -06:00
// look in subfields for the field. This recursive search is limited
// in depth for compile-time reasons and to avoid infinite recursion
// in case of cycles. This file tests that the limit in the recursion
// depth is enforced.
struct Foo {
first: Bar,
second: u32,
third: u32,
}
struct Bar {
bar: C,
}
struct C {
c: D,
}
struct D {
test: E,
}
struct E {
e: F,
}
struct F {
f: u32,
}
fn main() {
let f = F { f: 6 };
let e = E { e: f };
let d = D { test: e };
let c = C { c: d };
let bar = Bar { bar: c };
let fooer = Foo { first: bar, second: 4, third: 5 };
let test = fooer.f;
//~^ ERROR no field
}