diff --git a/example/measurement.cpp b/example/measurement.cpp index f517cbaa..935ef345 100644 --- a/example/measurement.cpp +++ b/example/measurement.cpp @@ -81,7 +81,7 @@ public: #if __GNUC__ >= 10 [[nodiscard]] friend constexpr auto operator<=>(const measurement& lhs, const measurement& rhs) = default; - [[nodiscard]] friend constexpr bool operator==(const measurement& lhs, const measurement& rhs) = default; + [[nodiscard]] friend constexpr bool operator==(const measurement& lhs, const measurement& rhs) = default; // TODO op== not needed (gcc bug) #else diff --git a/src/include/units/base_dimension.h b/src/include/units/base_dimension.h index 5b8d020f..40dbc1bc 100644 --- a/src/include/units/base_dimension.h +++ b/src/include/units/base_dimension.h @@ -50,7 +50,7 @@ namespace units { template requires U::is_named struct base_dimension { - using base_type_workaround = base_dimension; // TODO Replace with is_derived_from_instantiation when fixed + using base_type_workaround = base_dimension; // TODO Replace with is_base_dimension when fixed static constexpr auto symbol = Symbol; using base_unit = U; }; diff --git a/src/include/units/quantity.h b/src/include/units/quantity.h index acbc276b..c8789c4e 100644 --- a/src/include/units/quantity.h +++ b/src/include/units/quantity.h @@ -220,6 +220,8 @@ public: return *this; } + // Hidden Friends + // Below friend functions are to be found via argument-dependent lookup only #if __GNUC__ >= 10 template @@ -355,7 +357,7 @@ template [[nodiscard]] constexpr Quantity AUTO operator*(const quantity& lhs, const quantity& rhs) - requires detail::basic_arithmetic && (!equivalent_dim>) // TODO equivalent_derived_dim? + requires detail::basic_arithmetic && (!equivalent_dim>) { using dim = dimension_multiply; using ratio1 = ratio_divide::ratio>; @@ -405,7 +407,7 @@ template [[nodiscard]] constexpr Quantity AUTO operator/(const quantity& lhs, const quantity& rhs) - requires detail::basic_arithmetic && (!equivalent_dim) // TODO equivalent_derived_dim? + requires detail::basic_arithmetic && (!equivalent_dim) { Expects(rhs.count() != 0); diff --git a/src/include/units/unit.h b/src/include/units/unit.h index 7ce63081..0a4cf121 100644 --- a/src/include/units/unit.h +++ b/src/include/units/unit.h @@ -135,10 +135,6 @@ struct named_scaled_unit : downcast_child requires std::same_as -// TODO replace with the below code when gcc will stop to crash on it ;-) -// struct prefixed_unit : named_scaled_unit, -// typename U::reference> {}; struct prefixed_unit : downcast_child, typename U::reference>> { static constexpr bool is_named = true;