| // 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_ |