Map `int` to `core::ffi::c_int` (also for most other builtin C++ types).
This CL provides mappings for most types under `core::ffi`, except for:
* Types like `core::ffi::ptrdiff_t`, because they depend on an
experimental feature: https://github.com/rust-lang/rust/issues/88345
* `core::ffi::c_char` because of b/276931370 and because continuing
translating `char` to `u8` reduces the amount of cascading changes in
this CL (e.g. changes to `crubit/support/cc_std/string_view.rs`).
Note that some other `clang/AST/BuiltinTypes.def` types like `char16_t`
don't have an equivelent under `core::ffi`. This CL doesn't change how
such types are handled (some of them are already covered by
`rs_bindings_from_cc/type_map.cc`).
PiperOrigin-RevId: 533279988
diff --git a/rs_bindings_from_cc/test/golden/bitfields_rs_api.rs b/rs_bindings_from_cc/test/golden/bitfields_rs_api.rs
index f6b140a..60e3429 100644
--- a/rs_bindings_from_cc/test/golden/bitfields_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/bitfields_rs_api.rs
@@ -30,12 +30,12 @@
pub struct WithBitfields {
// f1 : 2 bits
__bitfields0: [::core::mem::MaybeUninit<u8>; 1],
- pub f2: i32,
+ pub f2: ::core::ffi::c_int,
// f3 : 4 bits
// f4 : 8 bits
// : 45 bits
__bitfields2: [::core::mem::MaybeUninit<u8>; 10],
- pub f5: i32,
+ pub f5: ::core::ffi::c_int,
// f6 : 23 bits
__bitfields4: [::core::mem::MaybeUninit<u8>; 3],
/// Reason for representing this field as a blob of bytes:
diff --git a/rs_bindings_from_cc/test/golden/clang_attrs_rs_api.rs b/rs_bindings_from_cc/test/golden/clang_attrs_rs_api.rs
index 0ca420e..331e7f4 100644
--- a/rs_bindings_from_cc/test/golden/clang_attrs_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/clang_attrs_rs_api.rs
@@ -567,7 +567,7 @@
impl __CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE {
#[inline(always)]
- pub fn foo<'a>(self: ::core::pin::Pin<&'a mut Self>) -> i32 {
+ pub fn foo<'a>(self: ::core::pin::Pin<&'a mut Self>) -> ::core::ffi::c_int {
unsafe {
crate::detail::__rust_thunk___ZN28template_with_preferred_name12SomeTemplateIiE3fooEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3aclang_5fattrs_5fcc(self)
}
@@ -713,7 +713,7 @@
__this: ::core::pin::Pin<
&'a mut crate::__CcTemplateInstN28template_with_preferred_name12SomeTemplateIiEE,
>,
- ) -> i32;
+ ) -> ::core::ffi::c_int;
}
}
diff --git a/rs_bindings_from_cc/test/golden/comment_rs_api.rs b/rs_bindings_from_cc/test/golden/comment_rs_api.rs
index 7b8cf81..1524fc6 100644
--- a/rs_bindings_from_cc/test/golden/comment_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/comment_rs_api.rs
@@ -31,9 +31,9 @@
#[repr(C)]
pub struct Foo {
/// A field
- pub i: i32,
+ pub i: ::core::ffi::c_int,
/// Another field
- pub j: i32,
+ pub j: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("Foo"), crate::Foo);
@@ -102,7 +102,7 @@
#[derive(Clone, Copy)]
#[repr(C)]
pub struct Bar {
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("Bar"), crate::Bar);
@@ -150,7 +150,7 @@
#[derive(Clone, Copy)]
#[repr(C)]
pub struct HasNoComments {
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("HasNoComments"), crate::HasNoComments);
diff --git a/rs_bindings_from_cc/test/golden/doc_comment_rs_api.rs b/rs_bindings_from_cc/test/golden/doc_comment_rs_api.rs
index f010bcf..52c19c4 100644
--- a/rs_bindings_from_cc/test/golden/doc_comment_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/doc_comment_rs_api.rs
@@ -28,7 +28,7 @@
pub struct DocCommentSlashes {
__non_field_data: [::core::mem::MaybeUninit<u8>; 0],
/// A field.
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("DocCommentSlashes"),
@@ -79,9 +79,9 @@
/// An implicit conversion constructor which will get translated into `impl
/// From<int> for DocCommentSlashes`.
-impl From<i32> for DocCommentSlashes {
+impl From<::core::ffi::c_int> for DocCommentSlashes {
#[inline(always)]
- fn from(__param_0: i32) -> Self {
+ fn from(__param_0: ::core::ffi::c_int) -> Self {
let mut tmp = ::core::mem::MaybeUninit::<Self>::zeroed();
unsafe {
crate::detail::__rust_thunk___ZN17DocCommentSlashesC1Ei(&mut tmp, __param_0);
@@ -93,7 +93,7 @@
impl DocCommentSlashes {
/// A non-static member function (`const` flavor).
#[inline(always)]
- pub fn get_field_value<'a>(&'a self) -> i32 {
+ pub fn get_field_value<'a>(&'a self) -> ::core::ffi::c_int {
unsafe { crate::detail::__rust_thunk___ZNK17DocCommentSlashes15get_field_valueEv(self) }
}
}
@@ -101,7 +101,7 @@
impl DocCommentSlashes {
/// A non-static member function (non-`const` flavor).
#[inline(always)]
- pub fn set_field_value<'a>(&'a mut self, new_value: i32) {
+ pub fn set_field_value<'a>(&'a mut self, new_value: ::core::ffi::c_int) {
unsafe {
crate::detail::__rust_thunk___ZN17DocCommentSlashes15set_field_valueEi(self, new_value)
}
@@ -111,7 +111,7 @@
impl DocCommentSlashes {
/// A static method.
#[inline(always)]
- pub fn static_method() -> i32 {
+ pub fn static_method() -> ::core::ffi::c_int {
unsafe { crate::detail::__rust_thunk___ZN17DocCommentSlashes13static_methodEv() }
}
}
@@ -123,7 +123,7 @@
#[repr(C)]
pub struct DocCommentBang {
/// A field
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("DocCommentBang"), crate::DocCommentBang);
@@ -174,7 +174,7 @@
#[repr(C)]
pub struct MultilineCommentTwoStars {
/// A field
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("MultilineCommentTwoStars"),
@@ -228,7 +228,7 @@
#[repr(C)]
pub struct LineComment {
/// A field
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("LineComment"), crate::LineComment);
@@ -279,7 +279,7 @@
#[repr(C)]
pub struct MultilineOneStar {
/// A field
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("MultilineOneStar"),
@@ -328,7 +328,7 @@
/// A function
#[inline(always)]
-pub fn foo() -> i32 {
+pub fn foo() -> ::core::ffi::c_int {
unsafe { crate::detail::__rust_thunk___Z3foov() }
}
@@ -363,7 +363,7 @@
#[repr(C)]
pub struct __CcTemplateInst10MyTemplateIiE {
/// Data member.
- pub value: i32,
+ pub value: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("MyTemplate<int>"),
@@ -417,7 +417,7 @@
impl __CcTemplateInst10MyTemplateIiE {
/// A non-static member function.
#[inline(always)]
- pub fn get_field_value<'a>(&'a self) -> &'a i32 {
+ pub fn get_field_value<'a>(&'a self) -> &'a ::core::ffi::c_int {
unsafe {
crate::detail::__rust_thunk___ZNK10MyTemplateIiE15get_field_valueEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3adoc_5fcomment_5fcc(self)
}
@@ -511,19 +511,19 @@
#[link_name = "_ZN17DocCommentSlashesC1Ei"]
pub(crate) fn __rust_thunk___ZN17DocCommentSlashesC1Ei<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::DocCommentSlashes>,
- __param_0: i32,
+ __param_0: ::core::ffi::c_int,
);
#[link_name = "_ZNK17DocCommentSlashes15get_field_valueEv"]
pub(crate) fn __rust_thunk___ZNK17DocCommentSlashes15get_field_valueEv<'a>(
__this: &'a crate::DocCommentSlashes,
- ) -> i32;
+ ) -> ::core::ffi::c_int;
#[link_name = "_ZN17DocCommentSlashes15set_field_valueEi"]
pub(crate) fn __rust_thunk___ZN17DocCommentSlashes15set_field_valueEi<'a>(
__this: &'a mut crate::DocCommentSlashes,
- new_value: i32,
+ new_value: ::core::ffi::c_int,
);
#[link_name = "_ZN17DocCommentSlashes13static_methodEv"]
- pub(crate) fn __rust_thunk___ZN17DocCommentSlashes13static_methodEv() -> i32;
+ pub(crate) fn __rust_thunk___ZN17DocCommentSlashes13static_methodEv() -> ::core::ffi::c_int;
pub(crate) fn __rust_thunk___ZN14DocCommentBangC1Ev<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::DocCommentBang>,
);
@@ -584,7 +584,7 @@
__this: &'a mut crate::MultilineOneStar,
__param_0: ::ctor::RvalueReference<'b, crate::MultilineOneStar>,
) -> &'a mut crate::MultilineOneStar;
- pub(crate) fn __rust_thunk___Z3foov() -> i32;
+ pub(crate) fn __rust_thunk___Z3foov() -> ::core::ffi::c_int;
pub(crate) fn __rust_thunk___ZN10MyTemplateIiEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3adoc_5fcomment_5fcc<
'a,
>(
@@ -615,7 +615,7 @@
'a,
>(
__this: &'a crate::__CcTemplateInst10MyTemplateIiE,
- ) -> &'a i32;
+ ) -> &'a ::core::ffi::c_int;
pub(crate) fn __rust_thunk___ZN10MyTemplateIfEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3adoc_5fcomment_5fcc<
'a,
>(
diff --git a/rs_bindings_from_cc/test/golden/enums_rs_api.rs b/rs_bindings_from_cc/test/golden/enums_rs_api.rs
index 31c092c..9d29eef 100644
--- a/rs_bindings_from_cc/test/golden/enums_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/enums_rs_api.rs
@@ -22,34 +22,34 @@
#[repr(transparent)]
#[derive(Debug, PartialEq, Eq, Copy, Clone, Hash, PartialOrd, Ord)]
-pub struct Color(u32);
+pub struct Color(::core::ffi::c_uint);
impl Color {
pub const kRed: Color = Color(0);
pub const kBlue: Color = Color(1);
pub const kGreen: Color = Color(2);
}
-impl From<u32> for Color {
- fn from(value: u32) -> Color {
+impl From<::core::ffi::c_uint> for Color {
+ fn from(value: ::core::ffi::c_uint) -> Color {
Color(value)
}
}
-impl From<Color> for u32 {
- fn from(value: Color) -> u32 {
+impl From<Color> for ::core::ffi::c_uint {
+ fn from(value: Color) -> ::core::ffi::c_uint {
value.0
}
}
#[repr(transparent)]
#[derive(Debug, PartialEq, Eq, Copy, Clone, Hash, PartialOrd, Ord)]
-pub struct Empty(u32);
+pub struct Empty(::core::ffi::c_uint);
impl Empty {}
-impl From<u32> for Empty {
- fn from(value: u32) -> Empty {
+impl From<::core::ffi::c_uint> for Empty {
+ fn from(value: ::core::ffi::c_uint) -> Empty {
Empty(value)
}
}
-impl From<Empty> for u32 {
- fn from(value: Empty) -> u32 {
+impl From<Empty> for ::core::ffi::c_uint {
+ fn from(value: Empty) -> ::core::ffi::c_uint {
value.0
}
}
@@ -71,15 +71,15 @@
#[repr(transparent)]
#[derive(Debug, PartialEq, Eq, Copy, Clone, Hash, PartialOrd, Ord)]
-pub struct EmptyInt(u32);
+pub struct EmptyInt(::core::ffi::c_uint);
impl EmptyInt {}
-impl From<u32> for EmptyInt {
- fn from(value: u32) -> EmptyInt {
+impl From<::core::ffi::c_uint> for EmptyInt {
+ fn from(value: ::core::ffi::c_uint) -> EmptyInt {
EmptyInt(value)
}
}
-impl From<EmptyInt> for u32 {
- fn from(value: EmptyInt) -> u32 {
+impl From<EmptyInt> for ::core::ffi::c_uint {
+ fn from(value: EmptyInt) -> ::core::ffi::c_uint {
value.0
}
}
@@ -119,18 +119,18 @@
#[repr(transparent)]
#[derive(Debug, PartialEq, Eq, Copy, Clone, Hash, PartialOrd, Ord)]
-pub struct NonEmptyInt(u32);
+pub struct NonEmptyInt(::core::ffi::c_uint);
impl NonEmptyInt {
pub const kInt1: NonEmptyInt = NonEmptyInt(0);
pub const kInt2: NonEmptyInt = NonEmptyInt(4294967295);
}
-impl From<u32> for NonEmptyInt {
- fn from(value: u32) -> NonEmptyInt {
+impl From<::core::ffi::c_uint> for NonEmptyInt {
+ fn from(value: ::core::ffi::c_uint) -> NonEmptyInt {
NonEmptyInt(value)
}
}
-impl From<NonEmptyInt> for u32 {
- fn from(value: NonEmptyInt) -> u32 {
+impl From<NonEmptyInt> for ::core::ffi::c_uint {
+ fn from(value: NonEmptyInt) -> ::core::ffi::c_uint {
value.0
}
}
@@ -155,15 +155,15 @@
#[repr(transparent)]
#[derive(Debug, PartialEq, Eq, Copy, Clone, Hash, PartialOrd, Ord)]
-pub struct EmptyClass(i32);
+pub struct EmptyClass(::core::ffi::c_int);
impl EmptyClass {}
-impl From<i32> for EmptyClass {
- fn from(value: i32) -> EmptyClass {
+impl From<::core::ffi::c_int> for EmptyClass {
+ fn from(value: ::core::ffi::c_int) -> EmptyClass {
EmptyClass(value)
}
}
-impl From<EmptyClass> for i32 {
- fn from(value: EmptyClass) -> i32 {
+impl From<EmptyClass> for ::core::ffi::c_int {
+ fn from(value: EmptyClass) -> ::core::ffi::c_int {
value.0
}
}
@@ -185,15 +185,15 @@
#[repr(transparent)]
#[derive(Debug, PartialEq, Eq, Copy, Clone, Hash, PartialOrd, Ord)]
-pub struct EmptyIntClass(i32);
+pub struct EmptyIntClass(::core::ffi::c_int);
impl EmptyIntClass {}
-impl From<i32> for EmptyIntClass {
- fn from(value: i32) -> EmptyIntClass {
+impl From<::core::ffi::c_int> for EmptyIntClass {
+ fn from(value: ::core::ffi::c_int) -> EmptyIntClass {
EmptyIntClass(value)
}
}
-impl From<EmptyIntClass> for i32 {
- fn from(value: EmptyIntClass) -> i32 {
+impl From<EmptyIntClass> for ::core::ffi::c_int {
+ fn from(value: EmptyIntClass) -> ::core::ffi::c_int {
value.0
}
}
@@ -233,18 +233,18 @@
#[repr(transparent)]
#[derive(Debug, PartialEq, Eq, Copy, Clone, Hash, PartialOrd, Ord)]
-pub struct NonEmptyIntClass(u32);
+pub struct NonEmptyIntClass(::core::ffi::c_uint);
impl NonEmptyIntClass {
pub const k1: NonEmptyIntClass = NonEmptyIntClass(0);
pub const k2: NonEmptyIntClass = NonEmptyIntClass(4294967295);
}
-impl From<u32> for NonEmptyIntClass {
- fn from(value: u32) -> NonEmptyIntClass {
+impl From<::core::ffi::c_uint> for NonEmptyIntClass {
+ fn from(value: ::core::ffi::c_uint) -> NonEmptyIntClass {
NonEmptyIntClass(value)
}
}
-impl From<NonEmptyIntClass> for u32 {
- fn from(value: NonEmptyIntClass) -> u32 {
+impl From<NonEmptyIntClass> for ::core::ffi::c_uint {
+ fn from(value: NonEmptyIntClass) -> ::core::ffi::c_uint {
value.0
}
}
diff --git a/rs_bindings_from_cc/test/golden/escaping_keywords_rs_api.rs b/rs_bindings_from_cc/test/golden/escaping_keywords_rs_api.rs
index 3f604bf..41d1184 100644
--- a/rs_bindings_from_cc/test/golden/escaping_keywords_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/escaping_keywords_rs_api.rs
@@ -23,7 +23,7 @@
#[derive(Clone, Copy)]
#[repr(C)]
pub struct r#type {
- pub r#dyn: i32,
+ pub r#dyn: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("type"), crate::r#type);
@@ -68,7 +68,7 @@
}
#[inline(always)]
-pub fn r#impl(r#match: i32) {
+pub fn r#impl(r#match: ::core::ffi::c_int) {
unsafe { crate::detail::__rust_thunk___Z4impli(r#match) }
}
@@ -100,7 +100,7 @@
__param_0: ::ctor::RvalueReference<'b, crate::r#type>,
) -> &'a mut crate::r#type;
#[link_name = "_Z4impli"]
- pub(crate) fn __rust_thunk___Z4impli(r#match: i32);
+ pub(crate) fn __rust_thunk___Z4impli(r#match: ::core::ffi::c_int);
}
}
diff --git a/rs_bindings_from_cc/test/golden/friend_functions_rs_api.rs b/rs_bindings_from_cc/test/golden/friend_functions_rs_api.rs
index 699a941..005ca17 100644
--- a/rs_bindings_from_cc/test/golden/friend_functions_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/friend_functions_rs_api.rs
@@ -93,7 +93,7 @@
/// Uint128Low64 declarations from absl/numeric/int128.h. This is a
/// regression test for b/244311755.
#[inline(always)]
-pub fn multiple_declarations<'a>(__param_0: &'a crate::SomeClass) -> i32 {
+pub fn multiple_declarations<'a>(__param_0: &'a crate::SomeClass) -> ::core::ffi::c_int {
unsafe { crate::detail::__rust_thunk___Z21multiple_declarationsRK9SomeClass(__param_0) }
}
@@ -133,7 +133,7 @@
);
pub(crate) fn __rust_thunk___Z21multiple_declarationsRK9SomeClass<'a>(
__param_0: &'a crate::SomeClass,
- ) -> i32;
+ ) -> ::core::ffi::c_int;
}
}
diff --git a/rs_bindings_from_cc/test/golden/item_order_rs_api.rs b/rs_bindings_from_cc/test/golden/item_order_rs_api.rs
index dc7e44b..14a235c 100644
--- a/rs_bindings_from_cc/test/golden/item_order_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/item_order_rs_api.rs
@@ -23,7 +23,7 @@
#[derive(Clone, Copy)]
#[repr(C)]
pub struct FirstStruct {
- pub field: i32,
+ pub field: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("FirstStruct"), crate::FirstStruct);
@@ -68,14 +68,14 @@
}
#[inline(always)]
-pub fn first_func() -> i32 {
+pub fn first_func() -> ::core::ffi::c_int {
unsafe { crate::detail::__rust_thunk___Z10first_funcv() }
}
#[derive(Clone, Copy)]
#[repr(C)]
pub struct SecondStruct {
- pub field: i32,
+ pub field: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("SecondStruct"), crate::SecondStruct);
@@ -120,7 +120,7 @@
}
#[inline(always)]
-pub fn second_func() -> i32 {
+pub fn second_func() -> ::core::ffi::c_int {
unsafe { crate::detail::__rust_thunk___Z11second_funcv() }
}
@@ -145,7 +145,7 @@
__this: &'a mut crate::FirstStruct,
__param_0: ::ctor::RvalueReference<'b, crate::FirstStruct>,
) -> &'a mut crate::FirstStruct;
- pub(crate) fn __rust_thunk___Z10first_funcv() -> i32;
+ pub(crate) fn __rust_thunk___Z10first_funcv() -> ::core::ffi::c_int;
pub(crate) fn __rust_thunk___ZN12SecondStructC1Ev<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::SecondStruct>,
);
@@ -161,7 +161,7 @@
__this: &'a mut crate::SecondStruct,
__param_0: ::ctor::RvalueReference<'b, crate::SecondStruct>,
) -> &'a mut crate::SecondStruct;
- pub(crate) fn __rust_thunk___Z11second_funcv() -> i32;
+ pub(crate) fn __rust_thunk___Z11second_funcv() -> ::core::ffi::c_int;
}
}
diff --git a/rs_bindings_from_cc/test/golden/lifetimes_rs_api.rs b/rs_bindings_from_cc/test/golden/lifetimes_rs_api.rs
index 9fec5f2..3b62299 100644
--- a/rs_bindings_from_cc/test/golden/lifetimes_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/lifetimes_rs_api.rs
@@ -45,7 +45,7 @@
}
#[inline(always)]
-pub unsafe fn ConsumeArray(pair: *mut i32) {
+pub unsafe fn ConsumeArray(pair: *mut ::core::ffi::c_int) {
crate::detail::__rust_thunk___Z12ConsumeArrayPi(pair)
}
@@ -53,7 +53,7 @@
// Unsupported type 'int[2]': Unsupported clang::Type class 'ConstantArray'
#[inline(always)]
-pub unsafe fn ConsumeArrayWithTypedef(__param_0: *mut i32) {
+pub unsafe fn ConsumeArrayWithTypedef(__param_0: *mut ::core::ffi::c_int) {
crate::detail::__rust_thunk___Z23ConsumeArrayWithTypedefPi(__param_0)
}
@@ -72,9 +72,11 @@
#[link_name = "_Z25AddAnotherHookWithTypedefRFvvE"]
pub(crate) fn __rust_thunk___Z25AddAnotherHookWithTypedefRFvvE(hook: extern "C" fn());
#[link_name = "_Z12ConsumeArrayPi"]
- pub(crate) fn __rust_thunk___Z12ConsumeArrayPi(pair: *mut i32);
+ pub(crate) fn __rust_thunk___Z12ConsumeArrayPi(pair: *mut ::core::ffi::c_int);
#[link_name = "_Z23ConsumeArrayWithTypedefPi"]
- pub(crate) fn __rust_thunk___Z23ConsumeArrayWithTypedefPi(__param_0: *mut i32);
+ pub(crate) fn __rust_thunk___Z23ConsumeArrayWithTypedefPi(
+ __param_0: *mut ::core::ffi::c_int,
+ );
}
}
diff --git a/rs_bindings_from_cc/test/golden/namespace_rs_api.rs b/rs_bindings_from_cc/test/golden/namespace_rs_api.rs
index 315db2a..9562892 100644
--- a/rs_bindings_from_cc/test/golden/namespace_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/namespace_rs_api.rs
@@ -24,7 +24,7 @@
#[derive(Clone, Copy)]
#[repr(C)]
pub struct S {
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("S"),
@@ -77,7 +77,7 @@
/// Free comment inside namespace
#[inline(always)]
- pub fn f(mut s: crate::test_namespace_bindings::S) -> i32 {
+ pub fn f(mut s: crate::test_namespace_bindings::S) -> ::core::ffi::c_int {
unsafe { crate::detail::__rust_thunk___ZN23test_namespace_bindings1fENS_1SE(&mut s) }
}
@@ -312,7 +312,7 @@
) -> &'a mut crate::test_namespace_bindings::S;
pub(crate) fn __rust_thunk___ZN23test_namespace_bindings1fENS_1SE(
s: &mut crate::test_namespace_bindings::S,
- ) -> i32;
+ ) -> ::core::ffi::c_int;
pub(crate) fn __rust_thunk___ZN23test_namespace_bindings15inline_functionEv();
#[link_name = "_ZN23test_namespace_bindings5inner1iEv"]
pub(crate) fn __rust_thunk___ZN23test_namespace_bindings5inner1iEv();
diff --git a/rs_bindings_from_cc/test/golden/no_elided_lifetimes_rs_api.rs b/rs_bindings_from_cc/test/golden/no_elided_lifetimes_rs_api.rs
index cc70522..ce5646e 100644
--- a/rs_bindings_from_cc/test/golden/no_elided_lifetimes_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/no_elided_lifetimes_rs_api.rs
@@ -21,7 +21,7 @@
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#[inline(always)]
-pub unsafe fn free_function(p1: *mut i32) -> *mut i32 {
+pub unsafe fn free_function(p1: *mut ::core::ffi::c_int) -> *mut ::core::ffi::c_int {
crate::detail::__rust_thunk___Z13free_functionRi(p1)
}
@@ -49,14 +49,22 @@
impl S {
#[inline(always)]
- pub unsafe fn const_method(__this: *const Self, p1: *mut i32, p2: *mut i32) -> *mut i32 {
+ pub unsafe fn const_method(
+ __this: *const Self,
+ p1: *mut ::core::ffi::c_int,
+ p2: *mut ::core::ffi::c_int,
+ ) -> *mut ::core::ffi::c_int {
crate::detail::__rust_thunk___ZNK1S12const_methodERiS0_(__this, p1, p2)
}
}
impl S {
#[inline(always)]
- pub unsafe fn method(__this: *mut Self, p1: *mut i32, p2: *mut i32) -> *mut i32 {
+ pub unsafe fn method(
+ __this: *mut Self,
+ p1: *mut ::core::ffi::c_int,
+ p2: *mut ::core::ffi::c_int,
+ ) -> *mut ::core::ffi::c_int {
crate::detail::__rust_thunk___ZN1S6methodERiS0_(__this, p1, p2)
}
}
@@ -85,7 +93,7 @@
}
#[inline(always)]
-pub unsafe fn take_pointer(p: *mut i32) {
+pub unsafe fn take_pointer(p: *mut ::core::ffi::c_int) {
crate::detail::__rust_thunk___Z12take_pointerPi(p)
}
@@ -124,25 +132,27 @@
use super::*;
extern "C" {
#[link_name = "_Z13free_functionRi"]
- pub(crate) fn __rust_thunk___Z13free_functionRi(p1: *mut i32) -> *mut i32;
+ pub(crate) fn __rust_thunk___Z13free_functionRi(
+ p1: *mut ::core::ffi::c_int,
+ ) -> *mut ::core::ffi::c_int;
#[link_name = "_ZNK1S12const_methodERiS0_"]
pub(crate) fn __rust_thunk___ZNK1S12const_methodERiS0_(
__this: *const crate::S,
- p1: *mut i32,
- p2: *mut i32,
- ) -> *mut i32;
+ p1: *mut ::core::ffi::c_int,
+ p2: *mut ::core::ffi::c_int,
+ ) -> *mut ::core::ffi::c_int;
#[link_name = "_ZN1S6methodERiS0_"]
pub(crate) fn __rust_thunk___ZN1S6methodERiS0_(
__this: *mut crate::S,
- p1: *mut i32,
- p2: *mut i32,
- ) -> *mut i32;
+ p1: *mut ::core::ffi::c_int,
+ p2: *mut ::core::ffi::c_int,
+ ) -> *mut ::core::ffi::c_int;
#[link_name = "_ZN44TriviallyCopyableButNontriviallyDestructibleD1Ev"]
pub(crate) fn __rust_thunk___ZN44TriviallyCopyableButNontriviallyDestructibleD1Ev<'a>(
__this: ::core::pin::Pin<&'a mut crate::TriviallyCopyableButNontriviallyDestructible>,
);
#[link_name = "_Z12take_pointerPi"]
- pub(crate) fn __rust_thunk___Z12take_pointerPi(p: *mut i32);
+ pub(crate) fn __rust_thunk___Z12take_pointerPi(p: *mut ::core::ffi::c_int);
}
}
diff --git a/rs_bindings_from_cc/test/golden/no_unique_address_rs_api.rs b/rs_bindings_from_cc/test/golden/no_unique_address_rs_api.rs
index c30a0ce..6d19e12 100644
--- a/rs_bindings_from_cc/test/golden/no_unique_address_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/no_unique_address_rs_api.rs
@@ -45,8 +45,8 @@
}
forward_declare::unsafe_define!(forward_declare::symbol!("Struct"), crate::Struct);
impl Struct {
- pub fn field1(&self) -> &i32 {
- unsafe { &*(&self.field1 as *const _ as *const i32) }
+ pub fn field1(&self) -> &::core::ffi::c_int {
+ unsafe { &*(&self.field1 as *const _ as *const ::core::ffi::c_int) }
}
pub fn field2(&self) -> &u8 {
unsafe { &*(&self.field2 as *const _ as *const u8) }
@@ -95,7 +95,7 @@
impl Struct {
#[inline(always)]
- pub fn Make(f1: i32, f2: u8) -> crate::Struct {
+ pub fn Make(f1: ::core::ffi::c_int, f2: u8) -> crate::Struct {
unsafe {
let mut __return = ::core::mem::MaybeUninit::<Self>::uninit();
crate::detail::__rust_thunk___ZN6Struct4MakeEic(&mut __return, f1, f2);
@@ -126,8 +126,8 @@
crate::PaddingBetweenFields
);
impl PaddingBetweenFields {
- pub fn field2(&self) -> &i32 {
- unsafe { &*(&self.field2 as *const _ as *const i32) }
+ pub fn field2(&self) -> &::core::ffi::c_int {
+ unsafe { &*(&self.field2 as *const _ as *const ::core::ffi::c_int) }
}
}
@@ -173,7 +173,7 @@
impl PaddingBetweenFields {
#[inline(always)]
- pub fn Make(f1: u8, f2: i32) -> crate::PaddingBetweenFields {
+ pub fn Make(f1: u8, f2: ::core::ffi::c_int) -> crate::PaddingBetweenFields {
unsafe {
let mut __return = ::core::mem::MaybeUninit::<Self>::uninit();
crate::detail::__rust_thunk___ZN20PaddingBetweenFields4MakeEci(&mut __return, f1, f2);
@@ -191,7 +191,7 @@
#[repr(C)]
pub struct FieldInTailPadding_InnerStruct {
/// size: 4, alignment: 4 => offset: 0
- pub inner_int_field: i32,
+ pub inner_int_field: ::core::ffi::c_int,
/// size: 1, alignment: 1 => offset: 4
pub inner_char_field: u8,
}
@@ -373,10 +373,10 @@
}
}
-impl ::ctor::CtorNew<(i32, u8, u8)> for FieldInTailPadding {
+impl ::ctor::CtorNew<(::core::ffi::c_int, u8, u8)> for FieldInTailPadding {
type CtorType = impl ::ctor::Ctor<Output = Self>;
#[inline(always)]
- fn ctor_new(args: (i32, u8, u8)) -> Self::CtorType {
+ fn ctor_new(args: (::core::ffi::c_int, u8, u8)) -> Self::CtorType {
let (inner_int, inner_char, outer_char) = args;
unsafe {
::ctor::FnCtor::new(
@@ -416,7 +416,7 @@
) -> &'a mut crate::Struct;
pub(crate) fn __rust_thunk___ZN6Struct4MakeEic(
__return: &mut ::core::mem::MaybeUninit<crate::Struct>,
- f1: i32,
+ f1: ::core::ffi::c_int,
f2: u8,
);
pub(crate) fn __rust_thunk___ZN20PaddingBetweenFieldsC1Ev<'a>(
@@ -437,7 +437,7 @@
pub(crate) fn __rust_thunk___ZN20PaddingBetweenFields4MakeEci(
__return: &mut ::core::mem::MaybeUninit<crate::PaddingBetweenFields>,
f1: u8,
- f2: i32,
+ f2: ::core::ffi::c_int,
);
pub(crate) fn __rust_thunk___ZN30FieldInTailPadding_InnerStructC1Ev<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::FieldInTailPadding_InnerStruct>,
@@ -474,7 +474,7 @@
) -> ::core::pin::Pin<&'a mut crate::FieldInTailPadding>;
pub(crate) fn __rust_thunk___ZN18FieldInTailPaddingC1Eicc<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::FieldInTailPadding>,
- inner_int: i32,
+ inner_int: ::core::ffi::c_int,
inner_char: u8,
outer_char: u8,
);
@@ -524,7 +524,7 @@
const _: () =
assert!(memoffset::offset_of!(crate::FieldInTailPadding_InnerStruct, inner_char_field) == 4);
const _: () = {
- static_assertions::assert_impl_all!(i32:Copy);
+ static_assertions::assert_impl_all!(::core::ffi::c_int:Copy);
};
const _: () = {
static_assertions::assert_impl_all!(u8:Copy);
diff --git a/rs_bindings_from_cc/test/golden/nontrivial_type_rs_api.rs b/rs_bindings_from_cc/test/golden/nontrivial_type_rs_api.rs
index a76580e..d1fb229 100644
--- a/rs_bindings_from_cc/test/golden/nontrivial_type_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/nontrivial_type_rs_api.rs
@@ -35,7 +35,7 @@
#[repr(C)]
pub struct Nontrivial {
__non_field_data: [::core::mem::MaybeUninit<u8>; 0],
- pub field: i32,
+ pub field: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("Nontrivial"), crate::Nontrivial);
@@ -56,10 +56,10 @@
}
}
-impl ::ctor::CtorNew<i32> for Nontrivial {
+impl ::ctor::CtorNew<::core::ffi::c_int> for Nontrivial {
type CtorType = impl ::ctor::Ctor<Output = Self>;
#[inline(always)]
- fn ctor_new(args: i32) -> Self::CtorType {
+ fn ctor_new(args: ::core::ffi::c_int) -> Self::CtorType {
let field = args;
unsafe {
::ctor::FnCtor::new(
@@ -73,19 +73,19 @@
}
}
}
-impl ::ctor::CtorNew<(i32,)> for Nontrivial {
+impl ::ctor::CtorNew<(::core::ffi::c_int,)> for Nontrivial {
type CtorType = impl ::ctor::Ctor<Output = Self>;
#[inline(always)]
- fn ctor_new(args: (i32,)) -> Self::CtorType {
+ fn ctor_new(args: (::core::ffi::c_int,)) -> Self::CtorType {
let (arg,) = args;
- <Self as ::ctor::CtorNew<i32>>::ctor_new(arg)
+ <Self as ::ctor::CtorNew<::core::ffi::c_int>>::ctor_new(arg)
}
}
-impl ::ctor::CtorNew<(i32, i32)> for Nontrivial {
+impl ::ctor::CtorNew<(::core::ffi::c_int, ::core::ffi::c_int)> for Nontrivial {
type CtorType = impl ::ctor::Ctor<Output = Self>;
#[inline(always)]
- fn ctor_new(args: (i32, i32)) -> Self::CtorType {
+ fn ctor_new(args: (::core::ffi::c_int, ::core::ffi::c_int)) -> Self::CtorType {
let (field, unused) = args;
unsafe {
::ctor::FnCtor::new(
@@ -174,9 +174,9 @@
}
}
-impl ::ctor::Assign<i32> for Nontrivial {
+impl ::ctor::Assign<::core::ffi::c_int> for Nontrivial {
#[inline(always)]
- fn assign<'a>(self: ::core::pin::Pin<&'a mut Self>, __param_0: i32) {
+ fn assign<'a>(self: ::core::pin::Pin<&'a mut Self>, __param_0: ::core::ffi::c_int) {
unsafe {
crate::detail::__rust_thunk___ZN10NontrivialaSEi(self, __param_0);
}
@@ -257,7 +257,7 @@
#[repr(C)]
pub struct NontrivialInline {
__non_field_data: [::core::mem::MaybeUninit<u8>; 0],
- pub field: i32,
+ pub field: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("NontrivialInline"),
@@ -281,10 +281,10 @@
}
}
-impl ::ctor::CtorNew<i32> for NontrivialInline {
+impl ::ctor::CtorNew<::core::ffi::c_int> for NontrivialInline {
type CtorType = impl ::ctor::Ctor<Output = Self>;
#[inline(always)]
- fn ctor_new(args: i32) -> Self::CtorType {
+ fn ctor_new(args: ::core::ffi::c_int) -> Self::CtorType {
let field = args;
unsafe {
::ctor::FnCtor::new(
@@ -298,19 +298,19 @@
}
}
}
-impl ::ctor::CtorNew<(i32,)> for NontrivialInline {
+impl ::ctor::CtorNew<(::core::ffi::c_int,)> for NontrivialInline {
type CtorType = impl ::ctor::Ctor<Output = Self>;
#[inline(always)]
- fn ctor_new(args: (i32,)) -> Self::CtorType {
+ fn ctor_new(args: (::core::ffi::c_int,)) -> Self::CtorType {
let (arg,) = args;
- <Self as ::ctor::CtorNew<i32>>::ctor_new(arg)
+ <Self as ::ctor::CtorNew<::core::ffi::c_int>>::ctor_new(arg)
}
}
-impl ::ctor::CtorNew<(i32, i32)> for NontrivialInline {
+impl ::ctor::CtorNew<(::core::ffi::c_int, ::core::ffi::c_int)> for NontrivialInline {
type CtorType = impl ::ctor::Ctor<Output = Self>;
#[inline(always)]
- fn ctor_new(args: (i32, i32)) -> Self::CtorType {
+ fn ctor_new(args: (::core::ffi::c_int, ::core::ffi::c_int)) -> Self::CtorType {
let (field, unused) = args;
unsafe {
::ctor::FnCtor::new(
@@ -399,9 +399,9 @@
}
}
-impl ::ctor::Assign<i32> for NontrivialInline {
+impl ::ctor::Assign<::core::ffi::c_int> for NontrivialInline {
#[inline(always)]
- fn assign<'a>(self: ::core::pin::Pin<&'a mut Self>, __param_0: i32) {
+ fn assign<'a>(self: ::core::pin::Pin<&'a mut Self>, __param_0: ::core::ffi::c_int) {
unsafe {
crate::detail::__rust_thunk___ZN16NontrivialInlineaSEi(self, __param_0);
}
@@ -538,7 +538,7 @@
#[repr(C)]
pub struct NontrivialUnpin {
__non_field_data: [::core::mem::MaybeUninit<u8>; 0],
- pub field: i32,
+ pub field: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("NontrivialUnpin"),
@@ -556,9 +556,9 @@
}
}
-impl From<i32> for NontrivialUnpin {
+impl From<::core::ffi::c_int> for NontrivialUnpin {
#[inline(always)]
- fn from(field: i32) -> Self {
+ fn from(field: ::core::ffi::c_int) -> Self {
let mut tmp = ::core::mem::MaybeUninit::<Self>::zeroed();
unsafe {
crate::detail::__rust_thunk___ZN15NontrivialUnpinC1Ei(&mut tmp, field);
@@ -621,9 +621,9 @@
}
}
-impl ::ctor::UnpinAssign<i32> for NontrivialUnpin {
+impl ::ctor::UnpinAssign<::core::ffi::c_int> for NontrivialUnpin {
#[inline(always)]
- fn unpin_assign<'a>(&'a mut self, __param_0: i32) {
+ fn unpin_assign<'a>(&'a mut self, __param_0: ::core::ffi::c_int) {
unsafe {
crate::detail::__rust_thunk___ZN15NontrivialUnpinaSEi(self, __param_0);
}
@@ -927,13 +927,13 @@
#[link_name = "_ZN10NontrivialC1Ei"]
pub(crate) fn __rust_thunk___ZN10NontrivialC1Ei<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::Nontrivial>,
- field: i32,
+ field: ::core::ffi::c_int,
);
#[link_name = "_ZN10NontrivialC1Eii"]
pub(crate) fn __rust_thunk___ZN10NontrivialC1Eii<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::Nontrivial>,
- field: i32,
- unused: i32,
+ field: ::core::ffi::c_int,
+ unused: ::core::ffi::c_int,
);
#[link_name = "_ZN10NontrivialC1ERKS_"]
pub(crate) fn __rust_thunk___ZN10NontrivialC1ERKS_<'a, 'b>(
@@ -958,7 +958,7 @@
#[link_name = "_ZN10NontrivialaSEi"]
pub(crate) fn __rust_thunk___ZN10NontrivialaSEi<'a>(
__this: ::core::pin::Pin<&'a mut crate::Nontrivial>,
- __param_0: i32,
+ __param_0: ::core::ffi::c_int,
) -> ::core::pin::Pin<&'a mut crate::Nontrivial>;
pub(crate) fn __rust_thunk___ZN10NontrivialaSEf<'a>(
__return: &mut ::core::mem::MaybeUninit<crate::Nontrivial>,
@@ -998,12 +998,12 @@
);
pub(crate) fn __rust_thunk___ZN16NontrivialInlineC1Ei<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::NontrivialInline>,
- field: i32,
+ field: ::core::ffi::c_int,
);
pub(crate) fn __rust_thunk___ZN16NontrivialInlineC1Eii<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::NontrivialInline>,
- field: i32,
- unused: i32,
+ field: ::core::ffi::c_int,
+ unused: ::core::ffi::c_int,
);
pub(crate) fn __rust_thunk___ZN16NontrivialInlineC1ERKS_<'a, 'b>(
__this: &'a mut ::core::mem::MaybeUninit<crate::NontrivialInline>,
@@ -1023,7 +1023,7 @@
) -> ::core::pin::Pin<&'a mut crate::NontrivialInline>;
pub(crate) fn __rust_thunk___ZN16NontrivialInlineaSEi<'a>(
__this: ::core::pin::Pin<&'a mut crate::NontrivialInline>,
- __param_0: i32,
+ __param_0: ::core::ffi::c_int,
) -> ::core::pin::Pin<&'a mut crate::NontrivialInline>;
pub(crate) fn __rust_thunk___ZN16NontrivialInlineD1Ev<'a>(
__this: ::core::pin::Pin<&'a mut crate::NontrivialInline>,
@@ -1060,7 +1060,7 @@
#[link_name = "_ZN15NontrivialUnpinC1Ei"]
pub(crate) fn __rust_thunk___ZN15NontrivialUnpinC1Ei<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::NontrivialUnpin>,
- field: i32,
+ field: ::core::ffi::c_int,
);
#[link_name = "_ZN15NontrivialUnpinC1ERKS_"]
pub(crate) fn __rust_thunk___ZN15NontrivialUnpinC1ERKS_<'a, 'b>(
@@ -1090,7 +1090,7 @@
#[link_name = "_ZN15NontrivialUnpinaSEi"]
pub(crate) fn __rust_thunk___ZN15NontrivialUnpinaSEi<'a>(
__this: &'a mut crate::NontrivialUnpin,
- __param_0: i32,
+ __param_0: ::core::ffi::c_int,
) -> &'a mut crate::NontrivialUnpin;
#[link_name = "_ZN15NontrivialUnpinD1Ev"]
pub(crate) fn __rust_thunk___ZN15NontrivialUnpinD1Ev<'a>(
@@ -1195,7 +1195,7 @@
};
const _: () = assert!(memoffset::offset_of!(crate::Nontrivial, field) == 0);
const _: () = {
- static_assertions::assert_impl_all!(i32:Copy);
+ static_assertions::assert_impl_all!(::core::ffi::c_int:Copy);
};
const _: () = assert!(::core::mem::size_of::<crate::NontrivialInline>() == 4);
@@ -1208,7 +1208,7 @@
};
const _: () = assert!(memoffset::offset_of!(crate::NontrivialInline, field) == 0);
const _: () = {
- static_assertions::assert_impl_all!(i32:Copy);
+ static_assertions::assert_impl_all!(::core::ffi::c_int:Copy);
};
const _: () = assert!(::core::mem::size_of::<crate::NontrivialMembers>() == 4);
@@ -1231,7 +1231,7 @@
};
const _: () = assert!(memoffset::offset_of!(crate::NontrivialUnpin, field) == 0);
const _: () = {
- static_assertions::assert_impl_all!(i32:Copy);
+ static_assertions::assert_impl_all!(::core::ffi::c_int:Copy);
};
const _: () = assert!(::core::mem::size_of::<crate::NontrivialByValue>() == 1);
diff --git a/rs_bindings_from_cc/test/golden/operators_rs_api.rs b/rs_bindings_from_cc/test/golden/operators_rs_api.rs
index 62a6a15..b3a31a2 100644
--- a/rs_bindings_from_cc/test/golden/operators_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/operators_rs_api.rs
@@ -517,18 +517,18 @@
}
}
-impl<'a> ::core::ops::Add<i32> for &'a crate::Overloaded {
- type Output = i32;
+impl<'a> ::core::ops::Add<::core::ffi::c_int> for &'a crate::Overloaded {
+ type Output = ::core::ffi::c_int;
#[inline(always)]
- fn add(self, rhs: i32) -> Self::Output {
+ fn add(self, rhs: ::core::ffi::c_int) -> Self::Output {
unsafe { crate::detail::__rust_thunk___ZplRK10Overloadedi(self, rhs) }
}
}
-impl<'a> ::core::ops::Add<u32> for &'a crate::Overloaded {
- type Output = i32;
+impl<'a> ::core::ops::Add<::core::ffi::c_uint> for &'a crate::Overloaded {
+ type Output = ::core::ffi::c_int;
#[inline(always)]
- fn add(self, rhs: u32) -> Self::Output {
+ fn add(self, rhs: ::core::ffi::c_uint) -> Self::Output {
unsafe { crate::detail::__rust_thunk___ZplRK10Overloadedj(self, rhs) }
}
}
@@ -796,9 +796,9 @@
}
}
-impl ::core::ops::AddAssign<i32> for AddAssignMemberInt {
+impl ::core::ops::AddAssign<::core::ffi::c_int> for AddAssignMemberInt {
#[inline(always)]
- fn add_assign<'a>(&'a mut self, rhs: i32) {
+ fn add_assign<'a>(&'a mut self, rhs: ::core::ffi::c_int) {
unsafe {
crate::detail::__rust_thunk___ZN18AddAssignMemberIntpLEi(self, rhs);
}
@@ -1649,13 +1649,13 @@
#[link_name = "_ZplRK10Overloadedi"]
pub(crate) fn __rust_thunk___ZplRK10Overloadedi<'a>(
lhs: &'a crate::Overloaded,
- rhs: i32,
- ) -> i32;
+ rhs: ::core::ffi::c_int,
+ ) -> ::core::ffi::c_int;
#[link_name = "_ZplRK10Overloadedj"]
pub(crate) fn __rust_thunk___ZplRK10Overloadedj<'a>(
lhs: &'a crate::Overloaded,
- rhs: u32,
- ) -> i32;
+ rhs: ::core::ffi::c_uint,
+ ) -> ::core::ffi::c_int;
pub(crate) fn __rust_thunk___ZN15IncompatibleLHSC1Ev<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::IncompatibleLHS>,
);
@@ -1728,8 +1728,8 @@
#[link_name = "_ZN18AddAssignMemberIntpLEi"]
pub(crate) fn __rust_thunk___ZN18AddAssignMemberIntpLEi<'a>(
__this: &'a mut crate::AddAssignMemberInt,
- rhs: i32,
- ) -> i32;
+ rhs: ::core::ffi::c_int,
+ ) -> ::core::ffi::c_int;
pub(crate) fn __rust_thunk___ZN25AddAssignMemberByConstRefC1Ev<'a>(
__this: &'a mut ::core::mem::MaybeUninit<crate::AddAssignMemberByConstRef>,
);
diff --git a/rs_bindings_from_cc/test/golden/private_members_rs_api.rs b/rs_bindings_from_cc/test/golden/private_members_rs_api.rs
index 71aec09..2df75fa 100644
--- a/rs_bindings_from_cc/test/golden/private_members_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/private_members_rs_api.rs
@@ -25,7 +25,7 @@
#[repr(C, align(4))]
pub struct SomeClass {
__non_field_data: [::core::mem::MaybeUninit<u8>; 0],
- pub public_member_variable_: i32,
+ pub public_member_variable_: ::core::ffi::c_int,
/// Reason for representing this field as a blob of bytes:
/// Types of non-public C++ fields can be elided away
pub(crate) private_member_variable_: [::core::mem::MaybeUninit<u8>; 4],
diff --git a/rs_bindings_from_cc/test/golden/static_methods_rs_api.rs b/rs_bindings_from_cc/test/golden/static_methods_rs_api.rs
index 7334caa..ac81ef7 100644
--- a/rs_bindings_from_cc/test/golden/static_methods_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/static_methods_rs_api.rs
@@ -73,7 +73,7 @@
impl SomeClass {
/// Example of a factory method.
#[inline(always)]
- pub fn static_factory_method(initial_value_of_field: i32) -> crate::SomeClass {
+ pub fn static_factory_method(initial_value_of_field: ::core::ffi::c_int) -> crate::SomeClass {
unsafe {
let mut __return = ::core::mem::MaybeUninit::<Self>::uninit();
crate::detail::__rust_thunk___ZN9SomeClass21static_factory_methodEi(
@@ -88,7 +88,10 @@
impl SomeClass {
/// Static method working on primitive types (and unrelated to the struct).
#[inline(always)]
- pub fn static_method_that_multiplies_its_args(x: i32, y: i32) -> i32 {
+ pub fn static_method_that_multiplies_its_args(
+ x: ::core::ffi::c_int,
+ y: ::core::ffi::c_int,
+ ) -> ::core::ffi::c_int {
unsafe {
crate::detail::__rust_thunk___ZN9SomeClass38static_method_that_multiplies_its_argsEii(
x, y,
@@ -120,13 +123,13 @@
) -> &'a mut crate::SomeClass;
pub(crate) fn __rust_thunk___ZN9SomeClass21static_factory_methodEi(
__return: &mut ::core::mem::MaybeUninit<crate::SomeClass>,
- initial_value_of_field: i32,
+ initial_value_of_field: ::core::ffi::c_int,
);
#[link_name = "_ZN9SomeClass38static_method_that_multiplies_its_argsEii"]
pub(crate) fn __rust_thunk___ZN9SomeClass38static_method_that_multiplies_its_argsEii(
- x: i32,
- y: i32,
- ) -> i32;
+ x: ::core::ffi::c_int,
+ y: ::core::ffi::c_int,
+ ) -> ::core::ffi::c_int;
}
}
diff --git a/rs_bindings_from_cc/test/golden/templates_rs_api.rs b/rs_bindings_from_cc/test/golden/templates_rs_api.rs
index 05070f8..1ad275c 100644
--- a/rs_bindings_from_cc/test/golden/templates_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/templates_rs_api.rs
@@ -534,7 +534,9 @@
impl __CcTemplateInstN23test_namespace_bindings10MyTemplateIiEE {
#[inline(always)]
- pub fn Create(value: i32) -> crate::__CcTemplateInstN23test_namespace_bindings10MyTemplateIiEE {
+ pub fn Create(
+ value: ::core::ffi::c_int,
+ ) -> crate::__CcTemplateInstN23test_namespace_bindings10MyTemplateIiEE {
unsafe {
let mut __return = ::core::mem::MaybeUninit::<Self>::uninit();
crate::detail::__rust_thunk___ZN23test_namespace_bindings10MyTemplateIiE6CreateEi__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(&mut __return,value);
@@ -545,7 +547,7 @@
impl __CcTemplateInstN23test_namespace_bindings10MyTemplateIiEE {
#[inline(always)]
- pub fn value<'a>(&'a self) -> &'a i32 {
+ pub fn value<'a>(&'a self) -> &'a ::core::ffi::c_int {
unsafe {
crate::detail::__rust_thunk___ZNK23test_namespace_bindings10MyTemplateIiE5valueEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(self)
}
@@ -556,7 +558,7 @@
#[repr(C)]
pub struct __CcTemplateInstN23test_namespace_bindings21TemplateWithTwoParamsINS0_IiiEEiEE {
pub value1: crate::__CcTemplateInstN23test_namespace_bindings21TemplateWithTwoParamsIiiEE,
- pub value2: i32,
+ pub value2: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!(
@@ -614,7 +616,7 @@
#[derive(Clone, Copy)]
#[repr(C)]
pub struct __CcTemplateInstN23test_namespace_bindings21TemplateWithTwoParamsIifEE {
- pub value1: i32,
+ pub value1: ::core::ffi::c_int,
pub value2: f32,
}
forward_declare::unsafe_define!(
@@ -671,8 +673,8 @@
#[derive(Clone, Copy)]
#[repr(C)]
pub struct __CcTemplateInstN23test_namespace_bindings21TemplateWithTwoParamsIiiEE {
- pub value1: i32,
- pub value2: i32,
+ pub value1: ::core::ffi::c_int,
+ pub value2: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("test_namespace_bindings::TemplateWithTwoParams<int, int>"),
@@ -991,7 +993,7 @@
impl __CcTemplateInstN24template_template_params10MyTemplateINS_6PolicyEEE {
#[inline(always)]
- pub fn GetPolicy() -> i32 {
+ pub fn GetPolicy() -> ::core::ffi::c_int {
unsafe {
crate::detail::__rust_thunk___ZN24template_template_params10MyTemplateINS_6PolicyEE9GetPolicyEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc()
}
@@ -1175,13 +1177,13 @@
__return: &mut ::core::mem::MaybeUninit<
crate::__CcTemplateInstN23test_namespace_bindings10MyTemplateIiEE,
>,
- value: i32,
+ value: ::core::ffi::c_int,
);
pub(crate) fn __rust_thunk___ZNK23test_namespace_bindings10MyTemplateIiE5valueEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc<
'a,
>(
__this: &'a crate::__CcTemplateInstN23test_namespace_bindings10MyTemplateIiEE,
- ) -> &'a i32;
+ ) -> &'a ::core::ffi::c_int;
pub(crate) fn __rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsINS0_IiiEEiEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc<
'a,
>(
@@ -1381,7 +1383,7 @@
&'a mut crate::__CcTemplateInstN24template_template_params10MyTemplateINS_6PolicyEEE,
>;
pub(crate) fn __rust_thunk___ZN24template_template_params10MyTemplateINS_6PolicyEE9GetPolicyEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc()
- -> i32;
+ -> ::core::ffi::c_int;
}
}
diff --git a/rs_bindings_from_cc/test/golden/templates_source_order_rs_api.rs b/rs_bindings_from_cc/test/golden/templates_source_order_rs_api.rs
index 89ce32f..5101277 100644
--- a/rs_bindings_from_cc/test/golden/templates_source_order_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/templates_source_order_rs_api.rs
@@ -410,7 +410,7 @@
impl __CcTemplateInst10MyTemplateIiE {
#[inline(always)]
- pub unsafe fn processT(__this: *mut Self, t: i32) {
+ pub unsafe fn processT(__this: *mut Self, t: ::core::ffi::c_int) {
crate::detail::__rust_thunk___ZN10MyTemplateIiE8processTEi__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fsource_5forder_5fcc(__this,t)
}
}
@@ -453,7 +453,7 @@
);
pub(crate) fn __rust_thunk___ZN10MyTemplateIiE8processTEi__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fsource_5forder_5fcc(
__this: *mut crate::__CcTemplateInst10MyTemplateIiE,
- t: i32,
+ t: ::core::ffi::c_int,
);
}
}
diff --git a/rs_bindings_from_cc/test/golden/trivial_type_rs_api.rs b/rs_bindings_from_cc/test/golden/trivial_type_rs_api.rs
index 6b25647..5188e8c 100644
--- a/rs_bindings_from_cc/test/golden/trivial_type_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/trivial_type_rs_api.rs
@@ -32,7 +32,7 @@
#[derive(Clone, Copy)]
#[repr(C)]
pub struct Trivial {
- pub trivial_field: i32,
+ pub trivial_field: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("Trivial"), crate::ns::Trivial);
@@ -127,7 +127,7 @@
#[::ctor::recursively_pinned]
#[repr(C)]
pub struct TrivialNonfinal {
- pub trivial_field: i32,
+ pub trivial_field: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("TrivialNonfinal"),
diff --git a/rs_bindings_from_cc/test/golden/typedefs_rs_api.rs b/rs_bindings_from_cc/test/golden/typedefs_rs_api.rs
index db08a8e..5346970 100644
--- a/rs_bindings_from_cc/test/golden/typedefs_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/typedefs_rs_api.rs
@@ -326,7 +326,7 @@
}
#[inline(always)]
-pub fn FunctionUsingNestedType() -> i32 {
+pub fn FunctionUsingNestedType() -> ::core::ffi::c_int {
unsafe { crate::detail::__rust_thunk___Z23FunctionUsingNestedTypev() }
}
@@ -405,7 +405,7 @@
__param_0: ::ctor::RvalueReference<'b, crate::SomeOtherUnion>,
) -> &'a mut crate::SomeOtherUnion;
#[link_name = "_Z23FunctionUsingNestedTypev"]
- pub(crate) fn __rust_thunk___Z23FunctionUsingNestedTypev() -> i32;
+ pub(crate) fn __rust_thunk___Z23FunctionUsingNestedTypev() -> ::core::ffi::c_int;
}
}
diff --git a/rs_bindings_from_cc/test/golden/types_rs_api.rs b/rs_bindings_from_cc/test/golden/types_rs_api.rs
index f7fe7e5..82e9f29 100644
--- a/rs_bindings_from_cc/test/golden/types_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/types_rs_api.rs
@@ -80,23 +80,23 @@
pub struct FieldTypeTestStruct {
pub bool_field: bool,
pub char_field: u8,
- pub unsigned_char_field: u8,
- pub signed_char_field: i8,
+ pub unsigned_char_field: ::core::ffi::c_uchar,
+ pub signed_char_field: ::core::ffi::c_schar,
pub char16_t_field: u16,
pub char32_t_field: u32,
pub wchar_t_field: i32,
- pub short_field: i16,
- pub int_field: i32,
- pub long_field: i64,
- pub long_long_field: i64,
- pub unsigned_short_field: u16,
- pub unsigned_int_field: u32,
- pub unsigned_long_field: u64,
- pub unsigned_long_long_field: u64,
- pub signed_short_field: i16,
- pub signed_int_field: i32,
- pub signed_long_field: i64,
- pub signed_long_long_field: i64,
+ pub short_field: ::core::ffi::c_short,
+ pub int_field: ::core::ffi::c_int,
+ pub long_field: ::core::ffi::c_long,
+ pub long_long_field: ::core::ffi::c_longlong,
+ pub unsigned_short_field: ::core::ffi::c_ushort,
+ pub unsigned_int_field: ::core::ffi::c_uint,
+ pub unsigned_long_field: ::core::ffi::c_ulong,
+ pub unsigned_long_long_field: ::core::ffi::c_ulonglong,
+ pub signed_short_field: ::core::ffi::c_short,
+ pub signed_int_field: ::core::ffi::c_int,
+ pub signed_long_field: ::core::ffi::c_long,
+ pub signed_long_long_field: ::core::ffi::c_longlong,
/// Reason for representing this field as a blob of bytes:
/// Unsupported type 'PtrDiff': No generated bindings found for 'PtrDiff'
pub(crate) ptrdiff_t_field: [::core::mem::MaybeUninit<u8>; 8],
@@ -105,7 +105,7 @@
pub(crate) size_t_field: [::core::mem::MaybeUninit<u8>; 8],
pub float_field: f32,
pub double_field: f64,
- pub ptr_field: *mut i32,
+ pub ptr_field: *mut ::core::ffi::c_int,
pub void_ptr_field: *mut ::core::ffi::c_void,
pub const_void_ptr_field: *const ::core::ffi::c_void,
pub void_double_ptr_field: *mut *mut ::core::ffi::c_void,
@@ -145,8 +145,9 @@
/// returning a function. In ML-like syntax:
/// FunctionPointerReturningFunction : () -> (const int&, int*) -> int&
#[inline(always)]
-pub fn FunctionPointerReturningFunction() -> Option<extern "C" fn(*const i32, *mut i32) -> *mut i32>
-{
+pub fn FunctionPointerReturningFunction() -> Option<
+ extern "C" fn(*const ::core::ffi::c_int, *mut ::core::ffi::c_int) -> *mut ::core::ffi::c_int,
+> {
unsafe { crate::detail::__rust_thunk___Z32FunctionPointerReturningFunctionv() }
}
@@ -200,8 +201,12 @@
__param_0: ::ctor::RvalueReference<'b, crate::FieldTypeTestStruct>,
);
pub(crate) fn __rust_thunk___Z21VoidReturningFunctionv();
- pub(crate) fn __rust_thunk___Z32FunctionPointerReturningFunctionv()
- -> Option<extern "C" fn(*const i32, *mut i32) -> *mut i32>;
+ pub(crate) fn __rust_thunk___Z32FunctionPointerReturningFunctionv() -> Option<
+ extern "C" fn(
+ *const ::core::ffi::c_int,
+ *mut ::core::ffi::c_int,
+ ) -> *mut ::core::ffi::c_int,
+ >;
pub(crate) fn __rust_thunk___Z24FunctionWithVoidPointersPvPKv(
__param_0: *mut ::core::ffi::c_void,
__param_1: *const ::core::ffi::c_void,
diff --git a/rs_bindings_from_cc/test/golden/unions_rs_api.rs b/rs_bindings_from_cc/test/golden/unions_rs_api.rs
index b5a293a..c0833ec 100644
--- a/rs_bindings_from_cc/test/golden/unions_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/unions_rs_api.rs
@@ -76,7 +76,7 @@
#[repr(C)]
pub struct Nontrivial {
__non_field_data: [::core::mem::MaybeUninit<u8>; 0],
- pub field: i32,
+ pub field: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(forward_declare::symbol!("Nontrivial"), crate::Nontrivial);
@@ -179,8 +179,8 @@
pub union NonEmptyUnion {
pub bool_field: bool,
pub char_field: u8,
- pub int_field: i32,
- pub long_long_field: i64,
+ pub int_field: ::core::ffi::c_int,
+ pub long_long_field: ::core::ffi::c_longlong,
}
forward_declare::unsafe_define!(forward_declare::symbol!("NonEmptyUnion"), crate::NonEmptyUnion);
@@ -323,7 +323,7 @@
#[::ctor::recursively_pinned]
#[repr(C)]
pub struct TrivialButInheritable {
- pub x: i32,
+ pub x: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("TrivialButInheritable"),
@@ -882,10 +882,10 @@
static_assertions::assert_impl_all!(u8:Copy);
};
const _: () = {
- static_assertions::assert_impl_all!(i32:Copy);
+ static_assertions::assert_impl_all!(::core::ffi::c_int:Copy);
};
const _: () = {
- static_assertions::assert_impl_all!(i64:Copy);
+ static_assertions::assert_impl_all!(::core::ffi::c_longlong:Copy);
};
const _: () = assert!(::core::mem::size_of::<crate::NonCopyUnion>() == 4);
diff --git a/rs_bindings_from_cc/test/golden/unsupported_rs_api.rs b/rs_bindings_from_cc/test/golden/unsupported_rs_api.rs
index 5939b74..dbb4fd2 100644
--- a/rs_bindings_from_cc/test/golden/unsupported_rs_api.rs
+++ b/rs_bindings_from_cc/test/golden/unsupported_rs_api.rs
@@ -28,7 +28,7 @@
#[derive(Clone, Copy)]
#[repr(C)]
pub struct TrivialCustomType {
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("TrivialCustomType"),
@@ -85,7 +85,7 @@
#[repr(C)]
pub struct NontrivialCustomType {
__non_field_data: [::core::mem::MaybeUninit<u8>; 0],
- pub i: i32,
+ pub i: ::core::ffi::c_int,
}
forward_declare::unsafe_define!(
forward_declare::symbol!("NontrivialCustomType"),