Skip to content

Commit 7097dbc

Browse files
committed
exhaustively destructure external constraints
1 parent 9af6fee commit 7097dbc

File tree

1 file changed

+11
-3
lines changed
  • compiler/rustc_next_trait_solver/src/solve

1 file changed

+11
-3
lines changed

compiler/rustc_next_trait_solver/src/solve/mod.rs

+11-3
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,20 @@ enum GoalEvaluationKind {
4848
Nested,
4949
}
5050

51+
// FIXME(trait-system-refactor-initiative#117): we don't detect whether a response
52+
// ended up pulling down any universes.
5153
fn has_no_inference_or_external_constraints<I: Interner>(
5254
response: ty::Canonical<I, Response<I>>,
5355
) -> bool {
54-
response.value.external_constraints.region_constraints.is_empty()
55-
&& response.value.var_values.is_identity()
56-
&& response.value.external_constraints.opaque_types.is_empty()
56+
let ExternalConstraintsData {
57+
ref region_constraints,
58+
ref opaque_types,
59+
ref normalization_nested_goals,
60+
} = *response.value.external_constraints;
61+
response.value.var_values.is_identity()
62+
&& region_constraints.is_empty()
63+
&& opaque_types.is_empty()
64+
&& normalization_nested_goals.is_empty()
5765
}
5866

5967
impl<'a, D, I> EvalCtxt<'a, D>

0 commit comments

Comments
 (0)