Skip to content

Commit ab41be5

Browse files
authored
Update Rust toolchain to 2023-10-09 (rust-lang#2814)
Source changes required by the following upstream commits: * rust-lang/rust@e8a2673159 Add VariantIdx back * rust-lang/rust@f14b7c9443 Move FieldIdx and Layout to rustc_target * rust-lang/rust@b47ad3b744 Bring back generic FieldIdx Resolves: rust-lang#2813
1 parent 7a3e746 commit ab41be5

File tree

4 files changed

+12
-14
lines changed

4 files changed

+12
-14
lines changed

kani-compiler/src/codegen_cprover_gotoc/codegen/place.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,13 @@ use crate::codegen_cprover_gotoc::utils::{dynamic_fat_ptr, slice_fat_ptr};
1111
use crate::codegen_cprover_gotoc::GotocCtx;
1212
use crate::unwrap_or_return_codegen_unimplemented;
1313
use cbmc::goto_program::{Expr, Location, Type};
14-
use rustc_abi::FieldIdx;
1514
use rustc_hir::Mutability;
1615
use rustc_middle::ty::layout::LayoutOf;
1716
use rustc_middle::{
1817
mir::{Local, Place, ProjectionElem},
1918
ty::{self, Ty, TypeAndMut, VariantDef},
2019
};
21-
use rustc_target::abi::{TagEncoding, VariantIdx, Variants};
20+
use rustc_target::abi::{FieldIdx, TagEncoding, VariantIdx, Variants};
2221
use tracing::{debug, trace, warn};
2322

2423
/// A projection in Kani can either be to a type (the normal case),

kani-compiler/src/codegen_cprover_gotoc/codegen/rvalue.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,12 @@ use cbmc::goto_program::{
1717
use cbmc::MachineModel;
1818
use cbmc::{btree_string_map, InternString, InternedString};
1919
use num::bigint::BigInt;
20-
use rustc_abi::FieldIdx;
2120
use rustc_index::IndexVec;
2221
use rustc_middle::mir::{AggregateKind, BinOp, CastKind, NullOp, Operand, Place, Rvalue, UnOp};
2322
use rustc_middle::ty::adjustment::PointerCoercion;
2423
use rustc_middle::ty::layout::LayoutOf;
2524
use rustc_middle::ty::{self, Instance, IntTy, Ty, TyCtxt, UintTy, VtblEntry};
26-
use rustc_target::abi::{FieldsShape, Size, TagEncoding, VariantIdx, Variants};
25+
use rustc_target::abi::{FieldIdx, FieldsShape, Size, TagEncoding, VariantIdx, Variants};
2726
use std::collections::BTreeMap;
2827
use tracing::{debug, trace, warn};
2928

kani-compiler/src/codegen_cprover_gotoc/codegen/typ.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ use rustc_middle::ty::{
2020
use rustc_middle::ty::{List, TypeFoldable};
2121
use rustc_span::def_id::DefId;
2222
use rustc_target::abi::{
23-
Abi::Vector, FieldsShape, Integer, LayoutS, Primitive, Size, TagEncoding, TyAndLayout,
24-
VariantIdx, Variants,
23+
Abi::Vector, FieldIdx, FieldsShape, Integer, LayoutS, Primitive, Size, TagEncoding,
24+
TyAndLayout, VariantIdx, Variants,
2525
};
2626
use rustc_target::spec::abi::Abi;
2727
use std::iter;
@@ -870,7 +870,7 @@ impl<'tcx> GotocCtx<'tcx> {
870870
fn codegen_alignment_padding(
871871
&self,
872872
size: Size,
873-
layout: &LayoutS,
873+
layout: &LayoutS<FieldIdx, VariantIdx>,
874874
idx: usize,
875875
) -> Option<DatatypeComponent> {
876876
let align = Size::from_bits(layout.align.abi.bits());
@@ -895,7 +895,7 @@ impl<'tcx> GotocCtx<'tcx> {
895895
fn codegen_struct_fields(
896896
&mut self,
897897
flds: Vec<(String, Ty<'tcx>)>,
898-
layout: &LayoutS,
898+
layout: &LayoutS<FieldIdx, VariantIdx>,
899899
initial_offset: Size,
900900
) -> Vec<DatatypeComponent> {
901901
match &layout.fields {
@@ -1352,7 +1352,7 @@ impl<'tcx> GotocCtx<'tcx> {
13521352
&mut self,
13531353
variant: &VariantDef,
13541354
subst: &'tcx GenericArgsRef<'tcx>,
1355-
layout: &LayoutS,
1355+
layout: &LayoutS<FieldIdx, VariantIdx>,
13561356
initial_offset: Size,
13571357
) -> Vec<DatatypeComponent> {
13581358
let flds: Vec<_> =
@@ -1521,7 +1521,7 @@ impl<'tcx> GotocCtx<'tcx> {
15211521
ty: Ty<'tcx>,
15221522
adtdef: &'tcx AdtDef,
15231523
subst: &'tcx GenericArgsRef<'tcx>,
1524-
variants: &IndexVec<VariantIdx, LayoutS>,
1524+
variants: &IndexVec<VariantIdx, LayoutS<FieldIdx, VariantIdx>>,
15251525
) -> Type {
15261526
let non_zst_count = variants.iter().filter(|layout| layout.size.bytes() > 0).count();
15271527
let mangled_name = self.ty_mangled_name(ty);
@@ -1540,7 +1540,7 @@ impl<'tcx> GotocCtx<'tcx> {
15401540

15411541
pub(crate) fn variant_min_offset(
15421542
&self,
1543-
variants: &IndexVec<VariantIdx, LayoutS>,
1543+
variants: &IndexVec<VariantIdx, LayoutS<FieldIdx, VariantIdx>>,
15441544
) -> Option<Size> {
15451545
variants
15461546
.iter()
@@ -1625,7 +1625,7 @@ impl<'tcx> GotocCtx<'tcx> {
16251625
pretty_name: InternedString,
16261626
def: &'tcx AdtDef,
16271627
subst: &'tcx GenericArgsRef<'tcx>,
1628-
layouts: &IndexVec<VariantIdx, LayoutS>,
1628+
layouts: &IndexVec<VariantIdx, LayoutS<FieldIdx, VariantIdx>>,
16291629
initial_offset: Size,
16301630
) -> Vec<DatatypeComponent> {
16311631
def.variants()
@@ -1657,7 +1657,7 @@ impl<'tcx> GotocCtx<'tcx> {
16571657
pretty_name: InternedString,
16581658
case: &VariantDef,
16591659
subst: &'tcx GenericArgsRef<'tcx>,
1660-
variant: &LayoutS,
1660+
variant: &LayoutS<FieldIdx, VariantIdx>,
16611661
initial_offset: Size,
16621662
) -> Type {
16631663
let case_name = format!("{name}::{}", case.name);

rust-toolchain.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
# SPDX-License-Identifier: Apache-2.0 OR MIT
33

44
[toolchain]
5-
channel = "nightly-2023-10-06"
5+
channel = "nightly-2023-10-09"
66
components = ["llvm-tools-preview", "rustc-dev", "rust-src", "rustfmt"]

0 commit comments

Comments
 (0)