blob: 745d02e31e444e1f4b52130c8a7e906f94947993 [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
#ifndef THIRD_PARTY_CRUBIT_RS_BINDINGS_FROM_CC_TEST_ANNOTATIONS_DO_NOT_BIND_H_
#define THIRD_PARTY_CRUBIT_RS_BINDINGS_FROM_CC_TEST_ANNOTATIONS_DO_NOT_BIND_H_
#include "support/annotations.h"
namespace crubit::test {
struct ArgumentToBoundOverload {};
struct ArgumentToUnboundOverload {};
CRUBIT_DO_NOT_BIND inline void DoNotBindFn(ArgumentToUnboundOverload) {}
inline void DoNotBindFn(ArgumentToBoundOverload) {}
struct CRUBIT_DO_NOT_BIND DoNotBindStruct {
struct StructNestedInsideDoNotBindStruct {};
DoNotBindStruct() = default;
void MethodOfDoNotBindStruct() {}
};
inline void FunctionWithDoNotBindArgument(DoNotBindStruct) {}
struct StructWithDoNotBindConstructor {
CRUBIT_DO_NOT_BIND explicit StructWithDoNotBindConstructor(
ArgumentToUnboundOverload) {}
explicit StructWithDoNotBindConstructor(ArgumentToBoundOverload) {}
};
struct StructWithDoNotBindMethod {
CRUBIT_DO_NOT_BIND void DoNotBindMethod(ArgumentToUnboundOverload) {}
void DoNotBindMethod(ArgumentToBoundOverload) {}
};
} // namespace crubit::test
#endif // THIRD_PARTY_CRUBIT_RS_BINDINGS_FROM_CC_TEST_ANNOTATIONS_DO_NOT_BIND_H_