mirror of
https://github.com/apple/swift.git
synced 2026-10-30 22:15:52 +01:00
For now, Swift doesn't provide a way to extract an element out of `std::variant`. This adds a test to check that we still import instantiations of `std::variant` into Swift. rdar://155050719
17 lines
628 B
C++
17 lines
628 B
C++
#include <string>
|
|
#include <variant>
|
|
|
|
using StdVariantIntOrString = std::variant<int, std::string>;
|
|
inline StdVariantIntOrString getStdVariantInt() { return {123}; }
|
|
inline StdVariantIntOrString getStdVariantString() { return {"abc"}; }
|
|
|
|
struct HasDeletedCopyCtor {
|
|
int value;
|
|
HasDeletedCopyCtor(int value) : value(value) {}
|
|
HasDeletedCopyCtor(const HasDeletedCopyCtor &other) = delete;
|
|
HasDeletedCopyCtor(HasDeletedCopyCtor &&other) = default;
|
|
};
|
|
|
|
using StdVariantIntOrNonCopyable = std::variant<HasDeletedCopyCtor, int>;
|
|
inline StdVariantIntOrNonCopyable getStdVariantNonCopyable() { return HasDeletedCopyCtor(123); }
|