#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" |