1
Fork 0

Handle const generic pattern types

This commit is contained in:
Santiago Pastorino 2024-02-20 12:32:28 -03:00
parent a2bdb994d3
commit 30c546aee1
No known key found for this signature in database
GPG key ID: 8131A24E0C79EFAF
4 changed files with 26 additions and 18 deletions

View file

@ -133,10 +133,14 @@ fn layout_of_uncached<'tcx>(
ty::PatternKind::Range { start, end, include_end } => {
if let Abi::Scalar(scalar) | Abi::ScalarPair(scalar, _) = &mut layout.abi {
if let Some(start) = start {
scalar.valid_range_mut().start = start.eval_bits(tcx, param_env);
scalar.valid_range_mut().start = start
.try_eval_bits(tcx, param_env)
.ok_or_else(|| error(cx, LayoutError::Unknown(ty)))?;
}
if let Some(end) = end {
let mut end = end.eval_bits(tcx, param_env);
let mut end = end
.try_eval_bits(tcx, param_env)
.ok_or_else(|| error(cx, LayoutError::Unknown(ty)))?;
if !include_end {
end = end.wrapping_sub(1);
}