blob: 2fcc9c9804776b8baf08af8373dc4001849da478 [file] [log] [blame]
// 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 Rust bindings for the following C++ target:
// //rs_bindings_from_cc/test/golden:templates_cc
// Features: experimental, non_extern_c_functions, supported
#include "support/internal/cxx20_backports.h"
#include "support/internal/offsetof.h"
#include "support/internal/sizeof.h"
#include <cstddef>
#include <memory>
// Public headers of the C++ library being wrapped.
#include "rs_bindings_from_cc/test/golden/templates.h"
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wthread-safety-analysis"
static_assert(sizeof(struct DifferentScope) == 1);
static_assert(alignof(struct DifferentScope) == 1);
extern "C" void __rust_thunk___ZN14DifferentScopeC1Ev(
struct DifferentScope* __this) {
crubit::construct_at(__this);
}
extern "C" void __rust_thunk___ZN14DifferentScopeC1EOS_(
struct DifferentScope* __this, struct DifferentScope* __param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" struct DifferentScope* __rust_thunk___ZN14DifferentScopeaSERKS_(
struct DifferentScope* __this, const struct DifferentScope* __param_0) {
return &__this->operator=(*__param_0);
}
extern "C" struct DifferentScope* __rust_thunk___ZN14DifferentScopeaSEOS_(
struct DifferentScope* __this, struct DifferentScope* __param_0) {
return &__this->operator=(std::move(*__param_0));
}
static_assert(sizeof(struct test_namespace_bindings::TemplateParam) == 1);
static_assert(alignof(struct test_namespace_bindings::TemplateParam) == 1);
extern "C" void __rust_thunk___ZN23test_namespace_bindings13TemplateParamC1Ev(
struct test_namespace_bindings::TemplateParam* __this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings13TemplateParamC1EOS0_(
struct test_namespace_bindings::TemplateParam* __this,
struct test_namespace_bindings::TemplateParam* __param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" struct test_namespace_bindings::TemplateParam*
__rust_thunk___ZN23test_namespace_bindings13TemplateParamaSERKS0_(
struct test_namespace_bindings::TemplateParam* __this,
const struct test_namespace_bindings::TemplateParam* __param_0) {
return &__this->operator=(*__param_0);
}
extern "C" struct test_namespace_bindings::TemplateParam*
__rust_thunk___ZN23test_namespace_bindings13TemplateParamaSEOS0_(
struct test_namespace_bindings::TemplateParam* __this,
struct test_namespace_bindings::TemplateParam* __param_0) {
return &__this->operator=(std::move(*__param_0));
}
static_assert(sizeof(class private_classes::HasPrivateType) == 1);
static_assert(alignof(class private_classes::HasPrivateType) == 1);
extern "C" void __rust_thunk___ZN15private_classes14HasPrivateTypeC1EOS0_(
class private_classes::HasPrivateType* __this,
class private_classes::HasPrivateType* __param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" class private_classes::HasPrivateType*
__rust_thunk___ZN15private_classes14HasPrivateTypeaSERKS0_(
class private_classes::HasPrivateType* __this,
const class private_classes::HasPrivateType* __param_0) {
return &__this->operator=(*__param_0);
}
extern "C" class private_classes::HasPrivateType*
__rust_thunk___ZN15private_classes14HasPrivateTypeaSEOS0_(
class private_classes::HasPrivateType* __this,
class private_classes::HasPrivateType* __param_0) {
return &__this->operator=(std::move(*__param_0));
}
static_assert(
sizeof(class test_namespace_bindings::MyTemplate<DifferentScope>) == 1);
static_assert(
alignof(class test_namespace_bindings::MyTemplate<DifferentScope>) == 1);
extern "C" void
__rust_thunk___ZN23test_namespace_bindings10MyTemplateI14DifferentScopeEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<DifferentScope>* __this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings10MyTemplateI14DifferentScopeEC1EOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<DifferentScope>* __this,
class test_namespace_bindings::MyTemplate<DifferentScope>* __param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" class test_namespace_bindings::MyTemplate<DifferentScope>*
__rust_thunk___ZN23test_namespace_bindings10MyTemplateI14DifferentScopeEaSERKS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<DifferentScope>* __this,
const class test_namespace_bindings::MyTemplate<DifferentScope>*
__param_0) {
return &__this->operator=(*__param_0);
}
extern "C" class test_namespace_bindings::MyTemplate<DifferentScope>*
__rust_thunk___ZN23test_namespace_bindings10MyTemplateI14DifferentScopeEaSEOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<DifferentScope>* __this,
class test_namespace_bindings::MyTemplate<DifferentScope>* __param_0) {
return &__this->operator=(std::move(*__param_0));
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings10MyTemplateI14DifferentScopeE6CreateES1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<DifferentScope>* __return,
struct DifferentScope* value) {
new (__return) auto(
test_namespace_bindings::MyTemplate<DifferentScope>::Create(
std::move(*value)));
}
extern "C" const struct DifferentScope*
__rust_thunk___ZNK23test_namespace_bindings10MyTemplateI14DifferentScopeE5valueEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
const class test_namespace_bindings::MyTemplate<DifferentScope>* __this) {
return &__this->value();
}
static_assert(sizeof(class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>) == 1);
static_assert(alignof(class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>) == 1);
extern "C" void
__rust_thunk___ZN23test_namespace_bindings10MyTemplateINS_13TemplateParamEEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>* __this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings10MyTemplateINS_13TemplateParamEEC1EOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>* __this,
class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>* __param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>*
__rust_thunk___ZN23test_namespace_bindings10MyTemplateINS_13TemplateParamEEaSERKS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>* __this,
const class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>* __param_0) {
return &__this->operator=(*__param_0);
}
extern "C" class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>*
__rust_thunk___ZN23test_namespace_bindings10MyTemplateINS_13TemplateParamEEaSEOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>* __this,
class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>* __param_0) {
return &__this->operator=(std::move(*__param_0));
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings10MyTemplateINS_13TemplateParamEE6CreateES1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>* __return,
struct test_namespace_bindings::TemplateParam* value) {
new (__return) auto(
test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>::Create(std::move(*value)));
}
extern "C" const struct test_namespace_bindings::TemplateParam*
__rust_thunk___ZNK23test_namespace_bindings10MyTemplateINS_13TemplateParamEE5valueEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
const class test_namespace_bindings::MyTemplate<
test_namespace_bindings::TemplateParam>* __this) {
return &__this->value();
}
static_assert(CRUBIT_SIZEOF(class test_namespace_bindings::MyTemplate<int>) ==
4);
static_assert(alignof(class test_namespace_bindings::MyTemplate<int>) == 4);
extern "C" void
__rust_thunk___ZN23test_namespace_bindings10MyTemplateIiEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<int>* __this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings10MyTemplateIiEC1EOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<int>* __this,
class test_namespace_bindings::MyTemplate<int>* __param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" class test_namespace_bindings::MyTemplate<int>*
__rust_thunk___ZN23test_namespace_bindings10MyTemplateIiEaSERKS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<int>* __this,
const class test_namespace_bindings::MyTemplate<int>* __param_0) {
return &__this->operator=(*__param_0);
}
extern "C" class test_namespace_bindings::MyTemplate<int>*
__rust_thunk___ZN23test_namespace_bindings10MyTemplateIiEaSEOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<int>* __this,
class test_namespace_bindings::MyTemplate<int>* __param_0) {
return &__this->operator=(std::move(*__param_0));
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings10MyTemplateIiE6CreateEi__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class test_namespace_bindings::MyTemplate<int>* __return, int value) {
new (__return) auto(test_namespace_bindings::MyTemplate<int>::Create(value));
}
extern "C" int const*
__rust_thunk___ZNK23test_namespace_bindings10MyTemplateIiE5valueEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
const class test_namespace_bindings::MyTemplate<int>* __this) {
return &__this->value();
}
static_assert(
CRUBIT_SIZEOF(
struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>) ==
12);
static_assert(
alignof(struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>) ==
4);
static_assert(
CRUBIT_OFFSET_OF(
value1,
struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>) ==
0);
static_assert(
CRUBIT_OFFSET_OF(
value2,
struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>) ==
8);
extern "C" void
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsINS0_IiiEEiEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>*
__this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsINS0_IiiEEiEC1EOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>* __this,
struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>*
__param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>*
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsINS0_IiiEEiEaSERKS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>* __this,
const struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>*
__param_0) {
return &__this->operator=(*__param_0);
}
extern "C" struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>*
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsINS0_IiiEEiEaSEOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>* __this,
struct test_namespace_bindings::TemplateWithTwoParams<
test_namespace_bindings::TemplateWithTwoParams<int, int>, int>*
__param_0) {
return &__this->operator=(std::move(*__param_0));
}
static_assert(
CRUBIT_SIZEOF(
struct test_namespace_bindings::TemplateWithTwoParams<int, float>) ==
8);
static_assert(
alignof(
struct test_namespace_bindings::TemplateWithTwoParams<int, float>) ==
4);
static_assert(
CRUBIT_OFFSET_OF(
value1,
struct test_namespace_bindings::TemplateWithTwoParams<int, float>) ==
0);
static_assert(
CRUBIT_OFFSET_OF(
value2,
struct test_namespace_bindings::TemplateWithTwoParams<int, float>) ==
4);
extern "C" void
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsIifEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<int, float>* __this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsIifEC1EOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<int, float>* __this,
struct test_namespace_bindings::TemplateWithTwoParams<int, float>*
__param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" struct test_namespace_bindings::TemplateWithTwoParams<int, float>*
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsIifEaSERKS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<int, float>* __this,
const struct test_namespace_bindings::TemplateWithTwoParams<int, float>*
__param_0) {
return &__this->operator=(*__param_0);
}
extern "C" struct test_namespace_bindings::TemplateWithTwoParams<int, float>*
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsIifEaSEOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<int, float>* __this,
struct test_namespace_bindings::TemplateWithTwoParams<int, float>*
__param_0) {
return &__this->operator=(std::move(*__param_0));
}
static_assert(
CRUBIT_SIZEOF(
struct test_namespace_bindings::TemplateWithTwoParams<int, int>) == 8);
static_assert(
alignof(struct test_namespace_bindings::TemplateWithTwoParams<int, int>) ==
4);
static_assert(
CRUBIT_OFFSET_OF(
value1,
struct test_namespace_bindings::TemplateWithTwoParams<int, int>) == 0);
static_assert(
CRUBIT_OFFSET_OF(
value2,
struct test_namespace_bindings::TemplateWithTwoParams<int, int>) == 4);
extern "C" void
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsIiiEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<int, int>* __this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsIiiEC1EOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<int, int>* __this,
struct test_namespace_bindings::TemplateWithTwoParams<int, int>*
__param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" struct test_namespace_bindings::TemplateWithTwoParams<int, int>*
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsIiiEaSERKS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<int, int>* __this,
const struct test_namespace_bindings::TemplateWithTwoParams<int, int>*
__param_0) {
return &__this->operator=(*__param_0);
}
extern "C" struct test_namespace_bindings::TemplateWithTwoParams<int, int>*
__rust_thunk___ZN23test_namespace_bindings21TemplateWithTwoParamsIiiEaSEOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::TemplateWithTwoParams<int, int>* __this,
struct test_namespace_bindings::TemplateWithTwoParams<int, int>*
__param_0) {
return &__this->operator=(std::move(*__param_0));
}
static_assert(sizeof(struct test_namespace_bindings::MyStruct<char>) == 1);
static_assert(alignof(struct test_namespace_bindings::MyStruct<char>) == 1);
extern "C" void
__rust_thunk___ZN23test_namespace_bindings8MyStructIcEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::MyStruct<char>* __this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN23test_namespace_bindings8MyStructIcEC1EOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::MyStruct<char>* __this,
struct test_namespace_bindings::MyStruct<char>* __param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" struct test_namespace_bindings::MyStruct<char>*
__rust_thunk___ZN23test_namespace_bindings8MyStructIcEaSERKS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::MyStruct<char>* __this,
const struct test_namespace_bindings::MyStruct<char>* __param_0) {
return &__this->operator=(*__param_0);
}
extern "C" struct test_namespace_bindings::MyStruct<char>*
__rust_thunk___ZN23test_namespace_bindings8MyStructIcEaSEOS1___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct test_namespace_bindings::MyStruct<char>* __this,
struct test_namespace_bindings::MyStruct<char>* __param_0) {
return &__this->operator=(std::move(*__param_0));
}
static_assert(
sizeof(struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>) ==
1);
static_assert(
alignof(
struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>) ==
1);
static_assert(
CRUBIT_OFFSET_OF(
value,
struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>) ==
0);
extern "C" void
__rust_thunk___ZN18MyTopLevelTemplateIN23test_namespace_bindings13TemplateParamEEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>* __this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN18MyTopLevelTemplateIN23test_namespace_bindings13TemplateParamEEC1EOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>* __this,
struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>*
__param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>*
__rust_thunk___ZN18MyTopLevelTemplateIN23test_namespace_bindings13TemplateParamEEaSERKS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>* __this,
const struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>*
__param_0) {
return &__this->operator=(*__param_0);
}
extern "C" struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>*
__rust_thunk___ZN18MyTopLevelTemplateIN23test_namespace_bindings13TemplateParamEEaSEOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>* __this,
struct MyTopLevelTemplate<test_namespace_bindings::TemplateParam>*
__param_0) {
return &__this->operator=(std::move(*__param_0));
}
static_assert(sizeof(class template_template_params::MyTemplate<
template_template_params::Policy>) == 1);
static_assert(alignof(class template_template_params::MyTemplate<
template_template_params::Policy>) == 1);
extern "C" void
__rust_thunk___ZN24template_template_params10MyTemplateINS_6PolicyEEC1Ev__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class template_template_params::MyTemplate<
template_template_params::Policy>* __this) {
crubit::construct_at(__this);
}
extern "C" void
__rust_thunk___ZN24template_template_params10MyTemplateINS_6PolicyEEC1EOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class template_template_params::MyTemplate<
template_template_params::Policy>* __this,
class template_template_params::MyTemplate<
template_template_params::Policy>* __param_0) {
crubit::construct_at(__this, std::move(*__param_0));
}
extern "C" class template_template_params::MyTemplate<
template_template_params::Policy>*
__rust_thunk___ZN24template_template_params10MyTemplateINS_6PolicyEEaSERKS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class template_template_params::MyTemplate<
template_template_params::Policy>* __this,
const class template_template_params::MyTemplate<
template_template_params::Policy>* __param_0) {
return &__this->operator=(*__param_0);
}
extern "C" class template_template_params::MyTemplate<
template_template_params::Policy>*
__rust_thunk___ZN24template_template_params10MyTemplateINS_6PolicyEEaSEOS2___2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc(
class template_template_params::MyTemplate<
template_template_params::Policy>* __this,
class template_template_params::MyTemplate<
template_template_params::Policy>* __param_0) {
return &__this->operator=(std::move(*__param_0));
}
extern "C" int
__rust_thunk___ZN24template_template_params10MyTemplateINS_6PolicyEE9GetPolicyEv__2f_2fthird_5fparty_2fcrubit_2frs_5fbindings_5ffrom_5fcc_2ftest_2fgolden_3atemplates_5fcc() {
return template_template_params::MyTemplate<
template_template_params::Policy>::GetPolicy();
}
#pragma clang diagnostic pop