Bug 1838863 - Fix deprecated-copy warnings in js/public. r=iain

These files get included in `security/` code we compile with `-Wextra` (which implies `-Wdeprecated-copy`).

Clang complains because these classes have user-declared copy constructors but we're relying
on implicit copy assignment operators

Differential Revision: https://phabricator.services.mozilla.com/D189961
This commit is contained in:
Jan de Mooij
2023-10-04 05:52:24 +00:00
parent 8256f471f2
commit e867832d32
2 changed files with 10 additions and 2 deletions

View File

@@ -115,8 +115,9 @@ struct ColumnNumberWithOrigin {
public:
constexpr ColumnNumberWithOrigin() = default;
ColumnNumberWithOrigin(
const ColumnNumberWithOrigin<Origin, LimitValue>& other) = default;
ColumnNumberWithOrigin(const ColumnNumberWithOrigin& other) = default;
ColumnNumberWithOrigin& operator=(const ColumnNumberWithOrigin& other) =
default;
explicit ColumnNumberWithOrigin(uint32_t value) : value_(value) {
MOZ_ASSERT(valid());
@@ -337,9 +338,12 @@ struct ColumnNumberZeroOrigin : public detail::ColumnNumberWithOrigin<0> {
public:
using Base::Base;
using Base::operator=;
ColumnNumberZeroOrigin() = default;
ColumnNumberZeroOrigin(const ColumnNumberZeroOrigin& other) = default;
ColumnNumberZeroOrigin& operator=(ColumnNumberZeroOrigin&) = default;
MOZ_IMPLICIT ColumnNumberZeroOrigin(const Base& other) : Base(other) {}
explicit ColumnNumberZeroOrigin(
@@ -359,9 +363,12 @@ struct ColumnNumberOneOrigin : public detail::ColumnNumberWithOrigin<1> {
public:
using Base::Base;
using Base::operator=;
ColumnNumberOneOrigin() = default;
ColumnNumberOneOrigin(const ColumnNumberOneOrigin& other) = default;
ColumnNumberOneOrigin& operator=(ColumnNumberOneOrigin&) = default;
MOZ_IMPLICIT ColumnNumberOneOrigin(const Base& other) : Base(other) {}
explicit ColumnNumberOneOrigin(const detail::ColumnNumberWithOrigin<0>& other)

View File

@@ -89,6 +89,7 @@ class RegExpFlags {
}
RegExpFlags(const RegExpFlags&) = default;
RegExpFlags& operator=(const RegExpFlags&) = default;
bool operator==(const RegExpFlags& other) const {
return flags_ == other.flags_;