Skip to content

Commit 83d986a

Browse files
committed
rustc_target: add lifetime parameter to LayoutOf.
1 parent dfd6306 commit 83d986a

File tree

24 files changed

+88
-102
lines changed

24 files changed

+88
-102
lines changed

compiler/rustc_codegen_cranelift/src/common.rs

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

259-
impl<'tcx> LayoutOf for FunctionCx<'_, '_, 'tcx> {
259+
impl<'tcx> LayoutOf<'tcx> for FunctionCx<'_, '_, 'tcx> {
260260
type Ty = Ty<'tcx>;
261261
type TyAndLayout = TyAndLayout<'tcx>;
262262

@@ -364,7 +364,7 @@ impl<'tcx> FunctionCx<'_, '_, 'tcx> {
364364

365365
pub(crate) struct RevealAllLayoutCx<'tcx>(pub(crate) TyCtxt<'tcx>);
366366

367-
impl<'tcx> LayoutOf for RevealAllLayoutCx<'tcx> {
367+
impl<'tcx> LayoutOf<'tcx> for RevealAllLayoutCx<'tcx> {
368368
type Ty = Ty<'tcx>;
369369
type TyAndLayout = TyAndLayout<'tcx>;
370370

compiler/rustc_codegen_llvm/src/builder.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ impl HasTargetSpec for Builder<'_, '_, 'tcx> {
8888
}
8989
}
9090

91-
impl abi::LayoutOf for Builder<'_, '_, 'tcx> {
91+
impl abi::LayoutOf<'tcx> for Builder<'_, '_, 'tcx> {
9292
type Ty = Ty<'tcx>;
9393
type TyAndLayout = TyAndLayout<'tcx>;
9494

compiler/rustc_codegen_llvm/src/context.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,7 @@ impl ty::layout::HasTyCtxt<'tcx> for CodegenCx<'ll, 'tcx> {
835835
}
836836
}
837837

838-
impl LayoutOf for CodegenCx<'ll, 'tcx> {
838+
impl LayoutOf<'tcx> for CodegenCx<'ll, 'tcx> {
839839
type Ty = Ty<'tcx>;
840840
type TyAndLayout = TyAndLayout<'tcx>;
841841

compiler/rustc_codegen_ssa/src/traits/backend.rs

+7-2
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,17 @@ pub trait BackendTypes {
3939
}
4040

4141
pub trait Backend<'tcx>:
42-
Sized + BackendTypes + HasTyCtxt<'tcx> + LayoutOf<Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
42+
Sized
43+
+ BackendTypes
44+
+ HasTyCtxt<'tcx>
45+
+ LayoutOf<'tcx, Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
4346
{
4447
}
4548

4649
impl<'tcx, T> Backend<'tcx> for T where
47-
Self: BackendTypes + HasTyCtxt<'tcx> + LayoutOf<Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
50+
Self: BackendTypes
51+
+ HasTyCtxt<'tcx>
52+
+ LayoutOf<'tcx, Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
4853
{
4954
}
5055

compiler/rustc_lint/src/context.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1059,7 +1059,7 @@ impl<'tcx> LateContext<'tcx> {
10591059
}
10601060
}
10611061

1062-
impl<'tcx> LayoutOf for LateContext<'tcx> {
1062+
impl<'tcx> LayoutOf<'tcx> for LateContext<'tcx> {
10631063
type Ty = Ty<'tcx>;
10641064
type TyAndLayout = Result<TyAndLayout<'tcx>, LayoutError<'tcx>>;
10651065

compiler/rustc_middle/src/ty/layout.rs

+9-13
Original file line numberDiff line numberDiff line change
@@ -2054,7 +2054,7 @@ impl<'tcx, T: HasTyCtxt<'tcx>> HasTyCtxt<'tcx> for LayoutCx<'tcx, T> {
20542054

20552055
pub type TyAndLayout<'tcx> = rustc_target::abi::TyAndLayout<'tcx, Ty<'tcx>>;
20562056

2057-
impl<'tcx> LayoutOf for LayoutCx<'tcx, TyCtxt<'tcx>> {
2057+
impl LayoutOf<'tcx> for LayoutCx<'tcx, TyCtxt<'tcx>> {
20582058
type Ty = Ty<'tcx>;
20592059
type TyAndLayout = Result<TyAndLayout<'tcx>, LayoutError<'tcx>>;
20602060

@@ -2066,7 +2066,7 @@ impl<'tcx> LayoutOf for LayoutCx<'tcx, TyCtxt<'tcx>> {
20662066
}
20672067
}
20682068

2069-
impl LayoutOf for LayoutCx<'tcx, ty::query::TyCtxtAt<'tcx>> {
2069+
impl LayoutOf<'tcx> for LayoutCx<'tcx, ty::query::TyCtxtAt<'tcx>> {
20702070
type Ty = Ty<'tcx>;
20712071
type TyAndLayout = Result<TyAndLayout<'tcx>, LayoutError<'tcx>>;
20722072

@@ -2080,9 +2080,7 @@ impl LayoutOf for LayoutCx<'tcx, ty::query::TyCtxtAt<'tcx>> {
20802080

20812081
impl<'tcx, C> TyAndLayoutMethods<'tcx, C> for Ty<'tcx>
20822082
where
2083-
C: LayoutOf<Ty = Ty<'tcx>, TyAndLayout: MaybeResult<TyAndLayout<'tcx>>>
2084-
+ HasTyCtxt<'tcx>
2085-
+ HasParamEnv<'tcx>,
2083+
C: LayoutOf<'tcx, Ty = Ty<'tcx>> + HasTyCtxt<'tcx> + HasParamEnv<'tcx>,
20862084
{
20872085
fn for_variant(
20882086
this: TyAndLayout<'tcx>,
@@ -2135,21 +2133,19 @@ where
21352133
}
21362134

21372135
fn field(this: TyAndLayout<'tcx>, cx: &C, i: usize) -> C::TyAndLayout {
2138-
enum TyMaybeWithLayout<C: LayoutOf> {
2136+
enum TyMaybeWithLayout<'tcx, C: LayoutOf<'tcx>> {
21392137
Ty(C::Ty),
21402138
TyAndLayout(C::TyAndLayout),
21412139
}
21422140

21432141
fn ty_and_layout_kind<
2144-
C: LayoutOf<Ty = Ty<'tcx>, TyAndLayout: MaybeResult<TyAndLayout<'tcx>>>
2145-
+ HasTyCtxt<'tcx>
2146-
+ HasParamEnv<'tcx>,
2142+
C: LayoutOf<'tcx, Ty = Ty<'tcx>> + HasTyCtxt<'tcx> + HasParamEnv<'tcx>,
21472143
>(
21482144
this: TyAndLayout<'tcx>,
21492145
cx: &C,
21502146
i: usize,
21512147
ty: C::Ty,
2152-
) -> TyMaybeWithLayout<C> {
2148+
) -> TyMaybeWithLayout<'tcx, C> {
21532149
let tcx = cx.tcx();
21542150
let tag_layout = |tag: &Scalar| -> C::TyAndLayout {
21552151
let layout = Layout::scalar(cx, tag.clone());
@@ -2538,7 +2534,7 @@ impl<'tcx> ty::Instance<'tcx> {
25382534

25392535
pub trait FnAbiExt<'tcx, C>
25402536
where
2541-
C: LayoutOf<Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
2537+
C: LayoutOf<'tcx, Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
25422538
+ HasDataLayout
25432539
+ HasTargetSpec
25442540
+ HasTyCtxt<'tcx>
@@ -2725,7 +2721,7 @@ pub fn conv_from_spec_abi(tcx: TyCtxt<'_>, abi: SpecAbi) -> Conv {
27252721

27262722
impl<'tcx, C> FnAbiExt<'tcx, C> for call::FnAbi<'tcx, Ty<'tcx>>
27272723
where
2728-
C: LayoutOf<Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
2724+
C: LayoutOf<'tcx, Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
27292725
+ HasDataLayout
27302726
+ HasTargetSpec
27312727
+ HasTyCtxt<'tcx>
@@ -3006,7 +3002,7 @@ where
30063002

30073003
fn make_thin_self_ptr<'tcx, C>(cx: &C, mut layout: TyAndLayout<'tcx>) -> TyAndLayout<'tcx>
30083004
where
3009-
C: LayoutOf<Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
3005+
C: LayoutOf<'tcx, Ty = Ty<'tcx>, TyAndLayout = TyAndLayout<'tcx>>
30103006
+ HasTyCtxt<'tcx>
30113007
+ HasParamEnv<'tcx>,
30123008
{

compiler/rustc_mir/src/interpret/eval_context.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ where
312312
}
313313
}
314314

315-
impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> LayoutOf for InterpCx<'mir, 'tcx, M> {
315+
impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> LayoutOf<'tcx> for InterpCx<'mir, 'tcx, M> {
316316
type Ty = Ty<'tcx>;
317317
type TyAndLayout = InterpResult<'tcx, TyAndLayout<'tcx>>;
318318

compiler/rustc_mir/src/transform/const_prop.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ struct ConstPropagator<'mir, 'tcx> {
330330
source_info: Option<SourceInfo>,
331331
}
332332

333-
impl<'mir, 'tcx> LayoutOf for ConstPropagator<'mir, 'tcx> {
333+
impl<'mir, 'tcx> LayoutOf<'tcx> for ConstPropagator<'mir, 'tcx> {
334334
type Ty = Ty<'tcx>;
335335
type TyAndLayout = Result<TyAndLayout<'tcx>, LayoutError<'tcx>>;
336336

compiler/rustc_passes/src/layout_test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ struct UnwrapLayoutCx<'tcx> {
113113
param_env: ParamEnv<'tcx>,
114114
}
115115

116-
impl LayoutOf for UnwrapLayoutCx<'tcx> {
116+
impl LayoutOf<'tcx> for UnwrapLayoutCx<'tcx> {
117117
type Ty = Ty<'tcx>;
118118
type TyAndLayout = TyAndLayout<'tcx>;
119119

compiler/rustc_target/src/abi/call/aarch64.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use crate::abi::{HasDataLayout, LayoutOf, TyAndLayout, TyAndLayoutMethods};
44
fn is_homogeneous_aggregate<'a, Ty, C>(cx: &C, arg: &mut ArgAbi<'a, Ty>) -> Option<Uniform>
55
where
66
Ty: TyAndLayoutMethods<'a, C> + Copy,
7-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
7+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
88
{
99
arg.layout.homogeneous_aggregate(cx).ok().and_then(|ha| ha.unit()).and_then(|unit| {
1010
let size = arg.layout.size;
@@ -27,7 +27,7 @@ where
2727
fn classify_ret<'a, Ty, C>(cx: &C, ret: &mut ArgAbi<'a, Ty>)
2828
where
2929
Ty: TyAndLayoutMethods<'a, C> + Copy,
30-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
30+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
3131
{
3232
if !ret.layout.is_aggregate() {
3333
ret.extend_integer_width_to(32);
@@ -49,7 +49,7 @@ where
4949
fn classify_arg<'a, Ty, C>(cx: &C, arg: &mut ArgAbi<'a, Ty>)
5050
where
5151
Ty: TyAndLayoutMethods<'a, C> + Copy,
52-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
52+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
5353
{
5454
if !arg.layout.is_aggregate() {
5555
arg.extend_integer_width_to(32);
@@ -71,7 +71,7 @@ where
7171
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fn_abi: &mut FnAbi<'a, Ty>)
7272
where
7373
Ty: TyAndLayoutMethods<'a, C> + Copy,
74-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
74+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
7575
{
7676
if !fn_abi.ret.is_ignore() {
7777
classify_ret(cx, &mut fn_abi.ret);

compiler/rustc_target/src/abi/call/amdgpu.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,23 @@ use crate::abi::{HasDataLayout, LayoutOf, TyAndLayout, TyAndLayoutMethods};
44
fn classify_ret<'a, Ty, C>(_cx: &C, ret: &mut ArgAbi<'a, Ty>)
55
where
66
Ty: TyAndLayoutMethods<'a, C> + Copy,
7-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
7+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
88
{
99
ret.extend_integer_width_to(32);
1010
}
1111

1212
fn classify_arg<'a, Ty, C>(_cx: &C, arg: &mut ArgAbi<'a, Ty>)
1313
where
1414
Ty: TyAndLayoutMethods<'a, C> + Copy,
15-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
15+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
1616
{
1717
arg.extend_integer_width_to(32);
1818
}
1919

2020
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fn_abi: &mut FnAbi<'a, Ty>)
2121
where
2222
Ty: TyAndLayoutMethods<'a, C> + Copy,
23-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
23+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
2424
{
2525
if !fn_abi.ret.is_ignore() {
2626
classify_ret(cx, &mut fn_abi.ret);

compiler/rustc_target/src/abi/call/arm.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use crate::spec::HasTargetSpec;
55
fn is_homogeneous_aggregate<'a, Ty, C>(cx: &C, arg: &mut ArgAbi<'a, Ty>) -> Option<Uniform>
66
where
77
Ty: TyAndLayoutMethods<'a, C> + Copy,
8-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
8+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
99
{
1010
arg.layout.homogeneous_aggregate(cx).ok().and_then(|ha| ha.unit()).and_then(|unit| {
1111
let size = arg.layout.size;
@@ -28,7 +28,7 @@ where
2828
fn classify_ret<'a, Ty, C>(cx: &C, ret: &mut ArgAbi<'a, Ty>, vfp: bool)
2929
where
3030
Ty: TyAndLayoutMethods<'a, C> + Copy,
31-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
31+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
3232
{
3333
if !ret.layout.is_aggregate() {
3434
ret.extend_integer_width_to(32);
@@ -54,7 +54,7 @@ where
5454
fn classify_arg<'a, Ty, C>(cx: &C, arg: &mut ArgAbi<'a, Ty>, vfp: bool)
5555
where
5656
Ty: TyAndLayoutMethods<'a, C> + Copy,
57-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
57+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
5858
{
5959
if !arg.layout.is_aggregate() {
6060
arg.extend_integer_width_to(32);
@@ -76,7 +76,7 @@ where
7676
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fn_abi: &mut FnAbi<'a, Ty>)
7777
where
7878
Ty: TyAndLayoutMethods<'a, C> + Copy,
79-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout + HasTargetSpec,
79+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout + HasTargetSpec,
8080
{
8181
// If this is a target with a hard-float ABI, and the function is not explicitly
8282
// `extern "aapcs"`, then we must use the VFP registers for homogeneous aggregates.

compiler/rustc_target/src/abi/call/mips.rs

+7-10
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
use crate::abi::call::{ArgAbi, FnAbi, Reg, Uniform};
2-
use crate::abi::{HasDataLayout, LayoutOf, Size, TyAndLayoutMethods};
2+
use crate::abi::{HasDataLayout, Size};
33

4-
fn classify_ret<'a, Ty, C>(cx: &C, ret: &mut ArgAbi<'_, Ty>, offset: &mut Size)
4+
fn classify_ret<Ty, C>(cx: &C, ret: &mut ArgAbi<'_, Ty>, offset: &mut Size)
55
where
6-
Ty: TyAndLayoutMethods<'a, C>,
7-
C: LayoutOf<Ty = Ty> + HasDataLayout,
6+
C: HasDataLayout,
87
{
98
if !ret.layout.is_aggregate() {
109
ret.extend_integer_width_to(32);
@@ -14,10 +13,9 @@ where
1413
}
1514
}
1615

17-
fn classify_arg<'a, Ty, C>(cx: &C, arg: &mut ArgAbi<'_, Ty>, offset: &mut Size)
16+
fn classify_arg<Ty, C>(cx: &C, arg: &mut ArgAbi<'_, Ty>, offset: &mut Size)
1817
where
19-
Ty: TyAndLayoutMethods<'a, C>,
20-
C: LayoutOf<Ty = Ty> + HasDataLayout,
18+
C: HasDataLayout,
2119
{
2220
let dl = cx.data_layout();
2321
let size = arg.layout.size;
@@ -35,10 +33,9 @@ where
3533
*offset = offset.align_to(align) + size.align_to(align);
3634
}
3735

38-
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fn_abi: &mut FnAbi<'_, Ty>)
36+
pub fn compute_abi_info<Ty, C>(cx: &C, fn_abi: &mut FnAbi<'_, Ty>)
3937
where
40-
Ty: TyAndLayoutMethods<'a, C>,
41-
C: LayoutOf<Ty = Ty> + HasDataLayout,
38+
C: HasDataLayout,
4239
{
4340
let mut offset = Size::ZERO;
4441
if !fn_abi.ret.is_ignore() {

compiler/rustc_target/src/abi/call/mips64.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ fn extend_integer_width_mips<Ty>(arg: &mut ArgAbi<'_, Ty>, bits: u64) {
2020
fn float_reg<'a, Ty, C>(cx: &C, ret: &ArgAbi<'a, Ty>, i: usize) -> Option<Reg>
2121
where
2222
Ty: TyAndLayoutMethods<'a, C> + Copy,
23-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
23+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
2424
{
2525
match ret.layout.field(cx, i).abi {
2626
abi::Abi::Scalar(ref scalar) => match scalar.value {
@@ -35,7 +35,7 @@ where
3535
fn classify_ret<'a, Ty, C>(cx: &C, ret: &mut ArgAbi<'a, Ty>)
3636
where
3737
Ty: TyAndLayoutMethods<'a, C> + Copy,
38-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
38+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
3939
{
4040
if !ret.layout.is_aggregate() {
4141
extend_integer_width_mips(ret, 64);
@@ -75,7 +75,7 @@ where
7575
fn classify_arg<'a, Ty, C>(cx: &C, arg: &mut ArgAbi<'a, Ty>)
7676
where
7777
Ty: TyAndLayoutMethods<'a, C> + Copy,
78-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
78+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
7979
{
8080
if !arg.layout.is_aggregate() {
8181
extend_integer_width_mips(arg, 64);
@@ -145,7 +145,7 @@ where
145145
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fn_abi: &mut FnAbi<'a, Ty>)
146146
where
147147
Ty: TyAndLayoutMethods<'a, C> + Copy,
148-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
148+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout,
149149
{
150150
if !fn_abi.ret.is_ignore() {
151151
classify_ret(cx, &mut fn_abi.ret);

compiler/rustc_target/src/abi/call/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ impl<'a, Ty> TyAndLayout<'a, Ty> {
317317
pub fn homogeneous_aggregate<C>(&self, cx: &C) -> Result<HomogeneousAggregate, Heterogeneous>
318318
where
319319
Ty: TyAndLayoutMethods<'a, C> + Copy,
320-
C: LayoutOf<Ty = Ty, TyAndLayout = Self>,
320+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = Self>,
321321
{
322322
match self.abi {
323323
Abi::Uninhabited => Err(Heterogeneous),
@@ -604,7 +604,7 @@ impl<'a, Ty> FnAbi<'a, Ty> {
604604
pub fn adjust_for_cabi<C>(&mut self, cx: &C, abi: spec::abi::Abi) -> Result<(), String>
605605
where
606606
Ty: TyAndLayoutMethods<'a, C> + Copy,
607-
C: LayoutOf<Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout + HasTargetSpec,
607+
C: LayoutOf<'a, Ty = Ty, TyAndLayout = TyAndLayout<'a, Ty>> + HasDataLayout + HasTargetSpec,
608608
{
609609
if abi == spec::abi::Abi::X86Interrupt {
610610
if let Some(arg) = self.args.first_mut() {

0 commit comments

Comments
 (0)