Skip to content

Commit 4ce933f

Browse files
committed
rustc_target: move LayoutOf to ty::layout.
1 parent 50171c3 commit 4ce933f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+148
-170
lines changed

compiler/rustc_codegen_cranelift/src/common.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -257,8 +257,7 @@ pub(crate) struct FunctionCx<'m, 'clif, 'tcx: 'm> {
257257
}
258258

259259
impl<'tcx> LayoutOf<'tcx> for FunctionCx<'_, '_, 'tcx> {
260-
type Ty = Ty<'tcx>;
261-
type TyAndLayout = TyAndLayout<'tcx>;
260+
type LayoutOfResult = TyAndLayout<'tcx>;
262261

263262
fn layout_of(&self, ty: Ty<'tcx>) -> TyAndLayout<'tcx> {
264263
RevealAllLayoutCx(self.tcx).layout_of(ty)
@@ -365,8 +364,7 @@ impl<'tcx> FunctionCx<'_, '_, 'tcx> {
365364
pub(crate) struct RevealAllLayoutCx<'tcx>(pub(crate) TyCtxt<'tcx>);
366365

367366
impl<'tcx> LayoutOf<'tcx> for RevealAllLayoutCx<'tcx> {
368-
type Ty = Ty<'tcx>;
369-
type TyAndLayout = TyAndLayout<'tcx>;
367+
type LayoutOfResult = TyAndLayout<'tcx>;
370368

371369
fn layout_of(&self, ty: Ty<'tcx>) -> TyAndLayout<'tcx> {
372370
assert!(!ty.still_further_specializable());

compiler/rustc_codegen_cranelift/src/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,12 @@ mod prelude {
7979
pub(crate) use rustc_hir::def_id::{DefId, LOCAL_CRATE};
8080
pub(crate) use rustc_middle::bug;
8181
pub(crate) use rustc_middle::mir::{self, *};
82-
pub(crate) use rustc_middle::ty::layout::{self, TyAndLayout};
82+
pub(crate) use rustc_middle::ty::layout::{self, LayoutOf, TyAndLayout};
8383
pub(crate) use rustc_middle::ty::{
8484
self, FloatTy, Instance, InstanceDef, IntTy, ParamEnv, Ty, TyCtxt, TypeAndMut,
8585
TypeFoldable, UintTy,
8686
};
87-
pub(crate) use rustc_target::abi::{Abi, LayoutOf, Scalar, Size, VariantIdx};
87+
pub(crate) use rustc_target::abi::{Abi, Scalar, Size, VariantIdx};
8888

8989
pub(crate) use rustc_data_structures::fx::FxHashMap;
9090

compiler/rustc_codegen_llvm/src/abi.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ use rustc_codegen_ssa::mir::place::PlaceRef;
1111
use rustc_codegen_ssa::traits::*;
1212
use rustc_codegen_ssa::MemFlags;
1313
use rustc_middle::bug;
14+
use rustc_middle::ty::layout::LayoutOf;
1415
pub use rustc_middle::ty::layout::{FAT_PTR_ADDR, FAT_PTR_EXTRA};
1516
use rustc_middle::ty::Ty;
1617
use rustc_target::abi::call::ArgAbi;
1718
pub use rustc_target::abi::call::*;
18-
use rustc_target::abi::{self, HasDataLayout, Int, LayoutOf};
19+
use rustc_target::abi::{self, HasDataLayout, Int};
1920
pub use rustc_target::spec::abi::Abi;
2021

2122
use libc::c_uint;

compiler/rustc_codegen_llvm/src/builder.rs

+4-5
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use rustc_codegen_ssa::traits::*;
1515
use rustc_codegen_ssa::MemFlags;
1616
use rustc_data_structures::small_c_str::SmallCStr;
1717
use rustc_hir::def_id::DefId;
18-
use rustc_middle::ty::layout::TyAndLayout;
18+
use rustc_middle::ty::layout::{LayoutOf, TyAndLayout};
1919
use rustc_middle::ty::{self, Ty, TyCtxt};
2020
use rustc_span::Span;
2121
use rustc_target::abi::{self, Align, Size};
@@ -88,11 +88,10 @@ impl HasTargetSpec for Builder<'_, '_, 'tcx> {
8888
}
8989
}
9090

91-
impl abi::LayoutOf<'tcx> for Builder<'_, '_, 'tcx> {
92-
type Ty = Ty<'tcx>;
93-
type TyAndLayout = TyAndLayout<'tcx>;
91+
impl LayoutOf<'tcx> for Builder<'_, '_, 'tcx> {
92+
type LayoutOfResult = TyAndLayout<'tcx>;
9493

95-
fn layout_of(&self, ty: Ty<'tcx>) -> Self::TyAndLayout {
94+
fn layout_of(&self, ty: Ty<'tcx>) -> Self::LayoutOfResult {
9695
self.cx.layout_of(ty)
9796
}
9897
}

compiler/rustc_codegen_llvm/src/common.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@ use rustc_codegen_ssa::mir::place::PlaceRef;
1212
use rustc_codegen_ssa::traits::*;
1313
use rustc_middle::bug;
1414
use rustc_middle::mir::interpret::{Allocation, GlobalAlloc, Scalar};
15-
use rustc_middle::ty::{layout::TyAndLayout, ScalarInt};
15+
use rustc_middle::ty::layout::{LayoutOf, TyAndLayout};
16+
use rustc_middle::ty::ScalarInt;
1617
use rustc_span::symbol::Symbol;
17-
use rustc_target::abi::{self, AddressSpace, HasDataLayout, LayoutOf, Pointer, Size};
18+
use rustc_target::abi::{self, AddressSpace, HasDataLayout, Pointer, Size};
1819

1920
use libc::{c_char, c_uint};
2021
use tracing::debug;

compiler/rustc_codegen_llvm/src/consts.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ use rustc_middle::mir::interpret::{
1515
Scalar as InterpScalar,
1616
};
1717
use rustc_middle::mir::mono::MonoItem;
18+
use rustc_middle::ty::layout::LayoutOf;
1819
use rustc_middle::ty::{self, Instance, Ty};
1920
use rustc_middle::{bug, span_bug};
2021
use rustc_target::abi::{
21-
AddressSpace, Align, HasDataLayout, LayoutOf, Primitive, Scalar, Size, WrappingRange,
22+
AddressSpace, Align, HasDataLayout, Primitive, Scalar, Size, WrappingRange,
2223
};
2324
use std::ops::Range;
2425
use tracing::debug;

compiler/rustc_codegen_llvm/src/context.rs

+5-6
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ use rustc_data_structures::fx::FxHashMap;
1616
use rustc_data_structures::small_c_str::SmallCStr;
1717
use rustc_middle::bug;
1818
use rustc_middle::mir::mono::CodegenUnit;
19-
use rustc_middle::ty::layout::{HasParamEnv, LayoutError, TyAndLayout};
19+
use rustc_middle::ty::layout::{HasParamEnv, LayoutError, LayoutOf, TyAndLayout};
2020
use rustc_middle::ty::{self, Instance, Ty, TyCtxt};
2121
use rustc_session::config::{CFGuard, CrateType, DebugInfo};
2222
use rustc_session::Session;
2323
use rustc_span::source_map::{Span, DUMMY_SP};
2424
use rustc_span::symbol::Symbol;
25-
use rustc_target::abi::{HasDataLayout, LayoutOf, PointeeInfo, Size, TargetDataLayout, VariantIdx};
25+
use rustc_target::abi::{HasDataLayout, PointeeInfo, Size, TargetDataLayout, VariantIdx};
2626
use rustc_target::spec::{HasTargetSpec, RelocModel, Target, TlsModel};
2727
use smallvec::SmallVec;
2828

@@ -836,14 +836,13 @@ impl ty::layout::HasTyCtxt<'tcx> for CodegenCx<'ll, 'tcx> {
836836
}
837837

838838
impl LayoutOf<'tcx> for CodegenCx<'ll, 'tcx> {
839-
type Ty = Ty<'tcx>;
840-
type TyAndLayout = TyAndLayout<'tcx>;
839+
type LayoutOfResult = TyAndLayout<'tcx>;
841840

842-
fn layout_of(&self, ty: Ty<'tcx>) -> Self::TyAndLayout {
841+
fn layout_of(&self, ty: Ty<'tcx>) -> Self::LayoutOfResult {
843842
self.spanned_layout_of(ty, DUMMY_SP)
844843
}
845844

846-
fn spanned_layout_of(&self, ty: Ty<'tcx>, span: Span) -> Self::TyAndLayout {
845+
fn spanned_layout_of(&self, ty: Ty<'tcx>, span: Span) -> Self::LayoutOfResult {
847846
self.tcx.layout_of(ty::ParamEnv::reveal_all().and(ty)).unwrap_or_else(|e| {
848847
if let LayoutError::SizeOverflow(_) = e {
849848
self.sess().span_fatal(span, &e.to_string())

compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ use rustc_hir::def_id::{DefId, LOCAL_CRATE};
2828
use rustc_index::vec::{Idx, IndexVec};
2929
use rustc_middle::ich::NodeIdHashingMode;
3030
use rustc_middle::mir::{self, GeneratorLayout};
31-
use rustc_middle::ty::layout::{self, IntegerExt, PrimitiveExt, TyAndLayout};
31+
use rustc_middle::ty::layout::{self, IntegerExt, LayoutOf, PrimitiveExt, TyAndLayout};
3232
use rustc_middle::ty::subst::GenericArgKind;
3333
use rustc_middle::ty::Instance;
3434
use rustc_middle::ty::{self, AdtKind, GeneratorSubsts, ParamEnv, Ty, TyCtxt};
3535
use rustc_middle::{bug, span_bug};
3636
use rustc_session::config::{self, DebugInfo};
3737
use rustc_span::symbol::{Interner, Symbol};
3838
use rustc_span::{self, SourceFile, SourceFileHash, Span};
39-
use rustc_target::abi::{Abi, Align, HasDataLayout, Integer, LayoutOf, TagEncoding};
39+
use rustc_target::abi::{Abi, Align, HasDataLayout, Integer, TagEncoding};
4040
use rustc_target::abi::{Int, Pointer, F32, F64};
4141
use rustc_target::abi::{Primitive, Size, VariantIdx, Variants};
4242
use tracing::debug;

compiler/rustc_codegen_llvm/src/debuginfo/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ use rustc_data_structures::sync::Lrc;
2525
use rustc_hir::def_id::{DefId, DefIdMap};
2626
use rustc_index::vec::IndexVec;
2727
use rustc_middle::mir;
28-
use rustc_middle::ty::layout::HasTyCtxt;
28+
use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf};
2929
use rustc_middle::ty::subst::{GenericArgKind, SubstsRef};
3030
use rustc_middle::ty::{self, Instance, ParamEnv, Ty, TypeFoldable};
3131
use rustc_session::config::{self, DebugInfo};
3232
use rustc_span::symbol::Symbol;
3333
use rustc_span::{self, BytePos, Pos, SourceFile, SourceFileAndLine, Span};
34-
use rustc_target::abi::{LayoutOf, Primitive, Size};
34+
use rustc_target::abi::{Primitive, Size};
3535

3636
use libc::c_uint;
3737
use smallvec::SmallVec;

compiler/rustc_codegen_llvm/src/intrinsic.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ use rustc_codegen_ssa::mir::operand::OperandRef;
1515
use rustc_codegen_ssa::mir::place::PlaceRef;
1616
use rustc_codegen_ssa::traits::*;
1717
use rustc_hir as hir;
18-
use rustc_middle::ty::layout::{FnAbiExt, HasTyCtxt};
18+
use rustc_middle::ty::layout::{FnAbiExt, HasTyCtxt, LayoutOf};
1919
use rustc_middle::ty::{self, Ty};
2020
use rustc_middle::{bug, span_bug};
2121
use rustc_span::{sym, symbol::kw, Span, Symbol};
22-
use rustc_target::abi::{self, HasDataLayout, LayoutOf, Primitive};
22+
use rustc_target::abi::{self, HasDataLayout, Primitive};
2323
use rustc_target::spec::PanicStrategy;
2424

2525
use std::cmp::Ordering;

compiler/rustc_codegen_llvm/src/mono_item.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ use rustc_codegen_ssa::traits::*;
88
use rustc_hir::def_id::{DefId, LOCAL_CRATE};
99
pub use rustc_middle::mir::mono::MonoItem;
1010
use rustc_middle::mir::mono::{Linkage, Visibility};
11-
use rustc_middle::ty::layout::FnAbiExt;
11+
use rustc_middle::ty::layout::{FnAbiExt, LayoutOf};
1212
use rustc_middle::ty::{self, Instance, TypeFoldable};
1313
use rustc_session::config::CrateType;
14-
use rustc_target::abi::LayoutOf;
1514
use rustc_target::spec::RelocModel;
1615
use tracing::debug;
1716

compiler/rustc_codegen_llvm/src/type_of.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ use crate::context::TypeLowering;
44
use crate::type_::Type;
55
use rustc_codegen_ssa::traits::*;
66
use rustc_middle::bug;
7-
use rustc_middle::ty::layout::{FnAbiExt, TyAndLayout};
7+
use rustc_middle::ty::layout::{FnAbiExt, LayoutOf, TyAndLayout};
88
use rustc_middle::ty::print::with_no_trimmed_paths;
99
use rustc_middle::ty::{self, Ty, TypeFoldable};
1010
use rustc_target::abi::{Abi, AddressSpace, Align, FieldsShape};
1111
use rustc_target::abi::{Int, Pointer, F32, F64};
12-
use rustc_target::abi::{LayoutOf, PointeeInfo, Scalar, Size, TyAbiInterface, Variants};
12+
use rustc_target::abi::{PointeeInfo, Scalar, Size, TyAbiInterface, Variants};
1313
use smallvec::{smallvec, SmallVec};
1414
use tracing::debug;
1515

compiler/rustc_codegen_llvm/src/va_arg.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ use rustc_codegen_ssa::{
77
common::IntPredicate,
88
traits::{BaseTypeMethods, BuilderMethods, ConstMethods, DerivedTypeMethods},
99
};
10-
use rustc_middle::ty::layout::HasTyCtxt;
10+
use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf};
1111
use rustc_middle::ty::Ty;
12-
use rustc_target::abi::{Align, Endian, HasDataLayout, LayoutOf, Size};
12+
use rustc_target::abi::{Align, Endian, HasDataLayout, Size};
1313

1414
fn round_pointer_up_to_alignment(
1515
bx: &mut Builder<'a, 'll, 'tcx>,

compiler/rustc_codegen_ssa/src/base.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrs;
2222
use rustc_middle::middle::cstore::EncodedMetadata;
2323
use rustc_middle::middle::lang_items;
2424
use rustc_middle::mir::mono::{CodegenUnit, CodegenUnitNameBuilder, MonoItem};
25-
use rustc_middle::ty::layout::{HasTyCtxt, TyAndLayout};
25+
use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf, TyAndLayout};
2626
use rustc_middle::ty::query::Providers;
2727
use rustc_middle::ty::{self, Instance, Ty, TyCtxt};
2828
use rustc_session::cgu_reuse_tracker::CguReuse;
2929
use rustc_session::config::{self, EntryFnType};
3030
use rustc_session::Session;
3131
use rustc_span::symbol::sym;
32-
use rustc_target::abi::{Align, LayoutOf, VariantIdx};
32+
use rustc_target::abi::{Align, VariantIdx};
3333

3434
use std::convert::TryFrom;
3535
use std::ops::{Deref, DerefMut};

compiler/rustc_codegen_ssa/src/mir/analyze.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ use rustc_index::vec::IndexVec;
99
use rustc_middle::mir::traversal;
1010
use rustc_middle::mir::visit::{MutatingUseContext, NonMutatingUseContext, PlaceContext, Visitor};
1111
use rustc_middle::mir::{self, Location, TerminatorKind};
12-
use rustc_middle::ty::layout::HasTyCtxt;
13-
use rustc_target::abi::LayoutOf;
12+
use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf};
1413

1514
pub fn non_ssa_locals<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>>(
1615
fx: &FunctionCx<'a, 'tcx, Bx>,

compiler/rustc_codegen_ssa/src/mir/block.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ use rustc_hir::lang_items::LangItem;
1414
use rustc_index::vec::Idx;
1515
use rustc_middle::mir::AssertKind;
1616
use rustc_middle::mir::{self, SwitchTargets};
17-
use rustc_middle::ty::layout::{FnAbiExt, HasTyCtxt};
17+
use rustc_middle::ty::layout::{FnAbiExt, HasTyCtxt, LayoutOf};
1818
use rustc_middle::ty::print::with_no_trimmed_paths;
1919
use rustc_middle::ty::{self, Instance, Ty, TypeFoldable};
2020
use rustc_span::source_map::Span;
2121
use rustc_span::{sym, Symbol};
2222
use rustc_target::abi::call::{ArgAbi, FnAbi, PassMode};
23-
use rustc_target::abi::{self, HasDataLayout, LayoutOf};
23+
use rustc_target::abi::{self, HasDataLayout};
2424
use rustc_target::spec::abi::Abi;
2525

2626
/// Used by `FunctionCx::codegen_terminator` for emitting common patterns

compiler/rustc_codegen_ssa/src/mir/operand.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ use crate::MemFlags;
88

99
use rustc_middle::mir;
1010
use rustc_middle::mir::interpret::{ConstValue, Pointer, Scalar};
11-
use rustc_middle::ty::layout::TyAndLayout;
11+
use rustc_middle::ty::layout::{LayoutOf, TyAndLayout};
1212
use rustc_middle::ty::Ty;
13-
use rustc_target::abi::{Abi, Align, LayoutOf, Size};
13+
use rustc_target::abi::{Abi, Align, Size};
1414

1515
use std::fmt;
1616

compiler/rustc_codegen_ssa/src/mir/place.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ use crate::MemFlags;
88

99
use rustc_middle::mir;
1010
use rustc_middle::mir::tcx::PlaceTy;
11-
use rustc_middle::ty::layout::{HasTyCtxt, TyAndLayout};
11+
use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf, TyAndLayout};
1212
use rustc_middle::ty::{self, Ty};
1313
use rustc_target::abi::{Abi, Align, FieldsShape, Int, TagEncoding};
14-
use rustc_target::abi::{LayoutOf, VariantIdx, Variants};
14+
use rustc_target::abi::{VariantIdx, Variants};
1515

1616
#[derive(Copy, Clone, Debug)]
1717
pub struct PlaceRef<'tcx, V> {

compiler/rustc_codegen_ssa/src/mir/rvalue.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ use rustc_apfloat::{ieee, Float, Round, Status};
1111
use rustc_hir::lang_items::LangItem;
1212
use rustc_middle::mir;
1313
use rustc_middle::ty::cast::{CastTy, IntTy};
14-
use rustc_middle::ty::layout::HasTyCtxt;
14+
use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf};
1515
use rustc_middle::ty::{self, adjustment::PointerCast, Instance, Ty, TyCtxt};
1616
use rustc_span::source_map::{Span, DUMMY_SP};
17-
use rustc_target::abi::{Abi, Int, LayoutOf, Variants};
17+
use rustc_target::abi::{Abi, Int, Variants};
1818

1919
impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
2020
pub fn codegen_rvalue(

compiler/rustc_codegen_ssa/src/mono_item.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ use crate::traits::*;
44
use rustc_hir as hir;
55
use rustc_middle::mir::mono::MonoItem;
66
use rustc_middle::mir::mono::{Linkage, Visibility};
7-
use rustc_middle::ty::layout::HasTyCtxt;
8-
use rustc_target::abi::LayoutOf;
7+
use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf};
98

109
pub trait MonoItemExt<'a, 'tcx> {
1110
fn define<Bx: BuilderMethods<'a, 'tcx>>(&self, cx: &'a Bx::CodegenCx);

compiler/rustc_codegen_ssa/src/traits/backend.rs

+4-10
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ use rustc_data_structures::fx::FxHashMap;
88
use rustc_errors::ErrorReported;
99
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
1010
use rustc_middle::middle::cstore::{EncodedMetadata, MetadataLoaderDyn};
11-
use rustc_middle::ty::layout::{HasTyCtxt, TyAndLayout};
11+
use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf, TyAndLayout};
1212
use rustc_middle::ty::query::Providers;
13-
use rustc_middle::ty::{Ty, TyCtxt};
13+
use rustc_middle::ty::TyCtxt;
1414
use rustc_session::{
1515
config::{self, OutputFilenames, PrintRequest},
1616
Session,
1717
};
1818
use rustc_span::symbol::Symbol;
19-
use rustc_target::abi::LayoutOf;
2019
use rustc_target::spec::Target;
2120

2221
pub use rustc_data_structures::sync::MetadataRef;
@@ -39,17 +38,12 @@ pub trait BackendTypes {
3938
}
4039

4140
pub trait Backend<'tcx>:
42-
Sized
43-
+ BackendTypes
44-
+ HasTyCtxt<'tcx>
45-
+ LayoutOf<'tcx, Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
41+
Sized + BackendTypes + HasTyCtxt<'tcx> + LayoutOf<'tcx, LayoutOfResult = TyAndLayout<'tcx>>
4642
{
4743
}
4844

4945
impl<'tcx, T> Backend<'tcx> for T where
50-
Self: BackendTypes
51-
+ HasTyCtxt<'tcx>
52-
+ LayoutOf<'tcx, Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
46+
Self: BackendTypes + HasTyCtxt<'tcx> + LayoutOf<'tcx, LayoutOfResult = TyAndLayout<'tcx>>
5347
{
5448
}
5549

compiler/rustc_lint/src/builtin.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,17 @@ use rustc_hir::{ForeignItemKind, GenericParamKind, PatKind};
4141
use rustc_hir::{HirId, Node};
4242
use rustc_index::vec::Idx;
4343
use rustc_middle::lint::LintDiagnosticBuilder;
44+
use rustc_middle::ty::layout::{LayoutError, LayoutOf};
4445
use rustc_middle::ty::print::with_no_trimmed_paths;
4546
use rustc_middle::ty::subst::{GenericArgKind, Subst};
4647
use rustc_middle::ty::Instance;
47-
use rustc_middle::ty::{self, layout::LayoutError, Ty, TyCtxt};
48+
use rustc_middle::ty::{self, Ty, TyCtxt};
4849
use rustc_session::lint::{BuiltinLintDiagnostics, FutureIncompatibilityReason};
4950
use rustc_span::edition::Edition;
5051
use rustc_span::source_map::Spanned;
5152
use rustc_span::symbol::{kw, sym, Ident, Symbol};
5253
use rustc_span::{BytePos, InnerSpan, MultiSpan, Span};
53-
use rustc_target::abi::{LayoutOf, VariantIdx};
54+
use rustc_target::abi::VariantIdx;
5455
use rustc_trait_selection::traits::misc::can_type_implement_copy;
5556

5657
use crate::nonstandard_style::{method_context, MethodLateContext};

compiler/rustc_lint/src/context.rs

+4-5
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ use rustc_hir::definitions::{DefPathData, DisambiguatedDefPathData};
3131
use rustc_middle::lint::LintDiagnosticBuilder;
3232
use rustc_middle::middle::privacy::AccessLevels;
3333
use rustc_middle::middle::stability;
34-
use rustc_middle::ty::layout::{LayoutError, TyAndLayout};
34+
use rustc_middle::ty::layout::{LayoutError, LayoutOf, TyAndLayout};
3535
use rustc_middle::ty::print::with_no_trimmed_paths;
3636
use rustc_middle::ty::{self, print::Printer, subst::GenericArg, Ty, TyCtxt};
3737
use rustc_serialize::json::Json;
@@ -41,7 +41,7 @@ use rustc_session::Session;
4141
use rustc_session::SessionLintStore;
4242
use rustc_span::lev_distance::find_best_match_for_name;
4343
use rustc_span::{symbol::Symbol, MultiSpan, Span, DUMMY_SP};
44-
use rustc_target::abi::{self, LayoutOf};
44+
use rustc_target::abi;
4545
use tracing::debug;
4646

4747
use std::cell::Cell;
@@ -1081,10 +1081,9 @@ impl<'tcx> ty::layout::HasParamEnv<'tcx> for LateContext<'tcx> {
10811081
}
10821082

10831083
impl<'tcx> LayoutOf<'tcx> for LateContext<'tcx> {
1084-
type Ty = Ty<'tcx>;
1085-
type TyAndLayout = Result<TyAndLayout<'tcx>, LayoutError<'tcx>>;
1084+
type LayoutOfResult = Result<TyAndLayout<'tcx>, LayoutError<'tcx>>;
10861085

1087-
fn layout_of(&self, ty: Ty<'tcx>) -> Self::TyAndLayout {
1086+
fn layout_of(&self, ty: Ty<'tcx>) -> Self::LayoutOfResult {
10881087
self.tcx.layout_of(self.param_env.and(ty))
10891088
}
10901089
}

0 commit comments

Comments
 (0)