forked from mpusz/mp-units
refactor!: require explicit number for references
Addresses: - https://github.com/mpusz/units/pull/261#discussion_r596651065 - https://github.com/mpusz/units/pull/261#discussion_r596664550 - https://github.com/mpusz/units/pull/261#discussion_r597132294
This commit is contained in:
committed by
Mateusz Pusz
parent
6d9abe97e5
commit
0b87e7c99c
@@ -324,9 +324,9 @@ concept invalid_compound_assignments = requires() {
|
||||
requires !requires(length<Kilometre, int> l) { l %= dimensionless<percent, double>(2); };
|
||||
|
||||
// TODO: accept non-truncating argument
|
||||
requires !requires(length<Kilometre, int> l) { l *= 1 * km / m; };
|
||||
requires !requires(length<Kilometre, int> l) { l /= 1 * km / m; };
|
||||
requires !requires(length<Kilometre, int> l) { l %= 1 * km / m; };
|
||||
requires !requires(length<Kilometre, int> l) { l *= 1 * (km / m); };
|
||||
requires !requires(length<Kilometre, int> l) { l /= 1 * (km / m); };
|
||||
requires !requires(length<Kilometre, int> l) { l %= 1 * (km / m); };
|
||||
|
||||
// only quantities can be added or subtracted
|
||||
requires !requires(length<Metre, int> l) { l += 2; };
|
||||
@@ -559,8 +559,8 @@ static_assert((10_q_s * 2_q_kHz).count() == 20);
|
||||
|
||||
// unit constants
|
||||
|
||||
static_assert(2_q_m * m == (2_q_m2));
|
||||
static_assert(2_q_m2 / m == (2_q_m));
|
||||
static_assert(2_q_m * (1 * m) == (2_q_m2));
|
||||
static_assert(2_q_m2 / (1 * m) == (2_q_m));
|
||||
|
||||
|
||||
// dimensionless
|
||||
@@ -601,8 +601,8 @@ static_assert((quantity{std::uint8_t(0)} - quantity{std::uint8_t(1)}).count() ==
|
||||
static_assert(is_same_v<decltype((quantity{std::uint8_t(0)} % quantity{std::uint8_t(0)}).count()),
|
||||
decltype(std::uint8_t(0) % std::uint8_t(0))>);
|
||||
|
||||
static_assert(quantity{2} * m == 2_q_m);
|
||||
static_assert(quantity{2} / m == 2 / 1_q_m);
|
||||
static_assert(quantity{2} * (1 * m) == 2_q_m);
|
||||
static_assert(quantity{2} / (1 * m) == 2 / 1_q_m);
|
||||
|
||||
|
||||
///////////////////////
|
||||
|
Reference in New Issue
Block a user