// };
// ```
//
- // FIXME(RFC2229, rust#85435): Remove feature gate once diagnostics are
- // improved and unsafe checking works properly in closure bodies again.
- if this.tcx.features().capture_disjoint_fields {
- for (thir_place, cause, hir_id) in fake_reads.into_iter() {
- let place_builder =
- unpack!(block = this.as_place_builder(block, &this.thir[*thir_place]));
-
- if let Ok(place_builder_resolved) =
- place_builder.try_upvars_resolved(this.tcx, this.typeck_results)
- {
- let mir_place =
- place_builder_resolved.into_place(this.tcx, this.typeck_results);
- this.cfg.push_fake_read(
- block,
- this.source_info(this.tcx.hir().span(*hir_id)),
- *cause,
- mir_place,
- );
- }
+ for (thir_place, cause, hir_id) in fake_reads.into_iter() {
+ let place_builder =
+ unpack!(block = this.as_place_builder(block, &this.thir[*thir_place]));
+
+ if let Ok(place_builder_resolved) =
+ place_builder.try_upvars_resolved(this.tcx, this.typeck_results)
+ {
+ let mir_place =
+ place_builder_resolved.into_place(this.tcx, this.typeck_results);
+ this.cfg.push_fake_read(
+ block,
+ this.source_info(this.tcx.hir().span(*hir_id)),
+ *cause,
+ mir_place,
+ );
}
}