* Add the conventional `return 0` to `main` in `variant.assign/conv.pass.cpp` and `variant.ctor/conv.pass.cpp`
* Fix some MSVC signed-to-unsigned conversion warnings by replacing `int` literarls with `unsigned int` literals
llvm-svn: 374723
static_assert(!std::is_assignable<std::variant<bool>, std::unique_ptr<char> >::value, "");
static_assert(!std::is_assignable<std::variant<bool>, decltype(nullptr)>::value, "");
+ return 0;
}
{
using V = std::variant<int, CopyAssign, unsigned>;
CopyAssign::reset();
- V v1(std::in_place_type<unsigned>, 43);
+ V v1(std::in_place_type<unsigned>, 43u);
V v2(std::in_place_type<CopyAssign>, 42);
assert(CopyAssign::copy_construct == 0);
assert(CopyAssign::move_construct == 0);
struct {
constexpr Result<long> operator()() const {
using V = std::variant<int, TMoveAssign, unsigned>;
- V v(std::in_place_type<unsigned>, 43);
+ V v(std::in_place_type<unsigned>, 43u);
V v2(std::in_place_type<TMoveAssign>, 42);
v = std::move(v2);
return {v.index(), std::get<1>(v).value};
static_assert(!std::is_constructible<std::variant<bool>, std::true_type>::value, "");
static_assert(!std::is_constructible<std::variant<bool>, std::unique_ptr<char> >::value, "");
static_assert(!std::is_constructible<std::variant<bool>, decltype(nullptr)>::value, "");
-
+
+ return 0;
}
assert(&std::get<3>(v) == &z);
assert(&ref4 == &std::get<3>(v));
// emplace with multiple args
- auto& ref5 = v.emplace<5>(3, 'a');
+ auto& ref5 = v.emplace<5>(3u, 'a');
static_assert(std::is_same_v<std::string&, decltype(ref5)>, "");
assert(std::get<5>(v) == "aaa");
assert(&ref5 == &std::get<5>(v));
assert(&std::get<int &&>(v) == &z);
assert(&ref4 == &std::get<int &&>(v));
// emplace with multiple args
- auto& ref5 = v.emplace<std::string>(3, 'a');
+ auto& ref5 = v.emplace<std::string>(3u, 'a');
static_assert(std::is_same_v<std::string&, decltype(ref5)>, "");
assert(std::get<std::string>(v) == "aaa");
assert(&ref5 == &std::get<std::string>(v));