Skip to content

Commit 1fd05f9

Browse files
committed
Bump rustc version
1 parent 1cc7f84 commit 1fd05f9

File tree

2 files changed

+8
-26
lines changed

2 files changed

+8
-26
lines changed

frontend/exporter/src/constant_utils.rs

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -499,23 +499,10 @@ pub(crate) fn const_value_reference_to_constant_expr<'tcx, S: UnderOwnerState<'t
499499
val: rustc_middle::mir::interpret::ConstValue<'tcx>,
500500
span: rustc_span::Span,
501501
) -> ConstantExpr {
502-
use rustc_middle::mir::interpret;
503-
use rustc_middle::ty;
504-
505502
let tcx = s.base().tcx;
506503

507-
// We use [try_destructure_mir_constant] to destructure the constant
508-
let param_env = s.param_env();
509-
// We have to clone some values: it is a bit annoying, but I don't
510-
// manage to get the lifetimes working otherwise...
511-
let cvalue = rustc_middle::mir::ConstantKind::Val(val, ty);
512-
let param_env_and_const = rustc_middle::ty::ParamEnvAnd {
513-
param_env,
514-
value: cvalue,
515-
};
516-
517504
let dc = tcx
518-
.try_destructure_mir_constant(param_env_and_const)
505+
.try_destructure_mir_constant_for_diagnostics((val, ty))
519506
.s_unwrap(s);
520507

521508
// Iterate over the fields, which should be values
@@ -530,19 +517,14 @@ pub(crate) fn const_value_reference_to_constant_expr<'tcx, S: UnderOwnerState<'t
530517
}
531518
};
532519

533-
// The fields should be of the variant: [ConstantKind::Value]
534-
let fields: Vec<(ty::Ty, interpret::ConstValue)> = dc
535-
.fields
536-
.iter()
537-
.map(|f| (f.ty(), f.try_to_value(tcx).s_unwrap(s)))
538-
.collect();
539-
540520
// Below: we are mutually recursive with [const_value_to_constant_expr],
541-
// which takes a [ConstantKind] as input (see `cvalue` above), but it should be
521+
// which takes a [ConstantKind] as input, but it should be
542522
// ok because we call it on a strictly smaller value.
543-
let fields: Vec<ConstantExpr> = fields
544-
.into_iter()
545-
.map(|(ty, f)| const_value_to_constant_expr(s, ty, f, span))
523+
let fields: Vec<ConstantExpr> = dc
524+
.fields
525+
.iter()
526+
.copied()
527+
.map(|(val, ty)| const_value_to_constant_expr(s, ty, val, span))
546528
.collect();
547529
(ConstantExprKind::Tuple { fields }).decorate(hax_ty, span.sinto(s))
548530
}

rust-toolchain.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[toolchain]
2-
channel = "nightly-2023-07-05"
2+
channel = "nightly-2023-07-07"
33
components = [ "rustc-dev", "llvm-tools-preview" , "rust-analysis" , "rust-src" , "rustfmt" ]

0 commit comments

Comments
 (0)