Skip to content

Commit a7241c8

Browse files
committed
librustc_target => 2018
1 parent 1efdda1 commit a7241c8

File tree

154 files changed

+221
-220
lines changed

Some content is hidden

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

154 files changed

+221
-220
lines changed

src/librustc_target/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
authors = ["The Rust Project Developers"]
33
name = "rustc_target"
44
version = "0.0.0"
5+
edition = "2018"
56

67
[lib]
78
name = "rustc_target"

src/librustc_target/abi/call/aarch64.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use abi::call::{FnType, ArgType, Reg, RegKind, Uniform};
2-
use abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
1+
use crate::abi::call::{FnType, ArgType, Reg, RegKind, Uniform};
2+
use crate::abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
33

44
fn is_homogeneous_aggregate<'a, Ty, C>(cx: &C, arg: &mut ArgType<'a, Ty>)
55
-> Option<Uniform>

src/librustc_target/abi/call/amdgpu.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use abi::call::{ArgType, FnType, };
2-
use abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
1+
use crate::abi::call::{ArgType, FnType, };
2+
use crate::abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
33

44
fn classify_ret_ty<'a, Ty, C>(_cx: &C, ret: &mut ArgType<'a, Ty>)
55
where Ty: TyLayoutMethods<'a, C> + Copy,

src/librustc_target/abi/call/arm.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use abi::call::{Conv, FnType, ArgType, Reg, RegKind, Uniform};
2-
use abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
3-
use spec::HasTargetSpec;
1+
use crate::abi::call::{Conv, FnType, ArgType, Reg, RegKind, Uniform};
2+
use crate::abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
3+
use crate::spec::HasTargetSpec;
44

55
fn is_homogeneous_aggregate<'a, Ty, C>(cx: &C, arg: &mut ArgType<'a, Ty>)
66
-> Option<Uniform>

src/librustc_target/abi/call/asmjs.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use abi::call::{FnType, ArgType, Uniform};
2-
use abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
1+
use crate::abi::call::{FnType, ArgType, Uniform};
2+
use crate::abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
33

44
// Data layout: e-p:32:32-i64:64-v128:32:128-n32-S128
55

@@ -26,7 +26,7 @@ fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<'a, Ty>)
2626
}
2727
}
2828

29-
fn classify_arg_ty<Ty>(arg: &mut ArgType<Ty>) {
29+
fn classify_arg_ty<Ty>(arg: &mut ArgType<'_, Ty>) {
3030
if arg.layout.is_aggregate() {
3131
arg.make_indirect_byval();
3232
}

src/librustc_target/abi/call/hexagon.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
#![allow(non_upper_case_globals)]
22

3-
use abi::call::{FnType, ArgType};
3+
use crate::abi::call::{FnType, ArgType};
44

5-
fn classify_ret_ty<Ty>(ret: &mut ArgType<Ty>) {
5+
fn classify_ret_ty<Ty>(ret: &mut ArgType<'_, Ty>) {
66
if ret.layout.is_aggregate() && ret.layout.size.bits() > 64 {
77
ret.make_indirect();
88
} else {
99
ret.extend_integer_width_to(32);
1010
}
1111
}
1212

13-
fn classify_arg_ty<Ty>(arg: &mut ArgType<Ty>) {
13+
fn classify_arg_ty<Ty>(arg: &mut ArgType<'_, Ty>) {
1414
if arg.layout.is_aggregate() && arg.layout.size.bits() > 64 {
1515
arg.make_indirect();
1616
} else {
1717
arg.extend_integer_width_to(32);
1818
}
1919
}
2020

21-
pub fn compute_abi_info<Ty>(fty: &mut FnType<Ty>) {
21+
pub fn compute_abi_info<Ty>(fty: &mut FnType<'_,Ty>) {
2222
if !fty.ret.is_ignore() {
2323
classify_ret_ty(&mut fty.ret);
2424
}

src/librustc_target/abi/call/mips.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use abi::call::{ArgType, FnType, Reg, Uniform};
2-
use abi::{HasDataLayout, LayoutOf, Size, TyLayoutMethods};
1+
use crate::abi::call::{ArgType, FnType, Reg, Uniform};
2+
use crate::abi::{HasDataLayout, LayoutOf, Size, TyLayoutMethods};
33

4-
fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<Ty>, offset: &mut Size)
4+
fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<'_, Ty>, offset: &mut Size)
55
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
66
{
77
if !ret.layout.is_aggregate() {
@@ -12,7 +12,7 @@ fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<Ty>, offset: &mut Size)
1212
}
1313
}
1414

15-
fn classify_arg_ty<'a, Ty, C>(cx: &C, arg: &mut ArgType<Ty>, offset: &mut Size)
15+
fn classify_arg_ty<'a, Ty, C>(cx: &C, arg: &mut ArgType<'_, Ty>, offset: &mut Size)
1616
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
1717
{
1818
let dl = cx.data_layout();
@@ -34,7 +34,7 @@ fn classify_arg_ty<'a, Ty, C>(cx: &C, arg: &mut ArgType<Ty>, offset: &mut Size)
3434
*offset = offset.align_to(align) + size.align_to(align);
3535
}
3636

37-
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fty: &mut FnType<Ty>)
37+
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fty: &mut FnType<'_, Ty>)
3838
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
3939
{
4040
let mut offset = Size::ZERO;

src/librustc_target/abi/call/mips64.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use abi::call::{ArgAttribute, ArgType, CastTarget, FnType, PassMode, Reg, RegKind, Uniform};
2-
use abi::{self, HasDataLayout, LayoutOf, Size, TyLayout, TyLayoutMethods};
1+
use crate::abi::call::{ArgAttribute, ArgType, CastTarget, FnType, PassMode, Reg, RegKind, Uniform};
2+
use crate::abi::{self, HasDataLayout, LayoutOf, Size, TyLayout, TyLayoutMethods};
33

4-
fn extend_integer_width_mips<Ty>(arg: &mut ArgType<Ty>, bits: u64) {
4+
fn extend_integer_width_mips<Ty>(arg: &mut ArgType<'_, Ty>, bits: u64) {
55
// Always sign extend u32 values on 64-bit mips
66
if let abi::Abi::Scalar(ref scalar) = arg.layout.abi {
77
if let abi::Int(i, signed) = scalar.value {

src/librustc_target/abi/call/mod.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use abi::{self, Abi, Align, FieldPlacement, Size};
2-
use abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
3-
use spec::HasTargetSpec;
1+
use crate::abi::{self, Abi, Align, FieldPlacement, Size};
2+
use crate::abi::{HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
3+
use crate::spec::{self, HasTargetSpec};
44

55
mod aarch64;
66
mod amdgpu;
@@ -42,13 +42,13 @@ pub enum PassMode {
4242

4343
// Hack to disable non_upper_case_globals only for the bitflags! and not for the rest
4444
// of this module
45-
pub use self::attr_impl::ArgAttribute;
45+
pub use attr_impl::ArgAttribute;
4646

4747
#[allow(non_upper_case_globals)]
4848
#[allow(unused)]
4949
mod attr_impl {
5050
// The subset of llvm::Attribute needed for arguments, packed into a bitfield.
51-
bitflags! {
51+
bitflags::bitflags! {
5252
#[derive(Default)]
5353
pub struct ArgAttribute: u16 {
5454
const ByVal = 1 << 0;
@@ -526,22 +526,22 @@ pub struct FnType<'a, Ty> {
526526
}
527527

528528
impl<'a, Ty> FnType<'a, Ty> {
529-
pub fn adjust_for_cabi<C>(&mut self, cx: &C, abi: ::spec::abi::Abi) -> Result<(), String>
529+
pub fn adjust_for_cabi<C>(&mut self, cx: &C, abi: spec::abi::Abi) -> Result<(), String>
530530
where Ty: TyLayoutMethods<'a, C> + Copy,
531531
C: LayoutOf<Ty = Ty, TyLayout = TyLayout<'a, Ty>> + HasDataLayout + HasTargetSpec
532532
{
533533
match &cx.target_spec().arch[..] {
534534
"x86" => {
535-
let flavor = if abi == ::spec::abi::Abi::Fastcall {
535+
let flavor = if abi == spec::abi::Abi::Fastcall {
536536
x86::Flavor::Fastcall
537537
} else {
538538
x86::Flavor::General
539539
};
540540
x86::compute_abi_info(cx, self, flavor);
541541
},
542-
"x86_64" => if abi == ::spec::abi::Abi::SysV64 {
542+
"x86_64" => if abi == spec::abi::Abi::SysV64 {
543543
x86_64::compute_abi_info(cx, self);
544-
} else if abi == ::spec::abi::Abi::Win64 || cx.target_spec().options.is_like_windows {
544+
} else if abi == spec::abi::Abi::Win64 || cx.target_spec().options.is_like_windows {
545545
x86_win64::compute_abi_info(self);
546546
} else {
547547
x86_64::compute_abi_info(cx, self);

src/librustc_target/abi/call/msp430.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
// Reference: MSP430 Embedded Application Binary Interface
22
// http://www.ti.com/lit/an/slaa534/slaa534.pdf
33

4-
use abi::call::{ArgType, FnType};
4+
use crate::abi::call::{ArgType, FnType};
55

66
// 3.5 Structures or Unions Passed and Returned by Reference
77
//
88
// "Structures (including classes) and unions larger than 32 bits are passed and
99
// returned by reference. To pass a structure or union by reference, the caller
1010
// places its address in the appropriate location: either in a register or on
1111
// the stack, according to its position in the argument list. (..)"
12-
fn classify_ret_ty<Ty>(ret: &mut ArgType<Ty>) {
12+
fn classify_ret_ty<Ty>(ret: &mut ArgType<'_, Ty>) {
1313
if ret.layout.is_aggregate() && ret.layout.size.bits() > 32 {
1414
ret.make_indirect();
1515
} else {
1616
ret.extend_integer_width_to(16);
1717
}
1818
}
1919

20-
fn classify_arg_ty<Ty>(arg: &mut ArgType<Ty>) {
20+
fn classify_arg_ty<Ty>(arg: &mut ArgType<'_, Ty>) {
2121
if arg.layout.is_aggregate() && arg.layout.size.bits() > 32 {
2222
arg.make_indirect();
2323
} else {
2424
arg.extend_integer_width_to(16);
2525
}
2626
}
2727

28-
pub fn compute_abi_info<Ty>(fty: &mut FnType<Ty>) {
28+
pub fn compute_abi_info<Ty>(fty: &mut FnType<'_, Ty>) {
2929
if !fty.ret.is_ignore() {
3030
classify_ret_ty(&mut fty.ret);
3131
}

src/librustc_target/abi/call/nvptx.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
// Reference: PTX Writer's Guide to Interoperability
22
// http://docs.nvidia.com/cuda/ptx-writers-guide-to-interoperability
33

4-
use abi::call::{ArgType, FnType};
4+
use crate::abi::call::{ArgType, FnType};
55

6-
fn classify_ret_ty<Ty>(ret: &mut ArgType<Ty>) {
6+
fn classify_ret_ty<Ty>(ret: &mut ArgType<'_, Ty>) {
77
if ret.layout.is_aggregate() && ret.layout.size.bits() > 32 {
88
ret.make_indirect();
99
} else {
1010
ret.extend_integer_width_to(32);
1111
}
1212
}
1313

14-
fn classify_arg_ty<Ty>(arg: &mut ArgType<Ty>) {
14+
fn classify_arg_ty<Ty>(arg: &mut ArgType<'_, Ty>) {
1515
if arg.layout.is_aggregate() && arg.layout.size.bits() > 32 {
1616
arg.make_indirect();
1717
} else {
1818
arg.extend_integer_width_to(32);
1919
}
2020
}
2121

22-
pub fn compute_abi_info<Ty>(fty: &mut FnType<Ty>) {
22+
pub fn compute_abi_info<Ty>(fty: &mut FnType<'_, Ty>) {
2323
if !fty.ret.is_ignore() {
2424
classify_ret_ty(&mut fty.ret);
2525
}

src/librustc_target/abi/call/nvptx64.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
// Reference: PTX Writer's Guide to Interoperability
22
// http://docs.nvidia.com/cuda/ptx-writers-guide-to-interoperability
33

4-
use abi::call::{ArgType, FnType};
4+
use crate::abi::call::{ArgType, FnType};
55

6-
fn classify_ret_ty<Ty>(ret: &mut ArgType<Ty>) {
6+
fn classify_ret_ty<Ty>(ret: &mut ArgType<'_, Ty>) {
77
if ret.layout.is_aggregate() && ret.layout.size.bits() > 64 {
88
ret.make_indirect();
99
} else {
1010
ret.extend_integer_width_to(64);
1111
}
1212
}
1313

14-
fn classify_arg_ty<Ty>(arg: &mut ArgType<Ty>) {
14+
fn classify_arg_ty<Ty>(arg: &mut ArgType<'_, Ty>) {
1515
if arg.layout.is_aggregate() && arg.layout.size.bits() > 64 {
1616
arg.make_indirect();
1717
} else {
1818
arg.extend_integer_width_to(64);
1919
}
2020
}
2121

22-
pub fn compute_abi_info<Ty>(fty: &mut FnType<Ty>) {
22+
pub fn compute_abi_info<Ty>(fty: &mut FnType<'_, Ty>) {
2323
if !fty.ret.is_ignore() {
2424
classify_ret_ty(&mut fty.ret);
2525
}

src/librustc_target/abi/call/powerpc.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use abi::call::{ArgType, FnType, Reg, Uniform};
2-
use abi::{HasDataLayout, LayoutOf, Size, TyLayoutMethods};
1+
use crate::abi::call::{ArgType, FnType, Reg, Uniform};
2+
use crate::abi::{HasDataLayout, LayoutOf, Size, TyLayoutMethods};
33

4-
fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<Ty>, offset: &mut Size)
4+
fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<'_, Ty>, offset: &mut Size)
55
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
66
{
77
if !ret.layout.is_aggregate() {
@@ -12,7 +12,7 @@ fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<Ty>, offset: &mut Size)
1212
}
1313
}
1414

15-
fn classify_arg_ty<'a, Ty, C>(cx: &C, arg: &mut ArgType<Ty>, offset: &mut Size)
15+
fn classify_arg_ty<'a, Ty, C>(cx: &C, arg: &mut ArgType<'_, Ty>, offset: &mut Size)
1616
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
1717
{
1818
let dl = cx.data_layout();
@@ -34,7 +34,7 @@ fn classify_arg_ty<'a, Ty, C>(cx: &C, arg: &mut ArgType<Ty>, offset: &mut Size)
3434
*offset = offset.align_to(align) + size.align_to(align);
3535
}
3636

37-
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fty: &mut FnType<Ty>)
37+
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fty: &mut FnType<'_, Ty>)
3838
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
3939
{
4040
let mut offset = Size::ZERO;

src/librustc_target/abi/call/powerpc64.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
// Alignment of 128 bit types is not currently handled, this will
33
// need to be fixed when PowerPC vector support is added.
44

5-
use abi::call::{FnType, ArgType, Reg, RegKind, Uniform};
6-
use abi::{Endian, HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
7-
use spec::HasTargetSpec;
5+
use crate::abi::call::{FnType, ArgType, Reg, RegKind, Uniform};
6+
use crate::abi::{Endian, HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
7+
use crate::spec::HasTargetSpec;
88

99
#[derive(Debug, Clone, Copy, PartialEq)]
1010
enum ABI {
1111
ELFv1, // original ABI used for powerpc64 (big-endian)
1212
ELFv2, // newer ABI used for powerpc64le and musl (both endians)
1313
}
14-
use self::ABI::*;
14+
use ABI::*;
1515

1616
fn is_homogeneous_aggregate<'a, Ty, C>(cx: &C, arg: &mut ArgType<'a, Ty>, abi: ABI)
1717
-> Option<Uniform>

src/librustc_target/abi/call/riscv.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// Reference: RISC-V ELF psABI specification
22
// https://github.com/riscv/riscv-elf-psabi-doc
33

4-
use abi::call::{ArgType, FnType};
4+
use crate::abi::call::{ArgType, FnType};
55

6-
fn classify_ret_ty<Ty>(arg: &mut ArgType<Ty>, xlen: u64) {
6+
fn classify_ret_ty<Ty>(arg: &mut ArgType<'_, Ty>, xlen: u64) {
77
// "Scalars wider than 2✕XLEN are passed by reference and are replaced in
88
// the argument list with the address."
99
// "Aggregates larger than 2✕XLEN bits are passed by reference and are
@@ -19,7 +19,7 @@ fn classify_ret_ty<Ty>(arg: &mut ArgType<Ty>, xlen: u64) {
1919
arg.extend_integer_width_to(xlen); // this method only affects integer scalars
2020
}
2121

22-
fn classify_arg_ty<Ty>(arg: &mut ArgType<Ty>, xlen: u64) {
22+
fn classify_arg_ty<Ty>(arg: &mut ArgType<'_, Ty>, xlen: u64) {
2323
// "Scalars wider than 2✕XLEN are passed by reference and are replaced in
2424
// the argument list with the address."
2525
// "Aggregates larger than 2✕XLEN bits are passed by reference and are
@@ -35,7 +35,7 @@ fn classify_arg_ty<Ty>(arg: &mut ArgType<Ty>, xlen: u64) {
3535
arg.extend_integer_width_to(xlen); // this method only affects integer scalars
3636
}
3737

38-
pub fn compute_abi_info<Ty>(fty: &mut FnType<Ty>, xlen: u64) {
38+
pub fn compute_abi_info<Ty>(fty: &mut FnType<'_, Ty>, xlen: u64) {
3939
if !fty.ret.is_ignore() {
4040
classify_ret_ty(&mut fty.ret, xlen);
4141
}

src/librustc_target/abi/call/s390x.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// FIXME: The assumes we're using the non-vector ABI, i.e., compiling
22
// for a pre-z13 machine or using -mno-vx.
33

4-
use abi::call::{FnType, ArgType, Reg};
5-
use abi::{self, HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
4+
use crate::abi::call::{FnType, ArgType, Reg};
5+
use crate::abi::{self, HasDataLayout, LayoutOf, TyLayout, TyLayoutMethods};
66

7-
fn classify_ret_ty<'a, Ty, C>(ret: &mut ArgType<Ty>)
7+
fn classify_ret_ty<'a, Ty, C>(ret: &mut ArgType<'_, Ty>)
88
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
99
{
1010
if !ret.layout.is_aggregate() && ret.layout.size.bits() <= 64 {

src/librustc_target/abi/call/sparc.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
use abi::call::{ArgType, FnType, Reg, Uniform};
2-
use abi::{HasDataLayout, LayoutOf, Size, TyLayoutMethods};
1+
use crate::abi::call::{ArgType, FnType, Reg, Uniform};
2+
use crate::abi::{HasDataLayout, LayoutOf, Size, TyLayoutMethods};
33

4-
fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<Ty>, offset: &mut Size)
4+
fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<'_, Ty>, offset: &mut Size)
55
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
66
{
77
if !ret.layout.is_aggregate() {
@@ -12,7 +12,7 @@ fn classify_ret_ty<'a, Ty, C>(cx: &C, ret: &mut ArgType<Ty>, offset: &mut Size)
1212
}
1313
}
1414

15-
fn classify_arg_ty<'a, Ty, C>(cx: &C, arg: &mut ArgType<Ty>, offset: &mut Size)
15+
fn classify_arg_ty<'a, Ty, C>(cx: &C, arg: &mut ArgType<'_, Ty>, offset: &mut Size)
1616
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
1717
{
1818
let dl = cx.data_layout();
@@ -34,7 +34,7 @@ fn classify_arg_ty<'a, Ty, C>(cx: &C, arg: &mut ArgType<Ty>, offset: &mut Size)
3434
*offset = offset.align_to(align) + size.align_to(align);
3535
}
3636

37-
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fty: &mut FnType<Ty>)
37+
pub fn compute_abi_info<'a, Ty, C>(cx: &C, fty: &mut FnType<'_, Ty>)
3838
where Ty: TyLayoutMethods<'a, C>, C: LayoutOf<Ty = Ty> + HasDataLayout
3939
{
4040
let mut offset = Size::ZERO;

0 commit comments

Comments
 (0)