Closed Bug 1691889 Opened 3 years ago Closed 3 years ago

Replace MOZ_MUST_USE with [[nodiscard]] in dom/

Categories

(Core :: DOM: Core & HTML, task, P3)

task

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox-esr78 --- wontfix
firefox86 --- wontfix
firefox87 --- wontfix
firefox88 --- fixed

People

(Reporter: cpeterson, Assigned: cpeterson)

References

Details

Attachments

(1 file)

The MOZ_MUST_USE macro is defined as clang's and gcc's nonstandard __attribute__((warn_unused_result)). Now that we compile as C++17 by default (bug 1560664), we can replace MOZ_MUST_USE with C++17's standard [[nodiscard]] attribute.

The [[nodiscard]] attribute must precede a function declaration's declaration specifiers (like static, extern, inline, or virtual). The __attribute__((warn_unused_result)) attribute does not have this order restriction.

Blocks: nodiscard
OS: Unspecified → All
Hardware: Unspecified → All
Summary: Replace MOZ_MUST_USE with [[nodiscard]] in dom/base/ → Replace MOZ_MUST_USE with [[nodiscard]] in dom/

The MOZ_MUST_USE macro is defined as clang's and gcc's nonstandard attribute((warn_unused_result)). Now that we compile as C++17 by default (bug 1560664), we can replace MOZ_MUST_USE with C++17's standard [[nodiscard]] attribute.

The [[nodiscard]] attribute must precede a function declaration's declaration specifiers (like static, extern, inline, or virtual). The attribute((warn_unused_result)) attribute does not have this order restriction.

Pushed by cpeterson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d6ac1345dbc6
Replace MOZ_MUST_USE with [[nodiscard]] in dom/. r=peterv
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: