blob: 547bdfa7514be378d1212a530b7416a20ab81b12 [file]
// Part of the Crubit project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
// Automatically @generated C++ bindings for the following Rust crate:
// example_crate_golden
// clang-format off
#ifndef EXAMPLES_RUST_USE_DECLARATION_EXAMPLE_CRATE_GOLDEN
#define EXAMPLES_RUST_USE_DECLARATION_EXAMPLE_CRATE_GOLDEN
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreturn-type-c-linkage"
#pragma clang diagnostic ignored "-Wunused-private-field"
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
#pragma clang diagnostic ignored "-Wignored-attributes"
#pragma clang diagnostic ignored "-Wshadow"
#include "support/annotations_internal.h"
#include <cstddef>
#include <cstdint>
#include <type_traits>
namespace example_crate {
struct CRUBIT_INTERNAL_RUST_TYPE(":: example_crate_golden :: Type") alignas(4)
[[clang::trivial_abi]] Type final {
public:
::std::int32_t x{};
private:
static void __crubit_field_offset_assertions();
};
void function();
} // namespace example_crate
namespace example_crate::module {
using Type CRUBIT_INTERNAL_RUST_TYPE(":: example_crate_golden :: Type") =
::example_crate::Type;
}
namespace example_crate {
static_assert(
sizeof(::example_crate::Type) == 4,
"Verify that ADT layout didn't change since this header got generated");
static_assert(
alignof(::example_crate::Type) == 4,
"Verify that ADT layout didn't change since this header got generated");
static_assert(::std::is_trivially_destructible_v<::example_crate::Type>);
static_assert(::std::is_trivially_move_constructible_v<::example_crate::Type>);
static_assert(::std::is_trivially_move_assignable_v<::example_crate::Type>);
inline void ::example_crate::Type::__crubit_field_offset_assertions() {
using __crubit_assert_type = ::example_crate::Type;
static_assert(0 == offsetof(__crubit_assert_type, x));
}
} // namespace example_crate
namespace example_crate::module {
using ::example_crate::function;
}
namespace example_crate {
namespace __crubit_internal {
extern "C" void __crubit_thunk_function();
}
inline void function() { return __crubit_internal::__crubit_thunk_function(); }
} // namespace example_crate
#pragma clang diagnostic pop
#endif // EXAMPLES_RUST_USE_DECLARATION_EXAMPLE_CRATE_GOLDEN