| #if 0 | |
| ''' ' | |
| #endif | |
| #ifdef __cplusplus | |
| template <typename T> | |
| using ManuallyDrop = T; | |
| #endif | |
| #if 0 | |
| ' ''' | |
| #endif | |
| #include <cstdarg> | |
| #include <cstdint> | |
| #include <cstdlib> | |
| #include <ostream> | |
| #include <new> | |
| template<typename T = void> | |
| struct NotReprC; | |
| struct Point { | |
| int32_t x; | |
| int32_t y; | |
| }; | |
| using Foo = NotReprC<ManuallyDrop<Point>>; | |
| struct MyStruct { | |
| ManuallyDrop<Point> point; | |
| }; | |
| extern "C" { | |
| void root(const Foo *a, const MyStruct *with_manual_drop); | |
| void take(ManuallyDrop<Point> with_manual_drop); | |
| } // extern "C" |