build: CTAD for quantity is not supported by clang

This commit is contained in:
Mateusz Pusz
2021-10-20 19:58:31 +02:00
parent 6eae368ad4
commit 240ec3a460
2 changed files with 4 additions and 0 deletions

View File

@@ -383,8 +383,10 @@ public:
};
// CTAD
#if !UNITS_COMP_CLANG || UNITS_COMP_CLANG > 13
template<typename D, typename U, typename Rep>
explicit(false) quantity(Rep&&) -> quantity<D, U, Rep>;
#endif
template<Representation Rep>
explicit(false) quantity(Rep) -> quantity<dim_one, one, Rep>;

View File

@@ -273,8 +273,10 @@ static_assert(get_length_derived_quantity() == 1_q_m);
// CTAD
/////////
#if !UNITS_COMP_CLANG || UNITS_COMP_CLANG > 13
static_assert(std::is_same_v<decltype(units::aliases::isq::si::m(123))::rep, int>);
static_assert(std::is_same_v<decltype(units::aliases::isq::si::m(123.))::rep, double>);
#endif
static_assert(is_same_v<decltype(quantity{length<metre, int>(123)}), length<metre, int>>);
static_assert(is_same_v<decltype(quantity{speed<metre_per_second>(123)}), speed<metre_per_second>>);