We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 5c06b23 commit cb34989Copy full SHA for cb34989
src/librustc_mir/borrow_check/places_conflict.rs
@@ -219,6 +219,10 @@ fn place_components_conflict<'gcx, 'tcx>(
219
/// innermost place and extends to projections (e.g., `a.b` would have
220
/// the place `a` with a "next" pointer to `a.b`). Created by
221
/// `unroll_place`.
222
+///
223
+/// NB: This particular impl strategy is not the most obvious. It was
224
+/// chosen because it makes a measurable difference to NLL
225
+/// performance, as this code (`places_conflict`) is somewhat hot.
226
struct PlaceComponents<'p, 'tcx: 'p> {
227
component: &'p Place<'tcx>,
228
next: Option<&'p PlaceComponents<'p, 'tcx>>,
0 commit comments