diff --git a/examples/cpp/method/example_generated.rs b/examples/cpp/method/example_generated.rs index 294b13b3f..56bd2b01a 100644 --- a/examples/cpp/method/example_generated.rs +++ b/examples/cpp/method/example_generated.rs @@ -37,7 +37,7 @@ pub mod foo { /// Generated from: examples/cpp/method/example.h;l=14 #[inline(always)] pub unsafe fn MyMethod(__this: *mut Self) { - self::bar::MyMethod(__this) + unsafe { self::bar::MyMethod(__this) } } } @@ -62,7 +62,7 @@ pub mod foo { /// Generated from: examples/cpp/method/example.h;l=14 #[inline(always)] pub unsafe fn MyMethod(__this: *mut crate::foo::Bar) { - crate::detail::__rust_thunk___ZN3foo3Bar8MyMethodEv(__this) + unsafe { crate::detail::__rust_thunk___ZN3foo3Bar8MyMethodEv(__this) } } } } diff --git a/examples/cpp/unsafe_attributes/example_generated.rs b/examples/cpp/unsafe_attributes/example_generated.rs index a89801326..027dccc0b 100644 --- a/examples/cpp/unsafe_attributes/example_generated.rs +++ b/examples/cpp/unsafe_attributes/example_generated.rs @@ -27,7 +27,7 @@ pub fn SafeSignatureWithoutAnnotation() { /// Generated from: examples/cpp/unsafe_attributes/example.h;l=11 #[inline(always)] pub unsafe fn SafeSignatureButAnnotatedUnsafe() { - crate::detail::__rust_thunk___Z31SafeSignatureButAnnotatedUnsafev() + unsafe { crate::detail::__rust_thunk___Z31SafeSignatureButAnnotatedUnsafev() } } /// # Safety @@ -38,7 +38,7 @@ pub unsafe fn SafeSignatureButAnnotatedUnsafe() { /// Generated from: examples/cpp/unsafe_attributes/example.h;l=13 #[inline(always)] pub unsafe fn UnsafeSignatureWithoutAnnotation(__param_0: *mut ::ffi_11::c_void) { - crate::detail::__rust_thunk___Z32UnsafeSignatureWithoutAnnotationPv(__param_0) + unsafe { crate::detail::__rust_thunk___Z32UnsafeSignatureWithoutAnnotationPv(__param_0) } } /// Generated from: examples/cpp/unsafe_attributes/example.h;l=14 @@ -64,7 +64,7 @@ pub fn SafeBasedOnBoolean() { /// Generated from: examples/cpp/unsafe_attributes/example.h;l=17 #[inline(always)] pub unsafe fn UnsafeBasedOnBoolean() { - crate::detail::__rust_thunk___Z20UnsafeBasedOnBooleanv() + unsafe { crate::detail::__rust_thunk___Z20UnsafeBasedOnBooleanv() } } // Generated from: nowhere/llvm/src/libcxx/include/__type_traits/integral_constant.h;l=21 diff --git a/examples/cpp/virtual/example_generated.rs b/examples/cpp/virtual/example_generated.rs index 12bb46aa0..912aef186 100644 --- a/examples/cpp/virtual/example_generated.rs +++ b/examples/cpp/virtual/example_generated.rs @@ -39,7 +39,7 @@ impl RustDerived { /// Generated from: examples/cpp/virtual/example.h;l=16 #[inline(always)] pub unsafe fn Method1(__this: *const Self) -> ::ffi_11::c_int { - self::rust_derived::Method1(__this) + unsafe { self::rust_derived::Method1(__this) } } /// # Safety /// @@ -49,7 +49,7 @@ impl RustDerived { /// Generated from: examples/cpp/virtual/example.h;l=18 #[inline(always)] pub unsafe fn Upcast(__this: *mut Self) -> *mut ::base::ExampleBase { - self::rust_derived::Upcast(__this) + unsafe { self::rust_derived::Upcast(__this) } } } @@ -84,7 +84,7 @@ impl<'__unelided> ::ctor::CtorNew<(::ctor::RvalueReference<'__unelided, Self>,)> impl ::ctor::PinnedDrop for RustDerived { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN11RustDerivedD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN11RustDerivedD1Ev(self) } } } @@ -128,7 +128,9 @@ impl ::ctor::CtorNew<(::definition::RustDerived,)> for RustDerived { unsafe impl ::operator::Delete for crate::RustDerived { #[inline(always)] unsafe fn delete(p: *mut Self) { - crate::detail::__crubit_operator_delete__11RustDerived___2f_2fthird_5fparty_2fcrubit_2fexamples_2fcpp_2fvirtual_3aexample_5flib(p); + unsafe { + crate::detail::__crubit_operator_delete__11RustDerived___2f_2fthird_5fparty_2fcrubit_2fexamples_2fcpp_2fvirtual_3aexample_5flib(p); + } } } @@ -141,7 +143,7 @@ pub mod rust_derived { /// Generated from: examples/cpp/virtual/example.h;l=16 #[inline(always)] pub unsafe fn Method1(__this: *const crate::RustDerived) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___ZNK11RustDerived7Method1Ev(__this) + unsafe { crate::detail::__rust_thunk___ZNK11RustDerived7Method1Ev(__this) } } /// # Safety /// @@ -151,7 +153,7 @@ pub mod rust_derived { /// Generated from: examples/cpp/virtual/example.h;l=18 #[inline(always)] pub unsafe fn Upcast(__this: *mut crate::RustDerived) -> *mut ::base::ExampleBase { - crate::detail::__rust_thunk___ZN11RustDerived6UpcastEv(__this) + unsafe { crate::detail::__rust_thunk___ZN11RustDerived6UpcastEv(__this) } } } diff --git a/rs_bindings_from_cc/generate_bindings/database/code_snippet.rs b/rs_bindings_from_cc/generate_bindings/database/code_snippet.rs index 4a9738d80..cabd5b797 100644 --- a/rs_bindings_from_cc/generate_bindings/database/code_snippet.rs +++ b/rs_bindings_from_cc/generate_bindings/database/code_snippet.rs @@ -773,7 +773,7 @@ pub fn generated_items_to_tokens<'db>( quote! { unsafe impl oops::Inherits<#base_name> for #derived_name { unsafe fn upcast_ptr(derived: *const Self) -> *const #base_name { - #body + unsafe { #body } } } __NEWLINE__ @@ -797,7 +797,7 @@ pub fn generated_items_to_tokens<'db>( unsafe impl ::operator::Delete for #record_type { #[inline(always)] unsafe fn delete(p: *mut Self) { - #crate_root_path::detail::#thunk_ident(p); + unsafe { #crate_root_path::detail::#thunk_ident(p); } } } __NEWLINE__ @@ -902,7 +902,7 @@ pub fn generated_items_to_tokens<'db>( link_name.as_deref().map(|link_name| quote! { #[link_name = #link_name] }); let mut_kw = if *is_mut { Some(quote! { mut }) } else { None }; quote! { - extern "C" { + unsafe extern "C" { #link_name_attr #visibility static #mut_kw #ident: #type_tokens; } diff --git a/rs_bindings_from_cc/generate_bindings/generate_function.rs b/rs_bindings_from_cc/generate_bindings/generate_function.rs index 4913862cc..fb5df117e 100644 --- a/rs_bindings_from_cc/generate_bindings/generate_function.rs +++ b/rs_bindings_from_cc/generate_bindings/generate_function.rs @@ -1194,11 +1194,9 @@ fn generate_func_body( // return_type = RsTypeKind::Primitive(PrimitiveType::Unit); let _ = return_type; // proof that we don't need to update it. } - // Only need to wrap everything in an `unsafe { ... }` block if - // the *whole* api function is safe. - if !impl_kind.is_unsafe() { - body = quote! { unsafe { #body } }; - } + // Rust 2024 requires that bodies of unsafe functions are not exempt from having unsafe + // blocks. + body = quote! { unsafe { #body } }; Ok(quote! { #thunk_prepare #body @@ -1773,7 +1771,7 @@ pub fn generate_function( fn #bracketed_func_name #fn_generic_params( #( #api_params ),* ) #arrow #quoted_return_type #unsatisfied_where_clause { - self::#mod_name::#func_name(#( #method_delegation_args ),*) + unsafe { self::#mod_name::#func_name(#( #method_delegation_args ),*) } } }], ); diff --git a/rs_bindings_from_cc/generate_bindings/generate_function_test.rs b/rs_bindings_from_cc/generate_bindings/generate_function_test.rs index aae69392f..7e87a25fb 100644 --- a/rs_bindings_from_cc/generate_bindings/generate_function_test.rs +++ b/rs_bindings_from_cc/generate_bindings/generate_function_test.rs @@ -237,7 +237,7 @@ fn test_ptr_func() -> Result<()> { quote! { #[inline(always)] pub unsafe fn Deref(p: *const *mut ::ffi_11::c_int) -> *mut ::ffi_11::c_int { - crate::detail::__rust_thunk___Z5DerefPKPi(p) + unsafe { crate::detail::__rust_thunk___Z5DerefPKPi(p) } } } ); @@ -280,7 +280,7 @@ fn test_const_char_ptr_func() -> Result<()> { quote! { #[inline(always)] pub unsafe fn f(str: *const ::ffi_11::c_schar) { - crate::detail::__rust_thunk___Z1fPKa(str) + unsafe { crate::detail::__rust_thunk___Z1fPKa(str) } } } ); @@ -1714,7 +1714,7 @@ fn test_unpin_rvalue_ref_qualified_method() -> Result<()> { quote! { #[inline(always)] pub fn rvalue_ref_qualified_method<'a>(self: ::ctor::RvalueReference<'a, Self>) { - self::trivial_with_rvalue_ref_qualified_method::rvalue_ref_qualified_method(self) + unsafe { self::trivial_with_rvalue_ref_qualified_method::rvalue_ref_qualified_method(self) } } } ); @@ -1744,7 +1744,7 @@ fn test_unpin_rvalue_ref_const_qualified_method() -> Result<()> { quote! { #[inline(always)] pub fn rvalue_ref_const_qualified_method<'a>(self: ::ctor::ConstRvalueReference<'a, Self>) { - self::trivial_with_rvalue_ref_const_qualified_method::rvalue_ref_const_qualified_method(self) + unsafe { self::trivial_with_rvalue_ref_const_qualified_method::rvalue_ref_const_qualified_method(self) } } } ); @@ -1903,7 +1903,7 @@ fn test_function_returning_rvalue_reference() -> Result<()> { #[inline(always)] pub fn GetRValueReference<'a>(&'a mut self) -> ::ctor::RvalueReference<'a, crate::SomeStruct> { - self::some_struct::GetRValueReference(self) + unsafe { self::some_struct::GetRValueReference(self) } } } } diff --git a/rs_bindings_from_cc/generate_bindings/generate_struct_and_union_test.rs b/rs_bindings_from_cc/generate_bindings/generate_struct_and_union_test.rs index 27af2008f..f5301f2c7 100644 --- a/rs_bindings_from_cc/generate_bindings/generate_struct_and_union_test.rs +++ b/rs_bindings_from_cc/generate_bindings/generate_struct_and_union_test.rs @@ -51,7 +51,7 @@ fn test_template_in_dependency_and_alias_in_current_target() -> Result<()> { #[doc = " Generated from: test/dependency_header.h;l=5"] #[inline(always)] pub fn GetValue<'a>(self: ... Pin<&'a mut Self>) -> ::ffi_11::c_int { - self::cc_template_inst10_my_template_ii_e::GetValue(self) + unsafe { self::cc_template_inst10_my_template_ii_e::GetValue(self) } } } } @@ -1361,7 +1361,7 @@ fn test_unambiguous_public_bases() -> Result<()> { quote! { unsafe impl oops::Inherits for crate::Derived { unsafe fn upcast_ptr(derived: *const Self) -> *const crate::VirtualBase { - crate::detail::__crubit_dynamic_upcast__7Derived__to__11VirtualBase___2f_2ftest_3atesting_5ftarget(derived) + unsafe { crate::detail::__crubit_dynamic_upcast__7Derived__to__11VirtualBase___2f_2ftest_3atesting_5ftarget(derived) } } } } @@ -1638,7 +1638,7 @@ fn test_derived_class_inherits_unambiguous_public_functions_bases() -> Result<() ... #[inline(always)] pub unsafe fn NonColliding(__this: *mut Self) { - self::derived::NonColliding(__this) + unsafe { self::derived::NonColliding(__this) } } } ... @@ -1674,7 +1674,7 @@ fn test_member_in_derived_class_overwrites_inherited_ones() -> Result<()> { ... #[inline(always)] pub unsafe fn Colliding(__this: *mut Self) { - self::derived::Colliding(__this) + unsafe { self::derived::Colliding(__this) } } } ... @@ -1879,17 +1879,17 @@ fn test_multiple_member_functions_grouped_in_impl() -> Result<()> { ... #[inline(always)] pub fn Method1<'a>(&'a mut self) { - self::some_struct::Method1(self) + unsafe { self::some_struct::Method1(self) } } ... #[inline(always)] pub fn Method2<'a>(&'a mut self) { - self::some_struct::Method2(self) + unsafe { self::some_struct::Method2(self) } } ... #[inline(always)] pub fn Method3<'a>(&'a mut self) { - self::some_struct::Method3(self) + unsafe { self::some_struct::Method3(self) } } } } diff --git a/rs_bindings_from_cc/test/annotations/do_not_bind_rs_api.rs b/rs_bindings_from_cc/test/annotations/do_not_bind_rs_api.rs index 7c064927b..6f67945cb 100644 --- a/rs_bindings_from_cc/test/annotations/do_not_bind_rs_api.rs +++ b/rs_bindings_from_cc/test/annotations/do_not_bind_rs_api.rs @@ -146,7 +146,7 @@ pub mod crubit { __this: *mut Self, mut __param_0: crate::crubit::test::ArgumentToBoundOverload, ) { - self::struct_with_do_not_bind_method::DoNotBindMethod(__this, __param_0) + unsafe { self::struct_with_do_not_bind_method::DoNotBindMethod(__this, __param_0) } } } @@ -176,7 +176,9 @@ pub mod crubit { __this: *mut crate::crubit::test::StructWithDoNotBindMethod, mut __param_0: crate::crubit::test::ArgumentToBoundOverload, ) { - crate::detail::__rust_thunk___ZN6crubit4test25StructWithDoNotBindMethod15DoNotBindMethodENS0_23ArgumentToBoundOverloadE(__this,&mut __param_0) + unsafe { + crate::detail::__rust_thunk___ZN6crubit4test25StructWithDoNotBindMethod15DoNotBindMethodENS0_23ArgumentToBoundOverloadE(__this,&mut __param_0) + } } } } diff --git a/rs_bindings_from_cc/test/annotations/owned_ptr_rs_api.rs b/rs_bindings_from_cc/test/annotations/owned_ptr_rs_api.rs index 57ff759ed..95b90c9fd 100644 --- a/rs_bindings_from_cc/test/annotations/owned_ptr_rs_api.rs +++ b/rs_bindings_from_cc/test/annotations/owned_ptr_rs_api.rs @@ -43,7 +43,7 @@ impl RawThing { /// Generated from: rs_bindings_from_cc/test/annotations/owned_ptr.h;l=21 #[inline(always)] pub unsafe fn Close(__this: *mut Self) { - self::raw_thing::Close(__this) + unsafe { self::raw_thing::Close(__this) } } } @@ -95,7 +95,7 @@ pub mod raw_thing { /// Generated from: rs_bindings_from_cc/test/annotations/owned_ptr.h;l=21 #[inline(always)] pub unsafe fn Close(__this: *mut crate::RawThing) { - crate::detail::__rust_thunk___ZN5Thing5CloseEv(__this) + unsafe { crate::detail::__rust_thunk___ZN5Thing5CloseEv(__this) } } } diff --git a/rs_bindings_from_cc/test/annotations/owned_ptr_user_rs_api.rs b/rs_bindings_from_cc/test/annotations/owned_ptr_user_rs_api.rs index 76c6746eb..3e22d3832 100644 --- a/rs_bindings_from_cc/test/annotations/owned_ptr_user_rs_api.rs +++ b/rs_bindings_from_cc/test/annotations/owned_ptr_user_rs_api.rs @@ -37,7 +37,9 @@ pub fn MakeThing(value: ::ffi_11::c_int) -> *mut ::owned_ptr::RawThing { /// Generated from: rs_bindings_from_cc/test/annotations/owned_ptr_user.h;l=18 #[inline(always)] pub unsafe fn ThingToValue(thingptr: ::owned_ptr::OwnedThing) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___Z12ThingToValueP5Thing(::core::mem::transmute(thingptr)) + unsafe { + crate::detail::__rust_thunk___Z12ThingToValueP5Thing(::core::mem::transmute(thingptr)) + } } /// # Safety @@ -48,7 +50,7 @@ pub unsafe fn ThingToValue(thingptr: ::owned_ptr::OwnedThing) -> ::ffi_11::c_int /// Generated from: rs_bindings_from_cc/test/annotations/owned_ptr_user.h;l=20 #[inline(always)] pub unsafe fn GetThingValue(thingptr: *mut ::owned_ptr::RawThing) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___Z13GetThingValueP5Thing(thingptr) + unsafe { crate::detail::__rust_thunk___Z13GetThingValueP5Thing(thingptr) } } // Generated from: nowhere/llvm/src/libcxx/include/__type_traits/integral_constant.h;l=21 diff --git a/rs_bindings_from_cc/test/annotations/rust_name_rs_api.rs b/rs_bindings_from_cc/test/annotations/rust_name_rs_api.rs index 93d3a45a9..30a7e8d3c 100644 --- a/rs_bindings_from_cc/test/annotations/rust_name_rs_api.rs +++ b/rs_bindings_from_cc/test/annotations/rust_name_rs_api.rs @@ -73,7 +73,7 @@ pub mod crubit { b: ::ffi_11::c_int, c: ::ffi_11::c_int, ) -> Self { - self::some_struct::ConstructorNewName(a, b, c) + unsafe { self::some_struct::ConstructorNewName(a, b, c) } } /// # Safety /// @@ -84,7 +84,7 @@ pub mod crubit { /// Expanded at: rs_bindings_from_cc/test/annotations/rust_name.h;l=21 #[inline(always)] pub unsafe fn MethodNewName(__this: *const Self) { - self::some_struct::MethodNewName(__this) + unsafe { self::some_struct::MethodNewName(__this) } } } @@ -131,7 +131,11 @@ pub mod crubit { /// Expanded at: rs_bindings_from_cc/test/annotations/rust_name.h;l=21 #[inline(always)] pub unsafe fn MethodNewName(__this: *const crate::crubit::test::SomeStruct) { - crate::detail::__rust_thunk___ZNK6crubit4test10SomeStruct13MethodOldNameEv(__this) + unsafe { + crate::detail::__rust_thunk___ZNK6crubit4test10SomeStruct13MethodOldNameEv( + __this, + ) + } } } } diff --git a/rs_bindings_from_cc/test/assume_lifetimes/member_function_rs_api.rs b/rs_bindings_from_cc/test/assume_lifetimes/member_function_rs_api.rs index 8f3f029d6..4d994f556 100644 --- a/rs_bindings_from_cc/test/assume_lifetimes/member_function_rs_api.rs +++ b/rs_bindings_from_cc/test/assume_lifetimes/member_function_rs_api.rs @@ -31,12 +31,12 @@ impl S { /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/member_function.h;l=9 #[inline(always)] pub fn int_accessor<'__this>(&'__this self) -> ::cref::CRef<'__this, ::ffi_11::c_int> { - self::s::int_accessor(self) + unsafe { self::s::int_accessor(self) } } /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/member_function.h;l=10 #[inline(always)] pub fn me<'__this>(&'__this mut self) -> ::cref::CMut<'__this, crate::S> { - self::s::me(self) + unsafe { self::s::me(self) } } } diff --git a/rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound_rs_api.rs b/rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound_rs_api.rs index f4dd66e23..1b10fe6dd 100644 --- a/rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound_rs_api.rs +++ b/rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound_rs_api.rs @@ -57,7 +57,7 @@ impl StructWithLifetimeboundMemberFunction { /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound.h;l=11 #[inline(always)] pub fn f<'__this>(&'__this self) -> crate::PlainStruct { - self::struct_with_lifetimebound_member_function::f(self) + unsafe { self::struct_with_lifetimebound_member_function::f(self) } } } @@ -112,7 +112,7 @@ impl<'__implicit> StructWithLifetimeboundRefMemberFunction<'__implicit> { /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound.h;l=15 #[inline(always)] pub fn f<'__this>(&'__this self) -> ::cref::CRef<'__implicit, crate::PlainStruct> { - self::struct_with_lifetimebound_ref_member_function::f(self) + unsafe { self::struct_with_lifetimebound_ref_member_function::f(self) } } } @@ -159,7 +159,7 @@ impl DropClassWithLifetimeboundMemberFunction { /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound.h;l=20 #[inline(always)] pub fn f<'__this>(&'__this self) -> crate::PlainStruct { - self::drop_class_with_lifetimebound_member_function::f(self) + unsafe { self::drop_class_with_lifetimebound_member_function::f(self) } } } @@ -223,7 +223,9 @@ impl<'__param_0> ::ctor::Assign<&'__param_0 Self> for DropClassWithLifetimebound impl ::ctor::PinnedDrop for DropClassWithLifetimeboundMemberFunction { #[inline(always)] unsafe fn pinned_drop<'__this>(self: ::core::pin::Pin<&'__this mut Self>) { - crate::detail::__rust_thunk___ZN40DropClassWithLifetimeboundMemberFunctionD1Ev(self) + unsafe { + crate::detail::__rust_thunk___ZN40DropClassWithLifetimeboundMemberFunctionD1Ev(self) + } } } @@ -264,7 +266,7 @@ impl<'__implicit> DropClassWithLifetimeboundRefMemberFunction<'__implicit> { /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound.h;l=26 #[inline(always)] pub fn f<'__this>(&'__this self) -> ::cref::CRef<'__implicit, crate::PlainStruct> { - self::drop_class_with_lifetimebound_ref_member_function::f(self) + unsafe { self::drop_class_with_lifetimebound_ref_member_function::f(self) } } } @@ -345,7 +347,9 @@ impl<'__implicit, '__param_0, '__param_0_0> impl<'__implicit> ::ctor::PinnedDrop for DropClassWithLifetimeboundRefMemberFunction<'__implicit> { #[inline(always)] unsafe fn pinned_drop<'__this, '__this_0>(self: ::core::pin::Pin<&'__this_0 mut Self>) { - crate::detail::__rust_thunk___ZN43DropClassWithLifetimeboundRefMemberFunctionD1Ev(self) + unsafe { + crate::detail::__rust_thunk___ZN43DropClassWithLifetimeboundRefMemberFunctionD1Ev(self) + } } } @@ -530,7 +534,7 @@ impl ::ctor::CtorNew<(crate::PlainStruct,)> for DropStructWithLifetimeboundCtor impl ::ctor::PinnedDrop for DropStructWithLifetimeboundCtor { #[inline(always)] unsafe fn pinned_drop<'__this>(self: ::core::pin::Pin<&'__this mut Self>) { - crate::detail::__rust_thunk___ZN31DropStructWithLifetimeboundCtorD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN31DropStructWithLifetimeboundCtorD1Ev(self) } } } @@ -642,7 +646,7 @@ impl<'__implicit> ::ctor::CtorNew<(&'__implicit crate::PlainStruct,)> impl<'__implicit> ::ctor::PinnedDrop for DropStructWithLifetimeboundRefCtor<'__implicit> { #[inline(always)] unsafe fn pinned_drop<'__this, '__this_0>(self: ::core::pin::Pin<&'__this_0 mut Self>) { - crate::detail::__rust_thunk___ZN34DropStructWithLifetimeboundRefCtorD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN34DropStructWithLifetimeboundRefCtorD1Ev(self) } } } @@ -666,7 +670,7 @@ impl<'__implicit> DropStructWithRefCtorAndRefMemberFunction<'__implicit> { /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound.h;l=56 #[inline(always)] pub fn f<'__this>(&'__this self) -> ::cref::CRef<'__implicit, crate::PlainStruct> { - self::drop_struct_with_ref_ctor_and_ref_member_function::f(self) + unsafe { self::drop_struct_with_ref_ctor_and_ref_member_function::f(self) } } } @@ -763,7 +767,9 @@ impl<'__implicit> ::ctor::CtorNew<(&'__implicit crate::PlainStruct,)> impl<'__implicit> ::ctor::PinnedDrop for DropStructWithRefCtorAndRefMemberFunction<'__implicit> { #[inline(always)] unsafe fn pinned_drop<'__this, '__this_0>(self: ::core::pin::Pin<&'__this_0 mut Self>) { - crate::detail::__rust_thunk___ZN41DropStructWithRefCtorAndRefMemberFunctionD1Ev(self) + unsafe { + crate::detail::__rust_thunk___ZN41DropStructWithRefCtorAndRefMemberFunctionD1Ev(self) + } } } @@ -796,7 +802,7 @@ impl DropStructWithCtorAndMemberFunction { /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound.h;l=63 #[inline(always)] pub fn f<'__this>(&'__this self) -> crate::PlainStruct { - self::drop_struct_with_ctor_and_member_function::f(self) + unsafe { self::drop_struct_with_ctor_and_member_function::f(self) } } } @@ -867,7 +873,7 @@ impl ::ctor::CtorNew<(crate::PlainStruct,)> for DropStructWithCtorAndMemberFunct impl ::ctor::PinnedDrop for DropStructWithCtorAndMemberFunction { #[inline(always)] unsafe fn pinned_drop<'__this>(self: ::core::pin::Pin<&'__this mut Self>) { - crate::detail::__rust_thunk___ZN35DropStructWithCtorAndMemberFunctionD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN35DropStructWithCtorAndMemberFunctionD1Ev(self) } } } @@ -905,7 +911,7 @@ impl DropStructWithCtorAndRefMemberFunction { /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound.h;l=70 #[inline(always)] pub fn f<'__this>(&'__this self) -> ::cref::CRef<'__this, crate::PlainStruct> { - self::drop_struct_with_ctor_and_ref_member_function::f(self) + unsafe { self::drop_struct_with_ctor_and_ref_member_function::f(self) } } } @@ -976,7 +982,9 @@ impl ::ctor::CtorNew<(crate::PlainStruct,)> for DropStructWithCtorAndRefMemberFu impl ::ctor::PinnedDrop for DropStructWithCtorAndRefMemberFunction { #[inline(always)] unsafe fn pinned_drop<'__this>(self: ::core::pin::Pin<&'__this mut Self>) { - crate::detail::__rust_thunk___ZN38DropStructWithCtorAndRefMemberFunctionD1Ev(self) + unsafe { + crate::detail::__rust_thunk___ZN38DropStructWithCtorAndRefMemberFunctionD1Ev(self) + } } } @@ -1012,7 +1020,7 @@ impl<'__implicit> DropStructWithRefCtorAndMemberFunction<'__implicit> { /// Generated from: rs_bindings_from_cc/test/assume_lifetimes/struct_with_lifetimebound.h;l=78 #[inline(always)] pub fn f<'__this>(&'__this self) -> crate::PlainStruct { - self::drop_struct_with_ref_ctor_and_member_function::f(self) + unsafe { self::drop_struct_with_ref_ctor_and_member_function::f(self) } } } @@ -1109,7 +1117,9 @@ impl<'__implicit> ::ctor::CtorNew<(&'__implicit crate::PlainStruct,)> impl<'__implicit> ::ctor::PinnedDrop for DropStructWithRefCtorAndMemberFunction<'__implicit> { #[inline(always)] unsafe fn pinned_drop<'__this, '__this_0>(self: ::core::pin::Pin<&'__this_0 mut Self>) { - crate::detail::__rust_thunk___ZN38DropStructWithRefCtorAndMemberFunctionD1Ev(self) + unsafe { + crate::detail::__rust_thunk___ZN38DropStructWithRefCtorAndMemberFunctionD1Ev(self) + } } } diff --git a/rs_bindings_from_cc/test/function/inline/inline_rs_api.rs b/rs_bindings_from_cc/test/function/inline/inline_rs_api.rs index 9df3c2d65..0166209a6 100644 --- a/rs_bindings_from_cc/test/function/inline/inline_rs_api.rs +++ b/rs_bindings_from_cc/test/function/inline/inline_rs_api.rs @@ -57,7 +57,7 @@ impl Default for SomeStruct { /// Generated from: rs_bindings_from_cc/test/function/inline/inline.h;l=15 #[inline(always)] pub unsafe fn take_struct_by_const_ptr(s: *const crate::SomeStruct) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___Z24take_struct_by_const_ptrPK10SomeStruct(s) + unsafe { crate::detail::__rust_thunk___Z24take_struct_by_const_ptrPK10SomeStruct(s) } } /// This testcase helps verify that thunks correctly work with primitive types diff --git a/rs_bindings_from_cc/test/function/simple/simple_rs_api.rs b/rs_bindings_from_cc/test/function/simple/simple_rs_api.rs index 157164b92..285eec45a 100644 --- a/rs_bindings_from_cc/test/function/simple/simple_rs_api.rs +++ b/rs_bindings_from_cc/test/function/simple/simple_rs_api.rs @@ -40,7 +40,7 @@ pub fn return_reference() -> *mut ::ffi_11::c_int { /// Generated from: rs_bindings_from_cc/test/function/simple/simple.h;l=13 #[inline(always)] pub unsafe fn take_pointer(i: *mut ::ffi_11::c_int) { - crate::detail::__rust_thunk___Z12take_pointerPi(i) + unsafe { crate::detail::__rust_thunk___Z12take_pointerPi(i) } } /// # Safety @@ -51,7 +51,7 @@ pub unsafe fn take_pointer(i: *mut ::ffi_11::c_int) { /// Generated from: rs_bindings_from_cc/test/function/simple/simple.h;l=14 #[inline(always)] pub unsafe fn take_reference(i: *mut ::ffi_11::c_int) { - crate::detail::__rust_thunk___Z14take_referenceRi(i) + unsafe { crate::detail::__rust_thunk___Z14take_referenceRi(i) } } /// Generated from: rs_bindings_from_cc/test/function/simple/simple.h;l=15 @@ -68,7 +68,7 @@ pub fn forward_pointer(i: *const ::ffi_11::c_int) -> *const ::ffi_11::c_int { /// Generated from: rs_bindings_from_cc/test/function/simple/simple.h;l=17 #[inline(always)] pub unsafe fn forward_reference(i: *const ::ffi_11::c_int) -> *const ::ffi_11::c_int { - crate::detail::__rust_thunk___Z17forward_referenceRKi(i) + unsafe { crate::detail::__rust_thunk___Z17forward_referenceRKi(i) } } /// Generated from: rs_bindings_from_cc/test/function/simple/simple.h;l=18 diff --git a/rs_bindings_from_cc/test/global/global_rs_api.rs b/rs_bindings_from_cc/test/global/global_rs_api.rs index 411a71c4f..29586a4b7 100644 --- a/rs_bindings_from_cc/test/global/global_rs_api.rs +++ b/rs_bindings_from_cc/test/global/global_rs_api.rs @@ -14,11 +14,11 @@ #![allow(unused)] #![deny(warnings)] -extern "C" { +unsafe extern "C" { pub static mut extern_int: ::ffi_11::c_int; } -extern "C" { +unsafe extern "C" { pub static kExternConstInt: ::ffi_11::c_int; } @@ -73,12 +73,12 @@ pub fn GetInlineIntVal() -> ::ffi_11::c_int { pub const kAnonEnumConst: ::ffi_11::c_uint = ::ffi_11::new_c_uint(123); pub mod foo { - extern "C" { + unsafe extern "C" { #[link_name = "_ZN3foo21extern_int_namespacedE"] pub static mut extern_int_namespaced: ::ffi_11::c_int; } - extern "C" { + unsafe extern "C" { pub static mut extern_c_int_namespaced: ::ffi_11::c_int; } diff --git a/rs_bindings_from_cc/test/golden/c_abi_compatible_type_rs_api.rs b/rs_bindings_from_cc/test/golden/c_abi_compatible_type_rs_api.rs index 140d18818..775560385 100644 --- a/rs_bindings_from_cc/test/golden/c_abi_compatible_type_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/c_abi_compatible_type_rs_api.rs @@ -52,7 +52,7 @@ pub type MyTypedefDecl = ::ffi_11::c_int; /// * `b`: raw pointer #[inline(always)] pub unsafe fn f(a: crate::MyTypedefDecl, b: *mut ::ffi_11::c_void, c: ::ffi_11::c_int) { - crate::detail::__rust_thunk___Z1fiPvi(a, b, c) + unsafe { crate::detail::__rust_thunk___Z1fiPvi(a, b, c) } } mod detail { diff --git a/rs_bindings_from_cc/test/golden/callables_rs_api.rs b/rs_bindings_from_cc/test/golden/callables_rs_api.rs index 62546fff7..f8a483881 100644 --- a/rs_bindings_from_cc/test/golden/callables_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/callables_rs_api.rs @@ -137,7 +137,7 @@ unsafe impl ::cxx::ExternType for LayoutCompatible { impl LayoutCompatible { #[inline(always)] pub fn Create(x: ::ffi_11::c_int) -> crate::LayoutCompatible { - self::layout_compatible::Create(x) + unsafe { self::layout_compatible::Create(x) } } /// # Safety /// @@ -145,7 +145,7 @@ impl LayoutCompatible { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn get(__this: *const Self) -> ::ffi_11::c_int { - self::layout_compatible::get(__this) + unsafe { self::layout_compatible::get(__this) } } } @@ -167,7 +167,7 @@ pub mod layout_compatible { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn get(__this: *const crate::LayoutCompatible) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___ZNK16LayoutCompatible3getEv(__this) + unsafe { crate::detail::__rust_thunk___ZNK16LayoutCompatible3getEv(__this) } } } diff --git a/rs_bindings_from_cc/test/golden/callables_supported_rs_api.rs b/rs_bindings_from_cc/test/golden/callables_supported_rs_api.rs index 04cce1e90..022514a1f 100644 --- a/rs_bindings_from_cc/test/golden/callables_supported_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/callables_supported_rs_api.rs @@ -73,7 +73,7 @@ unsafe impl ::cxx::ExternType for LayoutCompatible { impl LayoutCompatible { #[inline(always)] pub fn Create(x: ::ffi_11::c_int) -> crate::LayoutCompatible { - self::layout_compatible::Create(x) + unsafe { self::layout_compatible::Create(x) } } /// # Safety /// @@ -81,7 +81,7 @@ impl LayoutCompatible { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn get(__this: *const Self) -> ::ffi_11::c_int { - self::layout_compatible::get(__this) + unsafe { self::layout_compatible::get(__this) } } } @@ -103,7 +103,7 @@ pub mod layout_compatible { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn get(__this: *const crate::LayoutCompatible) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___ZNK16LayoutCompatible3getEv(__this) + unsafe { crate::detail::__rust_thunk___ZNK16LayoutCompatible3getEv(__this) } } } diff --git a/rs_bindings_from_cc/test/golden/compatibility_rs_api.rs b/rs_bindings_from_cc/test/golden/compatibility_rs_api.rs index 38e9b84a0..06cd39601 100644 --- a/rs_bindings_from_cc/test/golden/compatibility_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/compatibility_rs_api.rs @@ -32,14 +32,14 @@ unsafe impl ::cxx::ExternType for CompatibleType { impl CompatibleType { #[inline(always)] pub fn renamed_default_constructor<'a>(self: ::core::pin::Pin<&'a mut Self>) { - self::compatible_type::renamed_default_constructor(self) + unsafe { self::compatible_type::renamed_default_constructor(self) } } #[inline(always)] pub fn renamed_constructor<'a>( self: ::core::pin::Pin<&'a mut Self>, __param_0: ::ffi_11::c_int, ) { - self::compatible_type::renamed_constructor(self, __param_0) + unsafe { self::compatible_type::renamed_constructor(self, __param_0) } } } diff --git a/rs_bindings_from_cc/test/golden/composable_bridging_rs_api.rs b/rs_bindings_from_cc/test/golden/composable_bridging_rs_api.rs index e6beed7b8..9ef5173b0 100644 --- a/rs_bindings_from_cc/test/golden/composable_bridging_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/composable_bridging_rs_api.rs @@ -92,7 +92,9 @@ pub fn MakeMyI8Struct() -> crate::MyOption { /// * `slice`: raw pointer #[inline(always)] pub unsafe fn InspectStringViews(slice: *mut [::cc_std::std::__u::raw_string_view]) { - crate::detail::__rust_thunk___Z18InspectStringViewsN6rs_std8SliceRefINSt3__u17basic_string_viewIcNS1_11char_traitsIcEEEEEE(slice) + unsafe { + crate::detail::__rust_thunk___Z18InspectStringViewsN6rs_std8SliceRefINSt3__u17basic_string_viewIcNS1_11char_traitsIcEEEEEE(slice) + } } #[inline(always)] @@ -110,7 +112,9 @@ pub fn MaybeVoidPtr() -> crate::MyOption<*mut ::ffi_11::c_void> { pub unsafe fn AcceptsSliceAndReturnsStatusErrorIfEmpty( slice: *const [::ffi_11::c_int], ) -> crate::MyOption<*const [::ffi_11::c_int]> { - ::bridge_rust::unstable_return!(@crate::MyOptionAbi(::bridge_rust::transmute_abi::<*const[::ffi_11::c_int]>()),crate::MyOptionAbi<::bridge_rust::TransmuteAbi<*const[::ffi_11::c_int]>>,|__return_abi_buffer|{ crate::detail::__rust_thunk___Z40AcceptsSliceAndReturnsStatusErrorIfEmptyN6rs_std8SliceRefIKiEE(__return_abi_buffer,slice); }) + unsafe { + ::bridge_rust::unstable_return!(@crate::MyOptionAbi(::bridge_rust::transmute_abi::<*const[::ffi_11::c_int]>()),crate::MyOptionAbi<::bridge_rust::TransmuteAbi<*const[::ffi_11::c_int]>>,|__return_abi_buffer|{ crate::detail::__rust_thunk___Z40AcceptsSliceAndReturnsStatusErrorIfEmptyN6rs_std8SliceRefIKiEE(__return_abi_buffer,slice); }) + } } #[inline(always)] 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 9a8c17a8e..282524bad 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 @@ -34,17 +34,17 @@ impl DocCommentSlashes { /// A non-static member function (`const` flavor). #[inline(always)] pub fn get_field_value<'a>(&'a self) -> ::ffi_11::c_int { - self::doc_comment_slashes::get_field_value(self) + unsafe { self::doc_comment_slashes::get_field_value(self) } } /// A non-static member function (non-`const` flavor). #[inline(always)] pub fn set_field_value<'a>(&'a mut self, new_value: ::ffi_11::c_int) { - self::doc_comment_slashes::set_field_value(self, new_value) + unsafe { self::doc_comment_slashes::set_field_value(self, new_value) } } /// A static method. #[inline(always)] pub fn static_method() -> ::ffi_11::c_int { - self::doc_comment_slashes::static_method() + unsafe { self::doc_comment_slashes::static_method() } } } diff --git a/rs_bindings_from_cc/test/golden/inheritance_rs_api.rs b/rs_bindings_from_cc/test/golden/inheritance_rs_api.rs index c3b5646e9..ab6639a2b 100644 --- a/rs_bindings_from_cc/test/golden/inheritance_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/inheritance_rs_api.rs @@ -346,7 +346,7 @@ unsafe impl ::cxx::ExternType for MethodBase1 { impl MethodBase1 { #[inline(always)] pub fn Public<'a>(&'a mut self) { - self::method_base1::Public(self) + unsafe { self::method_base1::Public(self) } } /// # Safety /// @@ -354,15 +354,15 @@ impl MethodBase1 { /// * `__param_0`: raw pointer #[inline(always)] pub unsafe fn Equals<'a>(&'a mut self, __param_0: *const Self) { - self::method_base1::Equals(self, __param_0) + unsafe { self::method_base1::Equals(self, __param_0) } } #[inline(always)] pub fn Colliding1<'a>(&'a mut self) { - self::method_base1::Colliding1(self) + unsafe { self::method_base1::Colliding1(self) } } #[inline(always)] pub fn Colliding2<'a>(&'a mut self) { - self::method_base1::Colliding2(self) + unsafe { self::method_base1::Colliding2(self) } } } @@ -405,7 +405,7 @@ pub mod method_base1 { __this: &'a mut crate::MethodBase1, __param_0: *const crate::MethodBase1, ) { - crate::detail::__rust_thunk___ZN11MethodBase16EqualsEPKS_(__this, __param_0) + unsafe { crate::detail::__rust_thunk___ZN11MethodBase16EqualsEPKS_(__this, __param_0) } } #[inline(always)] pub fn Colliding1<'a>(__this: &'a mut crate::MethodBase1) { @@ -432,11 +432,11 @@ unsafe impl ::cxx::ExternType for MethodBase2 { impl MethodBase2 { #[inline(always)] pub fn Colliding1<'a>(&'a mut self) { - self::method_base2::Colliding1(self) + unsafe { self::method_base2::Colliding1(self) } } #[inline(always)] pub fn Colliding2<'a>(&'a mut self) { - self::method_base2::Colliding2(self) + unsafe { self::method_base2::Colliding2(self) } } } 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 f6b2bca06..0f5eb16d8 100644 --- a/rs_bindings_from_cc/test/golden/lifetimes_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/lifetimes_rs_api.rs @@ -43,7 +43,7 @@ pub fn AddAnotherHookWithTypedef(hook: extern "C" fn()) { /// * `pair`: raw pointer #[inline(always)] pub unsafe fn ConsumeArray(pair: *mut ::ffi_11::c_int) { - crate::detail::__rust_thunk___Z12ConsumeArrayPi(pair) + unsafe { crate::detail::__rust_thunk___Z12ConsumeArrayPi(pair) } } // error: type alias `Arr` could not be bound @@ -55,7 +55,7 @@ pub unsafe fn ConsumeArray(pair: *mut ::ffi_11::c_int) { /// * `__param_0`: raw pointer #[inline(always)] pub unsafe fn ConsumeArrayWithTypedef(__param_0: *mut ::ffi_11::c_int) { - crate::detail::__rust_thunk___Z23ConsumeArrayWithTypedefPi(__param_0) + unsafe { crate::detail::__rust_thunk___Z23ConsumeArrayWithTypedefPi(__param_0) } } mod detail { diff --git a/rs_bindings_from_cc/test/golden/method_access_rs_api.rs b/rs_bindings_from_cc/test/golden/method_access_rs_api.rs index b28bd7823..097dc7c94 100644 --- a/rs_bindings_from_cc/test/golden/method_access_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/method_access_rs_api.rs @@ -32,7 +32,7 @@ impl Struct { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn AccessNone(__this: *mut Self) { - self::r#struct::AccessNone(__this) + unsafe { self::r#struct::AccessNone(__this) } } /// # Safety /// @@ -40,7 +40,7 @@ impl Struct { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn AccessPublic(__this: *mut Self) { - self::r#struct::AccessPublic(__this) + unsafe { self::r#struct::AccessPublic(__this) } } } @@ -62,7 +62,7 @@ pub mod r#struct { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn AccessNone(__this: *mut crate::Struct) { - crate::detail::__rust_thunk___ZN6Struct10AccessNoneEv(__this) + unsafe { crate::detail::__rust_thunk___ZN6Struct10AccessNoneEv(__this) } } /// # Safety /// @@ -70,7 +70,7 @@ pub mod r#struct { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn AccessPublic(__this: *mut crate::Struct) { - crate::detail::__rust_thunk___ZN6Struct12AccessPublicEv(__this) + unsafe { crate::detail::__rust_thunk___ZN6Struct12AccessPublicEv(__this) } } } @@ -93,7 +93,7 @@ impl Class { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn AccessPublic(__this: *mut Self) { - self::class::AccessPublic(__this) + unsafe { self::class::AccessPublic(__this) } } } @@ -115,7 +115,7 @@ pub mod class { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn AccessPublic(__this: *mut crate::Class) { - crate::detail::__rust_thunk___ZN5Class12AccessPublicEv(__this) + unsafe { crate::detail::__rust_thunk___ZN5Class12AccessPublicEv(__this) } } } diff --git a/rs_bindings_from_cc/test/golden/method_qualifiers_rs_api.rs b/rs_bindings_from_cc/test/golden/method_qualifiers_rs_api.rs index 7f15d81b3..2d9d9b54b 100644 --- a/rs_bindings_from_cc/test/golden/method_qualifiers_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/method_qualifiers_rs_api.rs @@ -32,7 +32,7 @@ impl Noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn UnqualifiedMethod(__this: *mut Self) { - self::noninline::UnqualifiedMethod(__this) + unsafe { self::noninline::UnqualifiedMethod(__this) } } /// # Safety /// @@ -40,7 +40,7 @@ impl Noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn LvalueMethod(__this: *mut Self) { - self::noninline::LvalueMethod(__this) + unsafe { self::noninline::LvalueMethod(__this) } } /// # Safety /// @@ -48,7 +48,7 @@ impl Noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn LvalueMethodConst(__this: *const Self) { - self::noninline::LvalueMethodConst(__this) + unsafe { self::noninline::LvalueMethodConst(__this) } } /// # Safety /// @@ -56,7 +56,7 @@ impl Noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn RvalueMethod(__this: *mut Self) { - self::noninline::RvalueMethod(__this) + unsafe { self::noninline::RvalueMethod(__this) } } /// # Safety /// @@ -64,7 +64,7 @@ impl Noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn RvalueMethodConst(__this: *const Self) { - self::noninline::RvalueMethodConst(__this) + unsafe { self::noninline::RvalueMethodConst(__this) } } } @@ -86,7 +86,7 @@ pub mod noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn UnqualifiedMethod(__this: *mut crate::Noninline) { - crate::detail::__rust_thunk___ZN9Noninline17UnqualifiedMethodEv(__this) + unsafe { crate::detail::__rust_thunk___ZN9Noninline17UnqualifiedMethodEv(__this) } } /// # Safety /// @@ -94,7 +94,7 @@ pub mod noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn LvalueMethod(__this: *mut crate::Noninline) { - crate::detail::__rust_thunk___ZNR9Noninline12LvalueMethodEv(__this) + unsafe { crate::detail::__rust_thunk___ZNR9Noninline12LvalueMethodEv(__this) } } /// # Safety /// @@ -102,7 +102,7 @@ pub mod noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn LvalueMethodConst(__this: *const crate::Noninline) { - crate::detail::__rust_thunk___ZNKR9Noninline17LvalueMethodConstEv(__this) + unsafe { crate::detail::__rust_thunk___ZNKR9Noninline17LvalueMethodConstEv(__this) } } /// # Safety /// @@ -110,7 +110,7 @@ pub mod noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn RvalueMethod(__this: *mut crate::Noninline) { - crate::detail::__rust_thunk___ZNO9Noninline12RvalueMethodEv(__this) + unsafe { crate::detail::__rust_thunk___ZNO9Noninline12RvalueMethodEv(__this) } } /// # Safety /// @@ -118,7 +118,7 @@ pub mod noninline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn RvalueMethodConst(__this: *const crate::Noninline) { - crate::detail::__rust_thunk___ZNKO9Noninline17RvalueMethodConstEv(__this) + unsafe { crate::detail::__rust_thunk___ZNKO9Noninline17RvalueMethodConstEv(__this) } } } @@ -141,7 +141,7 @@ impl Inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn UnqualifiedMethod(__this: *mut Self) { - self::inline::UnqualifiedMethod(__this) + unsafe { self::inline::UnqualifiedMethod(__this) } } /// # Safety /// @@ -149,7 +149,7 @@ impl Inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn LvalueMethod(__this: *mut Self) { - self::inline::LvalueMethod(__this) + unsafe { self::inline::LvalueMethod(__this) } } /// # Safety /// @@ -157,7 +157,7 @@ impl Inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn LvalueMethodConst(__this: *const Self) { - self::inline::LvalueMethodConst(__this) + unsafe { self::inline::LvalueMethodConst(__this) } } /// # Safety /// @@ -165,7 +165,7 @@ impl Inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn RvalueMethod(__this: *mut Self) { - self::inline::RvalueMethod(__this) + unsafe { self::inline::RvalueMethod(__this) } } /// # Safety /// @@ -173,7 +173,7 @@ impl Inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn RvalueMethodConst(__this: *const Self) { - self::inline::RvalueMethodConst(__this) + unsafe { self::inline::RvalueMethodConst(__this) } } } @@ -195,7 +195,7 @@ pub mod inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn UnqualifiedMethod(__this: *mut crate::Inline) { - crate::detail::__rust_thunk___ZN6Inline17UnqualifiedMethodEv(__this) + unsafe { crate::detail::__rust_thunk___ZN6Inline17UnqualifiedMethodEv(__this) } } /// # Safety /// @@ -203,7 +203,7 @@ pub mod inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn LvalueMethod(__this: *mut crate::Inline) { - crate::detail::__rust_thunk___ZNR6Inline12LvalueMethodEv(__this) + unsafe { crate::detail::__rust_thunk___ZNR6Inline12LvalueMethodEv(__this) } } /// # Safety /// @@ -211,7 +211,7 @@ pub mod inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn LvalueMethodConst(__this: *const crate::Inline) { - crate::detail::__rust_thunk___ZNKR6Inline17LvalueMethodConstEv(__this) + unsafe { crate::detail::__rust_thunk___ZNKR6Inline17LvalueMethodConstEv(__this) } } /// # Safety /// @@ -219,7 +219,7 @@ pub mod inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn RvalueMethod(__this: *mut crate::Inline) { - crate::detail::__rust_thunk___ZNO6Inline12RvalueMethodEv(__this) + unsafe { crate::detail::__rust_thunk___ZNO6Inline12RvalueMethodEv(__this) } } /// # Safety /// @@ -227,7 +227,7 @@ pub mod inline { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn RvalueMethodConst(__this: *const crate::Inline) { - crate::detail::__rust_thunk___ZNKO6Inline17RvalueMethodConstEv(__this) + unsafe { crate::detail::__rust_thunk___ZNKO6Inline17RvalueMethodConstEv(__this) } } } 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 7203c1e16..44e8c187e 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 @@ -19,7 +19,7 @@ /// * `p1`: raw pointer #[inline(always)] pub unsafe fn free_function(p1: *mut ::ffi_11::c_int) -> *mut ::ffi_11::c_int { - crate::detail::__rust_thunk___Z13free_functionRi(p1) + unsafe { crate::detail::__rust_thunk___Z13free_functionRi(p1) } } #[derive(Clone, Copy, ::ctor::MoveAndAssignViaCopy)] @@ -47,7 +47,7 @@ impl S { p1: *mut ::ffi_11::c_int, p2: *mut ::ffi_11::c_int, ) -> *mut ::ffi_11::c_int { - self::s::const_method(__this, p1, p2) + unsafe { self::s::const_method(__this, p1, p2) } } /// # Safety /// @@ -61,7 +61,7 @@ impl S { p1: *mut ::ffi_11::c_int, p2: *mut ::ffi_11::c_int, ) -> *mut ::ffi_11::c_int { - self::s::method(__this, p1, p2) + unsafe { self::s::method(__this, p1, p2) } } } @@ -89,7 +89,7 @@ pub mod s { p1: *mut ::ffi_11::c_int, p2: *mut ::ffi_11::c_int, ) -> *mut ::ffi_11::c_int { - crate::detail::__rust_thunk___ZNK1S12const_methodERiS0_(__this, p1, p2) + unsafe { crate::detail::__rust_thunk___ZNK1S12const_methodERiS0_(__this, p1, p2) } } /// # Safety /// @@ -103,7 +103,7 @@ pub mod s { p1: *mut ::ffi_11::c_int, p2: *mut ::ffi_11::c_int, ) -> *mut ::ffi_11::c_int { - crate::detail::__rust_thunk___ZN1S6methodERiS0_(__this, p1, p2) + unsafe { crate::detail::__rust_thunk___ZN1S6methodERiS0_(__this, p1, p2) } } } @@ -161,7 +161,9 @@ impl<'__unelided> ::ctor::CtorNew<(&'__unelided Self,)> impl ::ctor::PinnedDrop for TriviallyCopyableButNontriviallyDestructible { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN44TriviallyCopyableButNontriviallyDestructibleD1Ev(self) + unsafe { + crate::detail::__rust_thunk___ZN44TriviallyCopyableButNontriviallyDestructibleD1Ev(self) + } } } @@ -171,7 +173,7 @@ impl ::ctor::PinnedDrop for TriviallyCopyableButNontriviallyDestructible { /// * `p`: raw pointer #[inline(always)] pub unsafe fn take_pointer(p: *mut ::ffi_11::c_int) { - crate::detail::__rust_thunk___Z12take_pointerPi(p) + unsafe { crate::detail::__rust_thunk___Z12take_pointerPi(p) } } #[derive(Clone, Copy, ::ctor::MoveAndAssignViaCopy)] 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 8a5629e72..4a07a29fa 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 @@ -41,7 +41,7 @@ unsafe impl ::cxx::ExternType for Struct { impl Struct { #[inline(always)] pub fn Make(f1: ::ffi_11::c_int, f2: ::ffi_11::c_char) -> crate::Struct { - self::r#struct::Make(f1, f2) + unsafe { self::r#struct::Make(f1, f2) } } } @@ -112,7 +112,7 @@ unsafe impl ::cxx::ExternType for PaddingBetweenFields { impl PaddingBetweenFields { #[inline(always)] pub fn Make(f1: ::ffi_11::c_char, f2: ::ffi_11::c_int) -> crate::PaddingBetweenFields { - self::padding_between_fields::Make(f1, f2) + unsafe { self::padding_between_fields::Make(f1, f2) } } } @@ -205,7 +205,7 @@ impl ::ctor::CtorNew<()> for FieldInTailPadding_InnerStruct { impl ::ctor::PinnedDrop for FieldInTailPadding_InnerStruct { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN30FieldInTailPadding_InnerStructD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN30FieldInTailPadding_InnerStructD1Ev(self) } } } @@ -244,7 +244,7 @@ unsafe impl ::cxx::ExternType for FieldInTailPadding { impl ::ctor::PinnedDrop for FieldInTailPadding { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN18FieldInTailPaddingD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN18FieldInTailPaddingD1Ev(self) } } } diff --git a/rs_bindings_from_cc/test/golden/noexcept_rs_api.rs b/rs_bindings_from_cc/test/golden/noexcept_rs_api.rs index e5fcda779..043749349 100644 --- a/rs_bindings_from_cc/test/golden/noexcept_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/noexcept_rs_api.rs @@ -28,7 +28,7 @@ unsafe impl ::cxx::ExternType for SomeClass { impl SomeClass { #[inline(always)] pub fn create(i: ::ffi_11::c_int, c: ::ffi_11::c_char) { - self::some_class::create(i, c) + unsafe { self::some_class::create(i, c) } } /// # Safety /// @@ -36,7 +36,7 @@ impl SomeClass { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn no_except_member(__this: *mut Self) { - self::some_class::no_except_member(__this) + unsafe { self::some_class::no_except_member(__this) } } /// # Safety /// @@ -44,7 +44,7 @@ impl SomeClass { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn no_except_true_member(__this: *mut Self) { - self::some_class::no_except_true_member(__this) + unsafe { self::some_class::no_except_true_member(__this) } } /// # Safety /// @@ -52,7 +52,7 @@ impl SomeClass { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn no_except_false_member(__this: *mut Self) { - self::some_class::no_except_false_member(__this) + unsafe { self::some_class::no_except_false_member(__this) } } } @@ -78,7 +78,7 @@ pub mod some_class { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn no_except_member(__this: *mut crate::SomeClass) { - crate::detail::__rust_thunk___ZN9SomeClass16no_except_memberEv(__this) + unsafe { crate::detail::__rust_thunk___ZN9SomeClass16no_except_memberEv(__this) } } /// # Safety /// @@ -86,7 +86,7 @@ pub mod some_class { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn no_except_true_member(__this: *mut crate::SomeClass) { - crate::detail::__rust_thunk___ZN9SomeClass21no_except_true_memberEv(__this) + unsafe { crate::detail::__rust_thunk___ZN9SomeClass21no_except_true_memberEv(__this) } } /// # Safety /// @@ -94,7 +94,7 @@ pub mod some_class { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn no_except_false_member(__this: *mut crate::SomeClass) { - crate::detail::__rust_thunk___ZN9SomeClass22no_except_false_memberEv(__this) + unsafe { crate::detail::__rust_thunk___ZN9SomeClass22no_except_false_memberEv(__this) } } } 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 74f5f1244..4bcc40fd7 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 @@ -34,19 +34,19 @@ unsafe impl ::cxx::ExternType for Nontrivial { impl Nontrivial { #[inline(always)] pub fn Unqualified<'a>(self: ::core::pin::Pin<&'a mut Self>) { - self::nontrivial::Unqualified(self) + unsafe { self::nontrivial::Unqualified(self) } } #[inline(always)] pub fn ConstQualified<'a>(&'a self) { - self::nontrivial::ConstQualified(self) + unsafe { self::nontrivial::ConstQualified(self) } } #[inline(always)] pub fn LvalueRefQualified<'a>(self: ::core::pin::Pin<&'a mut Self>) { - self::nontrivial::LvalueRefQualified(self) + unsafe { self::nontrivial::LvalueRefQualified(self) } } #[inline(always)] pub fn ConstLvalueRefQualified<'a>(&'a self) { - self::nontrivial::ConstLvalueRefQualified(self) + unsafe { self::nontrivial::ConstLvalueRefQualified(self) } } } @@ -143,7 +143,7 @@ impl ::ctor::Assign for Nontrivial { impl ::ctor::PinnedDrop for Nontrivial { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN10NontrivialD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN10NontrivialD1Ev(self) } } } @@ -207,7 +207,7 @@ unsafe impl ::cxx::ExternType for NontrivialInline { impl NontrivialInline { #[inline(always)] pub fn MemberFunction<'a>(self: ::core::pin::Pin<&'a mut Self>) { - self::nontrivial_inline::MemberFunction(self) + unsafe { self::nontrivial_inline::MemberFunction(self) } } } @@ -291,7 +291,7 @@ impl ::ctor::CtorNew<(::ffi_11::c_int, ::ffi_11::c_int)> for NontrivialInline { impl ::ctor::PinnedDrop for NontrivialInline { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN16NontrivialInlineD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN16NontrivialInlineD1Ev(self) } } } @@ -347,7 +347,7 @@ impl ::ctor::CtorNew<()> for NontrivialMembers { impl ::ctor::PinnedDrop for NontrivialMembers { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN17NontrivialMembersD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN17NontrivialMembersD1Ev(self) } } } @@ -375,7 +375,7 @@ unsafe impl ::cxx::ExternType for NontrivialUnpin { impl NontrivialUnpin { #[inline(always)] pub fn MemberFunction<'a>(&'a mut self) { - self::nontrivial_unpin::MemberFunction(self) + unsafe { self::nontrivial_unpin::MemberFunction(self) } } } @@ -618,7 +618,7 @@ unsafe impl ::cxx::ExternType for Nonmovable { impl Nonmovable { #[inline(always)] pub fn MemberFunction<'a>(self: ::core::pin::Pin<&'a mut Self>) { - self::nonmovable::MemberFunction(self) + unsafe { self::nonmovable::MemberFunction(self) } } } @@ -639,7 +639,7 @@ impl ::ctor::CtorNew<()> for Nonmovable { impl ::ctor::PinnedDrop for Nonmovable { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN10NonmovableD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN10NonmovableD1Ev(self) } } } 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 c4e244dd8..74a593719 100644 --- a/rs_bindings_from_cc/test/golden/operators_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/operators_rs_api.rs @@ -502,7 +502,7 @@ impl ::ctor::CtorNew<()> for AddableConstMemberNonunpin { impl ::ctor::PinnedDrop for AddableConstMemberNonunpin { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN26AddableConstMemberNonunpinD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN26AddableConstMemberNonunpinD1Ev(self) } } } @@ -889,7 +889,7 @@ unsafe impl ::cxx::ExternType for ManyOperators { impl ManyOperators { #[inline(always)] pub fn unary_plus<'a>(&'a self) -> crate::ManyOperators { - self::many_operators::unary_plus(self) + unsafe { self::many_operators::unary_plus(self) } } } diff --git a/rs_bindings_from_cc/test/golden/overloads_rs_api.rs b/rs_bindings_from_cc/test/golden/overloads_rs_api.rs index 843de55f4..bbebc4863 100644 --- a/rs_bindings_from_cc/test/golden/overloads_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/overloads_rs_api.rs @@ -70,7 +70,7 @@ impl Foo { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn Bar(__this: *mut Self, __param_0: ::ffi_11::c_int) { - self::foo::Bar(__this, __param_0) + unsafe { self::foo::Bar(__this, __param_0) } } } @@ -100,7 +100,7 @@ pub mod foo { /// * `__this`: raw pointer #[inline(always)] pub unsafe fn Bar(__this: *mut crate::Foo, __param_0: ::ffi_11::c_int) { - crate::detail::__rust_thunk___ZN3Foo3BarEi(__this, __param_0) + unsafe { crate::detail::__rust_thunk___ZN3Foo3BarEi(__this, __param_0) } } } diff --git a/rs_bindings_from_cc/test/golden/polymorphic_rs_api.rs b/rs_bindings_from_cc/test/golden/polymorphic_rs_api.rs index eb47d976c..a0a3704ae 100644 --- a/rs_bindings_from_cc/test/golden/polymorphic_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/polymorphic_rs_api.rs @@ -52,14 +52,16 @@ impl ::ctor::CtorNew<()> for PolymorphicBase { impl ::ctor::PinnedDrop for PolymorphicBase { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN15PolymorphicBaseD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN15PolymorphicBaseD1Ev(self) } } } unsafe impl ::operator::Delete for crate::PolymorphicBase { #[inline(always)] unsafe fn delete(p: *mut Self) { - crate::detail::__crubit_operator_delete__15PolymorphicBase___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3apolymorphic_5fcc(p); + unsafe { + crate::detail::__crubit_operator_delete__15PolymorphicBase___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3apolymorphic_5fcc(p); + } } } @@ -78,7 +80,7 @@ unsafe impl ::cxx::ExternType for PolymorphicBase2 { impl PolymorphicBase2 { #[inline(always)] pub fn Foo<'a>(self: ::core::pin::Pin<&'a mut Self>) { - self::polymorphic_base2::Foo(self) + unsafe { self::polymorphic_base2::Foo(self) } } } @@ -108,14 +110,16 @@ impl ::ctor::CtorNew<()> for PolymorphicBase2 { impl ::ctor::PinnedDrop for PolymorphicBase2 { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN16PolymorphicBase2D1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN16PolymorphicBase2D1Ev(self) } } } unsafe impl ::operator::Delete for crate::PolymorphicBase2 { #[inline(always)] unsafe fn delete(p: *mut Self) { - crate::detail::__crubit_operator_delete__16PolymorphicBase2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3apolymorphic_5fcc(p); + unsafe { + crate::detail::__crubit_operator_delete__16PolymorphicBase2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3apolymorphic_5fcc(p); + } } } @@ -164,7 +168,7 @@ impl ::ctor::CtorNew<()> for PolymorphicDerived { impl ::ctor::PinnedDrop for PolymorphicDerived { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN18PolymorphicDerivedD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN18PolymorphicDerivedD1Ev(self) } } } @@ -179,7 +183,9 @@ impl ::ctor::PinnedDrop for PolymorphicDerived { unsafe impl ::operator::Delete for crate::PolymorphicDerived { #[inline(always)] unsafe fn delete(p: *mut Self) { - crate::detail::__crubit_operator_delete__18PolymorphicDerived___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3apolymorphic_5fcc(p); + unsafe { + crate::detail::__crubit_operator_delete__18PolymorphicDerived___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3apolymorphic_5fcc(p); + } } } 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 4d6909795..576156e04 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 @@ -33,11 +33,11 @@ pub mod test_namespace_bindings { impl SomeClass { #[inline(always)] pub fn public_method<'a>(&'a mut self) { - self::some_class::public_method(self) + unsafe { self::some_class::public_method(self) } } #[inline(always)] pub fn public_static_method() { - self::some_class::public_static_method() + unsafe { self::some_class::public_static_method() } } } 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 15e7819cb..5aa3ddc53 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 @@ -32,7 +32,7 @@ impl SomeClass { /// Example of a factory method. #[inline(always)] pub fn static_factory_method(initial_value_of_field: ::ffi_11::c_int) -> crate::SomeClass { - self::some_class::static_factory_method(initial_value_of_field) + unsafe { self::some_class::static_factory_method(initial_value_of_field) } } /// Static method working on primitive types (and unrelated to the struct). #[inline(always)] @@ -40,7 +40,7 @@ impl SomeClass { x: ::ffi_11::c_int, y: ::ffi_11::c_int, ) -> ::ffi_11::c_int { - self::some_class::static_method_that_multiplies_its_args(x, y) + unsafe { self::some_class::static_method_that_multiplies_its_args(x, y) } } } 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 bf48c0671..5bf4a1c64 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 @@ -31,19 +31,19 @@ pub mod ns { impl Trivial { #[inline(always)] pub fn Unqualified<'a>(&'a mut self) { - self::trivial::Unqualified(self) + unsafe { self::trivial::Unqualified(self) } } #[inline(always)] pub fn ConstQualified<'a>(&'a self) { - self::trivial::ConstQualified(self) + unsafe { self::trivial::ConstQualified(self) } } #[inline(always)] pub fn LvalueRefQualified<'a>(&'a mut self) { - self::trivial::LvalueRefQualified(self) + unsafe { self::trivial::LvalueRefQualified(self) } } #[inline(always)] pub fn ConstLvalueRefQualified<'a>(&'a self) { - self::trivial::ConstLvalueRefQualified(self) + unsafe { self::trivial::ConstLvalueRefQualified(self) } } } 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 019617b7f..94b4500ca 100644 --- a/rs_bindings_from_cc/test/golden/types_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/types_rs_api.rs @@ -171,7 +171,7 @@ pub unsafe fn FunctionWithVoidPointers( __param_0: *mut ::ffi_11::c_void, __param_1: *const ::ffi_11::c_void, ) -> *mut ::ffi_11::c_void { - crate::detail::__rust_thunk___Z24FunctionWithVoidPointersPvPKv(__param_0, __param_1) + unsafe { crate::detail::__rust_thunk___Z24FunctionWithVoidPointersPvPKv(__param_0, __param_1) } } mod detail { 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 fbf35f02a..7c67c5f01 100644 --- a/rs_bindings_from_cc/test/golden/unions_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/unions_rs_api.rs @@ -151,7 +151,9 @@ unsafe impl ::cxx::ExternType for TriviallyCopyableButNontriviallyDestructible { impl ::ctor::PinnedDrop for TriviallyCopyableButNontriviallyDestructible { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN44TriviallyCopyableButNontriviallyDestructibleD1Ev(self) + unsafe { + crate::detail::__rust_thunk___ZN44TriviallyCopyableButNontriviallyDestructibleD1Ev(self) + } } } diff --git a/rs_bindings_from_cc/test/golden/unsafe_attrs_rs_api.rs b/rs_bindings_from_cc/test/golden/unsafe_attrs_rs_api.rs index c0d9c981f..4f495a9b4 100644 --- a/rs_bindings_from_cc/test/golden/unsafe_attrs_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/unsafe_attrs_rs_api.rs @@ -34,7 +34,7 @@ pub fn TotallySafe() { /// * `__param_0`: raw pointer #[inline(always)] pub unsafe fn TotallyUnsafe(__param_0: *mut ::ffi_11::c_void) { - crate::detail::__rust_thunk___Z13TotallyUnsafePv(__param_0) + unsafe { crate::detail::__rust_thunk___Z13TotallyUnsafePv(__param_0) } } /// # Safety @@ -42,7 +42,7 @@ pub unsafe fn TotallyUnsafe(__param_0: *mut ::ffi_11::c_void) { /// The C++ function is explicitly annotated as unsafe. Ensure that its safety requirements are upheld. #[inline(always)] pub unsafe fn SafeSignatureButAnnotatedUnsafe() { - crate::detail::__rust_thunk___Z31SafeSignatureButAnnotatedUnsafev() + unsafe { crate::detail::__rust_thunk___Z31SafeSignatureButAnnotatedUnsafev() } } #[inline(always)] @@ -58,7 +58,7 @@ pub fn SafeSignatureButAnnotatedSafe() { /// * `__param_0`: raw pointer #[inline(always)] pub unsafe fn UnsafeSignatureButAnnotatedUnsafe(__param_0: *mut ::ffi_11::c_void) { - crate::detail::__rust_thunk___Z33UnsafeSignatureButAnnotatedUnsafePv(__param_0) + unsafe { crate::detail::__rust_thunk___Z33UnsafeSignatureButAnnotatedUnsafePv(__param_0) } } #[inline(always)] diff --git a/rs_bindings_from_cc/test/golden/unsafe_types_transitive_rs_api.rs b/rs_bindings_from_cc/test/golden/unsafe_types_transitive_rs_api.rs index c320b2bf8..68fabecae 100644 --- a/rs_bindings_from_cc/test/golden/unsafe_types_transitive_rs_api.rs +++ b/rs_bindings_from_cc/test/golden/unsafe_types_transitive_rs_api.rs @@ -139,7 +139,7 @@ impl Default for Union { /// * `p`: raw pointer #[inline(always)] pub unsafe fn DerefPointer(p: *mut ::ffi_11::c_int) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___Z12DerefPointerPi(p) + unsafe { crate::detail::__rust_thunk___Z12DerefPointerPi(p) } } /// # Safety @@ -148,7 +148,7 @@ pub unsafe fn DerefPointer(p: *mut ::ffi_11::c_int) -> ::ffi_11::c_int { /// * `p`: unsafe struct or union #[inline(always)] pub unsafe fn DerefPublicPointer(mut p: crate::PublicPointer) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___Z18DerefPublicPointer13PublicPointer(&mut p) + unsafe { crate::detail::__rust_thunk___Z18DerefPublicPointer13PublicPointer(&mut p) } } /// # Safety @@ -159,7 +159,11 @@ pub unsafe fn DerefPublicPointer(mut p: crate::PublicPointer) -> ::ffi_11::c_int pub unsafe fn DerefTransitivePublicPointer( mut p: crate::TransitivePublicPointer, ) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___Z28DerefTransitivePublicPointer23TransitivePublicPointer(&mut p) + unsafe { + crate::detail::__rust_thunk___Z28DerefTransitivePublicPointer23TransitivePublicPointer( + &mut p, + ) + } } /// # Safety @@ -168,7 +172,7 @@ pub unsafe fn DerefTransitivePublicPointer( /// * `u`: unsafe struct or union #[inline(always)] pub unsafe fn ReadUnion(mut u: crate::Union) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___Z9ReadUnion5Union(&mut u) + unsafe { crate::detail::__rust_thunk___Z9ReadUnion5Union(&mut u) } } mod detail { diff --git a/rs_bindings_from_cc/test/namespace/inline/inline_rs_api.rs b/rs_bindings_from_cc/test/namespace/inline/inline_rs_api.rs index 7729e783c..e75b0177c 100644 --- a/rs_bindings_from_cc/test/namespace/inline/inline_rs_api.rs +++ b/rs_bindings_from_cc/test/namespace/inline/inline_rs_api.rs @@ -57,7 +57,9 @@ pub mod foo { /// Generated from: rs_bindings_from_cc/test/namespace/inline/inline.h;l=15 #[inline(always)] pub unsafe fn GetStructValue1(s: *const crate::foo::inline1::MyStruct) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___ZN3foo7inline115GetStructValue1EPKNS0_8MyStructE(s) + unsafe { + crate::detail::__rust_thunk___ZN3foo7inline115GetStructValue1EPKNS0_8MyStructE(s) + } } /// # Safety @@ -68,7 +70,9 @@ pub mod foo { /// Generated from: rs_bindings_from_cc/test/namespace/inline/inline.h;l=17 #[inline(always)] pub unsafe fn GetStructValue2(s: *const crate::foo::inline1::MyStruct) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___ZN3foo7inline115GetStructValue2EPKNS0_8MyStructE(s) + unsafe { + crate::detail::__rust_thunk___ZN3foo7inline115GetStructValue2EPKNS0_8MyStructE(s) + } } /// # Safety @@ -79,7 +83,9 @@ pub mod foo { /// Generated from: rs_bindings_from_cc/test/namespace/inline/inline.h;l=26 #[inline(always)] pub unsafe fn GetStructValue3(s: *const crate::foo::inline1::MyStruct) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___ZN3foo7inline115GetStructValue3EPKNS0_8MyStructE(s) + unsafe { + crate::detail::__rust_thunk___ZN3foo7inline115GetStructValue3EPKNS0_8MyStructE(s) + } } /// # Safety @@ -90,7 +96,9 @@ pub mod foo { /// Generated from: rs_bindings_from_cc/test/namespace/inline/inline.h;l=27 #[inline(always)] pub unsafe fn GetStructValue4(s: *const crate::foo::inline1::MyStruct) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___ZN3foo7inline115GetStructValue4EPKNS0_8MyStructE(s) + unsafe { + crate::detail::__rust_thunk___ZN3foo7inline115GetStructValue4EPKNS0_8MyStructE(s) + } } } #[allow(unused_imports)] diff --git a/rs_bindings_from_cc/test/namespace/nested_items/nested_items_rs_api.rs b/rs_bindings_from_cc/test/namespace/nested_items/nested_items_rs_api.rs index b82a6d555..bd1009655 100644 --- a/rs_bindings_from_cc/test/namespace/nested_items/nested_items_rs_api.rs +++ b/rs_bindings_from_cc/test/namespace/nested_items/nested_items_rs_api.rs @@ -46,7 +46,7 @@ impl Same { /// Generated from: rs_bindings_from_cc/test/namespace/nested_items/nested_items.h;l=25 #[inline(always)] pub unsafe fn Method(__this: *mut Self) -> ::ffi_11::c_int { - self::same_items::Method(__this) + unsafe { self::same_items::Method(__this) } } } @@ -71,7 +71,7 @@ pub mod same_items { /// Generated from: rs_bindings_from_cc/test/namespace/nested_items/nested_items.h;l=25 #[inline(always)] pub unsafe fn Method(__this: *mut crate::Same) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___ZN4Same6MethodEv(__this) + unsafe { crate::detail::__rust_thunk___ZN4Same6MethodEv(__this) } } /// Generated from: rs_bindings_from_cc/test/namespace/nested_items/nested_items.h;l=16 #[derive(Clone, Copy, ::ctor::MoveAndAssignViaCopy)] @@ -95,7 +95,7 @@ pub mod same_items { /// Generated from: rs_bindings_from_cc/test/namespace/nested_items/nested_items.h;l=17 #[inline(always)] pub unsafe fn NestedItemFunction(__this: *mut Self) -> ::ffi_11::c_int { - self::nested_item::NestedItemFunction(__this) + unsafe { self::nested_item::NestedItemFunction(__this) } } } @@ -122,7 +122,9 @@ pub mod same_items { pub unsafe fn NestedItemFunction( __this: *mut crate::same_items::NestedItem, ) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___ZN4Same10NestedItem18NestedItemFunctionEv(__this) + unsafe { + crate::detail::__rust_thunk___ZN4Same10NestedItem18NestedItemFunctionEv(__this) + } } } @@ -192,7 +194,7 @@ pub mod foo { /// Generated from: rs_bindings_from_cc/test/namespace/nested_items/nested_items.h;l=32 #[inline(always)] pub fn BFunction() -> ::ffi_11::c_int { - self::foo_items::BFunction() + unsafe { self::foo_items::BFunction() } } } diff --git a/rs_bindings_from_cc/test/struct/constructors/constructors_rs_api.rs b/rs_bindings_from_cc/test/struct/constructors/constructors_rs_api.rs index a0c2efd31..602c88bc1 100644 --- a/rs_bindings_from_cc/test/struct/constructors/constructors_rs_api.rs +++ b/rs_bindings_from_cc/test/struct/constructors/constructors_rs_api.rs @@ -639,7 +639,7 @@ impl ::ctor::CtorNew<(::ffi_11::c_int,)> for NonTrivialStructWithConstructors { impl ::ctor::PinnedDrop for NonTrivialStructWithConstructors { #[inline(always)] unsafe fn pinned_drop<'__this>(self: ::core::pin::Pin<&'__this mut Self>) { - crate::detail::__rust_thunk___ZN32NonTrivialStructWithConstructorsD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN32NonTrivialStructWithConstructorsD1Ev(self) } } } diff --git a/rs_bindings_from_cc/test/struct/default_member_functions/default_member_functions_rs_api.rs b/rs_bindings_from_cc/test/struct/default_member_functions/default_member_functions_rs_api.rs index 0362f5dbe..5a256cea5 100644 --- a/rs_bindings_from_cc/test/struct/default_member_functions/default_member_functions_rs_api.rs +++ b/rs_bindings_from_cc/test/struct/default_member_functions/default_member_functions_rs_api.rs @@ -64,7 +64,7 @@ unsafe impl ::cxx::ExternType for UncopyableDespiteDecl { impl ::ctor::PinnedDrop for UncopyableDespiteDecl { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN21UncopyableDespiteDeclD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN21UncopyableDespiteDeclD1Ev(self) } } } diff --git a/rs_bindings_from_cc/test/struct/destructors/destructors_rs_api.rs b/rs_bindings_from_cc/test/struct/destructors/destructors_rs_api.rs index c56368c68..0005cd283 100644 --- a/rs_bindings_from_cc/test/struct/destructors/destructors_rs_api.rs +++ b/rs_bindings_from_cc/test/struct/destructors/destructors_rs_api.rs @@ -33,17 +33,17 @@ impl DestructionOrderRecorder { /// Generated from: rs_bindings_from_cc/test/struct/destructors/destructors.h;l=34 #[inline(always)] pub fn RecordDestruction(int_field: ::ffi_11::c_int) { - self::destruction_order_recorder::RecordDestruction(int_field) + unsafe { self::destruction_order_recorder::RecordDestruction(int_field) } } /// Generated from: rs_bindings_from_cc/test/struct/destructors/destructors.h;l=35 #[inline(always)] pub fn GetDestructionRecord() -> ::ffi_11::c_int { - self::destruction_order_recorder::GetDestructionRecord() + unsafe { self::destruction_order_recorder::GetDestructionRecord() } } /// Generated from: rs_bindings_from_cc/test/struct/destructors/destructors.h;l=36 #[inline(always)] pub fn ClearDestructionRecord() { - self::destruction_order_recorder::ClearDestructionRecord() + unsafe { self::destruction_order_recorder::ClearDestructionRecord() } } } @@ -168,7 +168,7 @@ impl FieldDestructionOrderTester { field2: ::ffi_11::c_int, field3: ::ffi_11::c_int, ) { - self::field_destruction_order_tester::DestructFromCpp(field1, field2, field3) + unsafe { self::field_destruction_order_tester::DestructFromCpp(field1, field2, field3) } } } diff --git a/rs_bindings_from_cc/test/struct/inheritance/inherited_methods_rs_api.rs b/rs_bindings_from_cc/test/struct/inheritance/inherited_methods_rs_api.rs index a6e4aa09a..b9eb2bc5a 100644 --- a/rs_bindings_from_cc/test/struct/inheritance/inherited_methods_rs_api.rs +++ b/rs_bindings_from_cc/test/struct/inheritance/inherited_methods_rs_api.rs @@ -62,7 +62,7 @@ impl Base { /// Generated from: rs_bindings_from_cc/test/struct/inheritance/inherited_methods.h;l=17 #[inline(always)] pub fn has_bindings<'__this>(&'__this self) -> bool { - self::base::has_bindings(self) + unsafe { self::base::has_bindings(self) } } /// Generated from: rs_bindings_from_cc/test/struct/inheritance/inherited_methods.h;l=19 #[inline(always)] @@ -70,7 +70,7 @@ impl Base { where for<'error> &'error (): BindingFailedFor_ZNK4Base11no_bindingsE10Nonmovable, { - self::base::no_bindings(self, __param_0) + unsafe { self::base::no_bindings(self, __param_0) } } } @@ -129,7 +129,7 @@ impl Derived { /// Generated from: rs_bindings_from_cc/test/struct/inheritance/inherited_methods.h;l=17 #[inline(always)] pub fn has_bindings<'__this>(&'__this self) -> bool { - self::derived::has_bindings(oops::Upcast::<_>::upcast(self)) + unsafe { self::derived::has_bindings(oops::Upcast::<_>::upcast(self)) } } /// Generated from: rs_bindings_from_cc/test/struct/inheritance/inherited_methods.h;l=19 #[inline(always)] @@ -137,7 +137,7 @@ impl Derived { where for<'error> &'error (): BindingFailedFor_7Derived__ZNK4Base11no_bindingsE10Nonmovable, { - self::derived::no_bindings(oops::Upcast::<_>::upcast(self), __param_0) + unsafe { self::derived::no_bindings(oops::Upcast::<_>::upcast(self), __param_0) } } } @@ -160,7 +160,7 @@ pub trait BindingFailedFor_7Derived__ZNK4Base11no_bindingsE10Nonmovable {} unsafe impl oops::Inherits for crate::Derived { unsafe fn upcast_ptr(derived: *const Self) -> *const crate::Base { - (derived as *const _ as *const u8).offset(0) as *const crate::Base + unsafe { (derived as *const _ as *const u8).offset(0) as *const crate::Base } } } diff --git a/rs_bindings_from_cc/test/struct/methods/methods_rs_api.rs b/rs_bindings_from_cc/test/struct/methods/methods_rs_api.rs index 5a5582735..91abdfaec 100644 --- a/rs_bindings_from_cc/test/struct/methods/methods_rs_api.rs +++ b/rs_bindings_from_cc/test/struct/methods/methods_rs_api.rs @@ -31,7 +31,7 @@ impl SomeClass { /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=10 #[inline(always)] pub fn static_factory_method(int_var_initial_value: ::ffi_11::c_int) -> crate::SomeClass { - self::some_class::static_factory_method(int_var_initial_value) + unsafe { self::some_class::static_factory_method(int_var_initial_value) } } /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=11 #[inline(always)] @@ -39,7 +39,7 @@ impl SomeClass { x: ::ffi_11::c_int, y: ::ffi_11::c_int, ) -> ::ffi_11::c_int { - self::some_class::static_method_that_multiplies_its_args(x, y) + unsafe { self::some_class::static_method_that_multiplies_its_args(x, y) } } /// Using an `inline` method forces generation of a C++ thunk in /// methods_rs_api_impl.cc (helping add test coverage for such thunks). @@ -47,7 +47,7 @@ impl SomeClass { /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=16 #[inline(always)] pub fn static_inline_method(arg: ::ffi_11::c_int) -> ::ffi_11::c_int { - self::some_class::static_inline_method(arg) + unsafe { self::some_class::static_inline_method(arg) } } } @@ -115,22 +115,22 @@ impl InstanceMethods { /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=26 #[inline(always)] pub fn get_int_field(&self) -> ::ffi_11::c_int { - self::instance_methods::get_int_field(self) + unsafe { self::instance_methods::get_int_field(self) } } /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=27 #[inline(always)] pub fn set_int_field(&mut self, new_value: ::ffi_11::c_int) { - self::instance_methods::set_int_field(self, new_value) + unsafe { self::instance_methods::set_int_field(self, new_value) } } /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=29 #[inline(always)] pub fn inline_get_int_field(&self) -> ::ffi_11::c_int { - self::instance_methods::inline_get_int_field(self) + unsafe { self::instance_methods::inline_get_int_field(self) } } /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=30 #[inline(always)] pub fn inline_set_int_field(&mut self, new_value: ::ffi_11::c_int) { - self::instance_methods::inline_set_int_field(self, new_value) + unsafe { self::instance_methods::inline_set_int_field(self, new_value) } } /// # Safety /// @@ -143,22 +143,22 @@ impl InstanceMethods { &mut self, input_ref: *mut ::ffi_11::c_int, ) -> *mut ::ffi_11::c_int { - self::instance_methods::takes_and_returns_ref(self, input_ref) + unsafe { self::instance_methods::takes_and_returns_ref(self, input_ref) } } /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=32 #[inline(always)] pub fn ref_qualified(&mut self) { - self::instance_methods::ref_qualified(self) + unsafe { self::instance_methods::ref_qualified(self) } } /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=33 #[inline(always)] pub fn const_ref_qualified(&self) { - self::instance_methods::const_ref_qualified(self) + unsafe { self::instance_methods::const_ref_qualified(self) } } /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=34 #[inline(always)] pub fn rvalue_qualified(&mut self) { - self::instance_methods::rvalue_qualified(self) + unsafe { self::instance_methods::rvalue_qualified(self) } } } @@ -214,9 +214,11 @@ pub mod instance_methods { __this: &mut crate::InstanceMethods, input_ref: *mut ::ffi_11::c_int, ) -> *mut ::ffi_11::c_int { - crate::detail::__rust_thunk___ZN15InstanceMethods21takes_and_returns_refERi( - __this, input_ref, - ) + unsafe { + crate::detail::__rust_thunk___ZN15InstanceMethods21takes_and_returns_refERi( + __this, input_ref, + ) + } } /// Generated from: rs_bindings_from_cc/test/struct/methods/methods.h;l=32 #[inline(always)] diff --git a/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers_rs_api.rs b/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers_rs_api.rs index 3ae20b5fa..a4496a08b 100644 --- a/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers_rs_api.rs +++ b/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers_rs_api.rs @@ -35,41 +35,45 @@ impl UnpinStructWithRefQualifiedMethods { /// Generated from: rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h;l=12 #[inline(always)] pub fn increment_i<'a>(&'a mut self) { - self::unpin_struct_with_ref_qualified_methods::increment_i(self) + unsafe { self::unpin_struct_with_ref_qualified_methods::increment_i(self) } } /// Generated from: rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h;l=13 #[inline(always)] pub fn unqualified_get_i<'a>(&'a mut self) -> ::ffi_11::c_int { - self::unpin_struct_with_ref_qualified_methods::unqualified_get_i(self) + unsafe { self::unpin_struct_with_ref_qualified_methods::unqualified_get_i(self) } } /// Generated from: rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h;l=14 #[inline(always)] pub fn const_qualified_get_i<'a>(&'a self) -> ::ffi_11::c_int { - self::unpin_struct_with_ref_qualified_methods::const_qualified_get_i(self) + unsafe { self::unpin_struct_with_ref_qualified_methods::const_qualified_get_i(self) } } /// Generated from: rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h;l=15 #[inline(always)] pub fn lvalue_ref_qualified_get_i<'a>(&'a mut self) -> ::ffi_11::c_int { - self::unpin_struct_with_ref_qualified_methods::lvalue_ref_qualified_get_i(self) + unsafe { self::unpin_struct_with_ref_qualified_methods::lvalue_ref_qualified_get_i(self) } } /// Generated from: rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h;l=16 #[inline(always)] pub fn const_lvalue_ref_qualified_get_i<'a>(&'a self) -> ::ffi_11::c_int { - self::unpin_struct_with_ref_qualified_methods::const_lvalue_ref_qualified_get_i(self) + unsafe { + self::unpin_struct_with_ref_qualified_methods::const_lvalue_ref_qualified_get_i(self) + } } /// Generated from: rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h;l=17 #[inline(always)] pub fn rvalue_ref_qualified_get_i<'a>( self: ::ctor::RvalueReference<'a, Self>, ) -> ::ffi_11::c_int { - self::unpin_struct_with_ref_qualified_methods::rvalue_ref_qualified_get_i(self) + unsafe { self::unpin_struct_with_ref_qualified_methods::rvalue_ref_qualified_get_i(self) } } /// Generated from: rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h;l=18 #[inline(always)] pub fn const_rvalue_ref_qualified_get_i<'a>( self: ::ctor::ConstRvalueReference<'a, Self>, ) -> ::ffi_11::c_int { - self::unpin_struct_with_ref_qualified_methods::const_rvalue_ref_qualified_get_i(self) + unsafe { + self::unpin_struct_with_ref_qualified_methods::const_rvalue_ref_qualified_get_i(self) + } } } diff --git a/rs_bindings_from_cc/test/templates/type_alias/type_alias_rs_api.rs b/rs_bindings_from_cc/test/templates/type_alias/type_alias_rs_api.rs index c7fb6703d..e869dfe62 100644 --- a/rs_bindings_from_cc/test/templates/type_alias/type_alias_rs_api.rs +++ b/rs_bindings_from_cc/test/templates/type_alias/type_alias_rs_api.rs @@ -44,12 +44,12 @@ impl __CcTemplateInst10MyTemplateIiE { /// Generated from: rs_bindings_from_cc/test/templates/type_alias/type_alias.h;l=13 #[inline(always)] pub fn Create(value: ::ffi_11::c_int) -> crate::__CcTemplateInst10MyTemplateIiE { - self::cc_template_inst10_my_template_ii_e::Create(value) + unsafe { self::cc_template_inst10_my_template_ii_e::Create(value) } } /// Generated from: rs_bindings_from_cc/test/templates/type_alias/type_alias.h;l=19 #[inline(always)] pub fn value<'__this>(&'__this self) -> ::cref::CRef<'__this, ::ffi_11::c_int> { - self::cc_template_inst10_my_template_ii_e::value(self) + unsafe { self::cc_template_inst10_my_template_ii_e::value(self) } } } diff --git a/rs_bindings_from_cc/test/types_only/types_only_rs_api.rs b/rs_bindings_from_cc/test/types_only/types_only_rs_api.rs index 0605a4e09..02cfbcfda 100644 --- a/rs_bindings_from_cc/test/types_only/types_only_rs_api.rs +++ b/rs_bindings_from_cc/test/types_only/types_only_rs_api.rs @@ -168,7 +168,7 @@ impl ::ctor::Assign<::ctor::RvalueReference<'_, Self>> for Cloneable { impl ::ctor::PinnedDrop for Cloneable { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN9CloneableD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN9CloneableD1Ev(self) } } } @@ -257,7 +257,7 @@ impl ::ctor::Assign<::ctor::RvalueReference<'_, Self>> for Movable { impl ::ctor::PinnedDrop for Movable { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN7MovableD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN7MovableD1Ev(self) } } } diff --git a/rs_bindings_from_cc/test/wrapper/fallback_types/wrapper_library_rs_api.rs b/rs_bindings_from_cc/test/wrapper/fallback_types/wrapper_library_rs_api.rs index 0609616f3..f5579581f 100644 --- a/rs_bindings_from_cc/test/wrapper/fallback_types/wrapper_library_rs_api.rs +++ b/rs_bindings_from_cc/test/wrapper/fallback_types/wrapper_library_rs_api.rs @@ -32,7 +32,7 @@ pub(crate) unsafe fn SetValue( x: *mut ::forward_declare::Incomplete<::forward_declare::symbol!("UnsupportedType"), ()>, value: ::ffi_11::c_int, ) { - crate::detail::__rust_thunk___Z8SetValueR15UnsupportedTypei(x, value) + unsafe { crate::detail::__rust_thunk___Z8SetValueR15UnsupportedTypei(x, value) } } /// # Safety @@ -45,7 +45,7 @@ pub(crate) unsafe fn SetValue( pub(crate) unsafe fn GetValue( x: *const ::forward_declare::Incomplete<::forward_declare::symbol!("UnsupportedType"), ()>, ) -> ::ffi_11::c_int { - crate::detail::__rust_thunk___Z8GetValueRK15UnsupportedType(x) + unsafe { crate::detail::__rust_thunk___Z8GetValueRK15UnsupportedType(x) } } #[path = "rs_bindings_from_cc/test/wrapper/fallback_types/wrapper_library_extra.rs"] diff --git a/rs_bindings_from_cc/test/wrapper/impl_ctor/impl_ctor_rs_api.rs b/rs_bindings_from_cc/test/wrapper/impl_ctor/impl_ctor_rs_api.rs index 0849d8f86..3fbb720e5 100644 --- a/rs_bindings_from_cc/test/wrapper/impl_ctor/impl_ctor_rs_api.rs +++ b/rs_bindings_from_cc/test/wrapper/impl_ctor/impl_ctor_rs_api.rs @@ -98,7 +98,7 @@ impl ::ctor::Assign<::ctor::RvalueReference<'_, Self>> for Nontrivial { impl ::ctor::PinnedDrop for Nontrivial { #[inline(always)] unsafe fn pinned_drop<'a>(self: ::core::pin::Pin<&'a mut Self>) { - crate::detail::__rust_thunk___ZN10NontrivialD1Ev(self) + unsafe { crate::detail::__rust_thunk___ZN10NontrivialD1Ev(self) } } } diff --git a/rs_bindings_from_cc/test/wrapper/pub_crate_types/pub_crate_types_rs_api.rs b/rs_bindings_from_cc/test/wrapper/pub_crate_types/pub_crate_types_rs_api.rs index 52eae252b..6fe147526 100644 --- a/rs_bindings_from_cc/test/wrapper/pub_crate_types/pub_crate_types_rs_api.rs +++ b/rs_bindings_from_cc/test/wrapper/pub_crate_types/pub_crate_types_rs_api.rs @@ -64,7 +64,7 @@ pub(crate) fn GetTemplateInt() -> crate::__CcTemplateInst8TemplateIiE { } } -extern "C" { +unsafe extern "C" { pub(crate) static mut TemplateConstant: crate::__CcTemplateInst8TemplateIiE; } @@ -89,7 +89,7 @@ forward_declare::forward_declare!(pub ForwardDeclared = forward_declare::symbol! /// Generated from: rs_bindings_from_cc/test/wrapper/pub_crate_types/pub_crate_types.h;l=42 #[inline(always)] pub unsafe fn OtherPubCrateTypes(__param_0: *mut ::other_pub_crate_types::ForwardDeclared2) { - crate::detail::__rust_thunk___Z18OtherPubCrateTypesP16ForwardDeclared2(__param_0) + unsafe { crate::detail::__rust_thunk___Z18OtherPubCrateTypesP16ForwardDeclared2(__param_0) } } /// Templates, otoh, are pub(crate), but work because templates are already diff --git a/support/cc_std_impl/string.rs b/support/cc_std_impl/string.rs index 84b3f30b9..aa2a7b17f 100644 --- a/support/cc_std_impl/string.rs +++ b/support/cc_std_impl/string.rs @@ -304,8 +304,11 @@ pub unsafe extern "C" fn cpp_string_to_rust_string(input: *mut c_void, output: * // SAFETY: `input` is a valid `std::string` so it can be safely moved. let owned_cpp_string = unsafe { conversion_function_helpers::StringMoveOwnedPtr(input) }; if let Some(ptr) = NonNull::new(owned_cpp_string) { - let output = &mut *(output as *mut MaybeUninit); - output.as_mut_ptr().write(string_wrapper { owned_cpp_string: ptr }); + // SAFETY: `output` is a valid buffer for a `string_wrapper`. + unsafe { + let output = &mut *(output as *mut MaybeUninit); + output.as_mut_ptr().write(string_wrapper { owned_cpp_string: ptr }); + } } else { panic!("Failed to create owned string"); } diff --git a/support/cc_std_impl/string_view.rs b/support/cc_std_impl/string_view.rs index 14737a8f0..96c7ce1c3 100644 --- a/support/cc_std_impl/string_view.rs +++ b/support/cc_std_impl/string_view.rs @@ -265,7 +265,7 @@ impl raw_string_view { /// Similarly, the use of `&self` is not actually a protection against the bytes being /// concurrently modified. pub unsafe fn as_static_live(&'static self) -> string_view<'static> { - self.as_live() + unsafe { self.as_live() } } } diff --git a/support/cc_std_impl/vector.rs b/support/cc_std_impl/vector.rs index 443f765f3..6be02fe16 100644 --- a/support/cc_std_impl/vector.rs +++ b/support/cc_std_impl/vector.rs @@ -23,7 +23,7 @@ use core::slice::SliceIndex; use crate::crubit_cc_std_internal::std_allocator as cpp_std_allocator; -extern "C" { +unsafe extern "C" { // https://github.com/llvm/llvm-project/blob/9d0616ce52fc2a75c8e4808adec41d5189f4240c/compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h#L70 #[cfg(sanitize = "address")] fn __sanitizer_annotate_contiguous_container( @@ -658,7 +658,7 @@ unsafe fn create_vec_from_raw_parts( if begin.is_null() { Vec::new_in(cpp_std_allocator::StdAllocator {}) } else { - Vec::from_raw_parts_in(begin, len, capacity, cpp_std_allocator::StdAllocator {}) + unsafe { Vec::from_raw_parts_in(begin, len, capacity, cpp_std_allocator::StdAllocator {}) } } }