Skip to content

Commit 3f6372b

Browse files
authored
[const.wrap.class] Add missing this to compound assignment operators (#8758)
This corrects a misapplication of LWG4383 in commit bdcfe2c.
1 parent 4ce955b commit 3f6372b

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

source/meta.tex

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -822,34 +822,34 @@
822822
-> constant_wrapper<Y--> { return {}; }
823823

824824
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
825-
constexpr auto operator+=(T, R) noexcept
825+
constexpr auto operator+=(this T, R) noexcept
826826
-> constant_wrapper<(T::value += R::value)> { return {}; }
827827
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
828-
constexpr auto operator-=(T, R) noexcept
828+
constexpr auto operator-=(this T, R) noexcept
829829
-> constant_wrapper<(T::value -= R::value)> { return {}; }
830830
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
831-
constexpr auto operator*=(T, R) noexcept
831+
constexpr auto operator*=(this T, R) noexcept
832832
-> constant_wrapper<(T::value *= R::value)> { return {}; }
833833
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
834-
constexpr auto operator/=(T, R) noexcept
834+
constexpr auto operator/=(this T, R) noexcept
835835
-> constant_wrapper<(T::value /= R::value)> { return {}; }
836836
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
837-
constexpr auto operator%=(T, R) noexcept
837+
constexpr auto operator%=(this T, R) noexcept
838838
-> constant_wrapper<(T::value %= R::value)> { return {}; }
839839
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
840-
constexpr auto operator&=(T, R) noexcept
840+
constexpr auto operator&=(this T, R) noexcept
841841
-> constant_wrapper<(T::value &= R::value)> { return {}; }
842842
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
843-
constexpr auto operator|=(T, R) noexcept
843+
constexpr auto operator|=(this T, R) noexcept
844844
-> constant_wrapper<(T::value |= R::value)> { return {}; }
845845
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
846-
constexpr auto operator^=(T, R) noexcept
846+
constexpr auto operator^=(this T, R) noexcept
847847
-> constant_wrapper<(T::value ^= R::value)> { return {}; }
848848
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
849-
constexpr auto operator<<=(T, R) noexcept
849+
constexpr auto operator<<=(this T, R) noexcept
850850
-> constant_wrapper<(T::value <<= R::value)> { return {}; }
851851
template<@\exposconcept{constexpr-param}@ T, @\exposconcept{constexpr-param}@ R>
852-
constexpr auto operator>>=(T, R) noexcept
852+
constexpr auto operator>>=(this T, R) noexcept
853853
-> constant_wrapper<(T::value >>= R::value)> { return {}; }
854854
};
855855

0 commit comments

Comments
 (0)