blob: 29e60d8696692c8a775b2e2778dc89bfb51e5d5e [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"
Lukasz Anforowicz121338a2022-11-01 14:28:32 -070013
14// Public headers of the C++ library being wrapped.
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070015#include "rs_bindings_from_cc/test/golden/namespace.h"
16
17#pragma clang diagnostic push
18#pragma clang diagnostic ignored "-Wthread-safety-analysis"
19extern "C" void __rust_thunk___ZN23test_namespace_bindings1SC1Ev(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070020 struct test_namespace_bindings::S* __this) {
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070021 crubit::construct_at(__this);
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070022}
Devin Jeanpierre56413252022-06-02 18:48:24 -070023extern "C" void __rust_thunk___ZN23test_namespace_bindings1SC1EOS0_(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070024 struct test_namespace_bindings::S* __this,
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070025 struct test_namespace_bindings::S* __param_0) {
26 crubit::construct_at(__this, std::move(*__param_0));
Devin Jeanpierre56413252022-06-02 18:48:24 -070027}
Rosica Dejanovskaa08b3862022-06-02 08:22:49 -070028extern "C" void
29__rust_thunk___ZN23test_namespace_bindings15inline_functionEv() {
30 test_namespace_bindings::inline_function();
31}
Rosica Dejanovska6efd17f2022-05-11 08:09:57 -070032extern "C" void __rust_thunk___ZN32test_namespace_bindings_reopened5inner1SC1Ev(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070033 struct test_namespace_bindings_reopened::inner::S* __this) {
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070034 crubit::construct_at(__this);
Rosica Dejanovska6efd17f2022-05-11 08:09:57 -070035}
36extern "C" void
Devin Jeanpierre56413252022-06-02 18:48:24 -070037__rust_thunk___ZN32test_namespace_bindings_reopened5inner1SC1EOS1_(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070038 struct test_namespace_bindings_reopened::inner::S* __this,
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070039 struct test_namespace_bindings_reopened::inner::S* __param_0) {
40 crubit::construct_at(__this, std::move(*__param_0));
Devin Jeanpierre56413252022-06-02 18:48:24 -070041}
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070042extern "C" void
43__rust_thunk___ZN30test_namespace_bindings_inline5inner23StructInInlineNamespaceC1Ev(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070044 struct test_namespace_bindings_inline::inner::StructInInlineNamespace*
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070045 __this) {
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070046 crubit::construct_at(__this);
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070047}
48extern "C" void
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070049__rust_thunk___ZN30test_namespace_bindings_inline5inner23StructInInlineNamespaceC1EOS1_(
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070050 struct test_namespace_bindings_inline::inner::StructInInlineNamespace*
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070051 __this,
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070052 struct test_namespace_bindings_inline::inner::StructInInlineNamespace*
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070053 __param_0) {
Lukasz Anforowicz07b33902022-07-13 15:27:03 -070054 crubit::construct_at(__this, std::move(*__param_0));
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070055}
Lukasz Anforowicz4e2e0162022-09-01 07:07:32 -070056extern "C" void __rust_thunk___ZN4impl3fooEv() { impl::foo(); }
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070057
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070058static_assert(sizeof(struct test_namespace_bindings::S) == 4);
59static_assert(alignof(struct test_namespace_bindings::S) == 4);
60static_assert(CRUBIT_OFFSET_OF(i, struct test_namespace_bindings::S) == 0);
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070061
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070062static_assert(sizeof(struct test_namespace_bindings_reopened::inner::S) == 1);
63static_assert(alignof(struct test_namespace_bindings_reopened::inner::S) == 1);
Rosica Dejanovska6efd17f2022-05-11 08:09:57 -070064
Lukasz Anforowiczd4742ff2022-07-11 17:05:02 -070065static_assert(sizeof(struct test_namespace_bindings_inline::inner::
66 StructInInlineNamespace) == 1);
67static_assert(alignof(struct test_namespace_bindings_inline::inner::
68 StructInInlineNamespace) == 1);
Rosica Dejanovska4180ffe2022-06-09 06:01:05 -070069
Rosica Dejanovskadd9a9032022-04-12 07:34:41 -070070#pragma clang diagnostic pop