blob: 77d0683bc84f2fcd6c0941a41f001e85a24aa1b2 [file] [log] [blame]
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -07001// Part of the Crubit project, under the Apache License v2.0 with LLVM
2// Exceptions. See /LICENSE for license information.
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
Lukasz Anforowicz19e057d2022-10-28 12:03:23 -07005// Automatically @generated Rust bindings for the following C++ target:
6// //rs_bindings_from_cc/test/golden:namespace_cc
7
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -07008#include <cstddef>
9#include <memory>
10
11#include "rs_bindings_from_cc/support/cxx20_backports.h"
Lukasz Anforowicz4ee9c222022-04-13 09:33:36 -070012#include "rs_bindings_from_cc/support/offsetof.h"
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070013#include "rs_bindings_from_cc/test/golden/namespace.h"
14
15#pragma clang diagnostic push
16#pragma clang diagnostic ignored "-Wthread-safety-analysis"
17extern "C" void __rust_thunk___ZN23test_namespace_bindings1SC1Ev(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070018 struct test_namespace_bindings::S* __this) {
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070019 crubit::construct_at(__this);
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070020}
Devin Jeanpierre56413252022-06-02 18:48:24 -070021extern "C" void __rust_thunk___ZN23test_namespace_bindings1SC1EOS0_(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070022 struct test_namespace_bindings::S* __this,
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070023 struct test_namespace_bindings::S* __param_0) {
24 crubit::construct_at(__this, std::move(*__param_0));
Devin Jeanpierre56413252022-06-02 18:48:24 -070025}
Rosica Dejanovskaa08b3862022-06-02 08:22:49 -070026extern "C" void
27__rust_thunk___ZN23test_namespace_bindings15inline_functionEv() {
28 test_namespace_bindings::inline_function();
29}
Rosica Dejanovska6efd17f2022-05-11 08:09:57 -070030extern "C" void __rust_thunk___ZN32test_namespace_bindings_reopened5inner1SC1Ev(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070031 struct test_namespace_bindings_reopened::inner::S* __this) {
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070032 crubit::construct_at(__this);
Rosica Dejanovska6efd17f2022-05-11 08:09:57 -070033}
34extern "C" void
Devin Jeanpierre56413252022-06-02 18:48:24 -070035__rust_thunk___ZN32test_namespace_bindings_reopened5inner1SC1EOS1_(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070036 struct test_namespace_bindings_reopened::inner::S* __this,
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070037 struct test_namespace_bindings_reopened::inner::S* __param_0) {
38 crubit::construct_at(__this, std::move(*__param_0));
Devin Jeanpierre56413252022-06-02 18:48:24 -070039}
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070040extern "C" void
41__rust_thunk___ZN30test_namespace_bindings_inline5inner23StructInInlineNamespaceC1Ev(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070042 struct test_namespace_bindings_inline::inner::StructInInlineNamespace*
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070043 __this) {
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070044 crubit::construct_at(__this);
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070045}
46extern "C" void
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070047__rust_thunk___ZN30test_namespace_bindings_inline5inner23StructInInlineNamespaceC1EOS1_(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070048 struct test_namespace_bindings_inline::inner::StructInInlineNamespace*
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070049 __this,
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070050 struct test_namespace_bindings_inline::inner::StructInInlineNamespace*
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070051 __param_0) {
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070052 crubit::construct_at(__this, std::move(*__param_0));
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070053}
Lukasz Anforowicz4e2e0162022-09-01 07:07:32 -070054extern "C" void __rust_thunk___ZN4impl3fooEv() { impl::foo(); }
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070055
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070056static_assert(sizeof(struct test_namespace_bindings::S) == 4);
57static_assert(alignof(struct test_namespace_bindings::S) == 4);
58static_assert(CRUBIT_OFFSET_OF(i, struct test_namespace_bindings::S) == 0);
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070059
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070060static_assert(sizeof(struct test_namespace_bindings_reopened::inner::S) == 1);
61static_assert(alignof(struct test_namespace_bindings_reopened::inner::S) == 1);
Rosica Dejanovska6efd17f2022-05-11 08:09:57 -070062
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070063static_assert(sizeof(struct test_namespace_bindings_inline::inner::
64 StructInInlineNamespace) == 1);
65static_assert(alignof(struct test_namespace_bindings_inline::inner::
66 StructInInlineNamespace) == 1);
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070067
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070068#pragma clang diagnostic pop