[PR #953] [MERGED] Apply [[nodiscard]] to functions returning error codes #24418

Open
opened 2026-01-31 09:03:13 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/953
Author: @binarycrusader
Created: 5/23/2019
Status: Merged
Merged: 5/30/2019
Merged by: @undefined

Base: masterHead: bf-nodiscard


📝 Commits (3)

📊 Changes

30 files changed (+81 additions, -51 deletions)

View changed files

📝 src/cascadia/WindowsTerminal/BaseWindow.h (+3 -0)
📝 src/cascadia/WindowsTerminal/IslandWindow.cpp (+2 -1)
📝 src/cascadia/WindowsTerminal/IslandWindow.h (+1 -0)
📝 src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp (+6 -3)
📝 src/cascadia/WindowsTerminal/NonClientIslandWindow.h (+4 -0)
📝 src/host/ConsoleArguments.hpp (+0 -1)
📝 src/host/VtIo.cpp (+1 -1)
📝 src/host/VtIo.hpp (+1 -3)
📝 src/host/cmdline.h (+1 -1)
📝 src/host/popup.cpp (+2 -0)
📝 src/host/popup.h (+2 -0)
📝 src/inc/test/CommonState.hpp (+1 -0)
📝 src/interactivity/inc/IConsoleControl.hpp (+3 -0)
📝 src/interactivity/win32/window.cpp (+2 -0)
📝 src/interactivity/win32/window.hpp (+5 -0)
📝 src/interactivity/win32/windowproc.cpp (+3 -0)
📝 src/propsheet/ColorControl.cpp (+1 -0)
📝 src/propsheet/ColorControl.h (+1 -0)
📝 src/propsheet/ColorsPage.cpp (+1 -0)
📝 src/propsheet/ColorsPage.h (+1 -0)

...and 10 more files

📄 Description

Summary of the Pull Request

Functions returning status codes should use nodiscard as mentioned recently by @adiviness.

They should also use noexcept, but that's a much more invasive change, so this issue is just about nodiscard.

References

#897

PR Checklist

  • Closes Terminal: UIA test harness (#951)
  • CLA signed. If not, go over here and sign the CLA
  • Tests added/passed
  • Requires documentation to be updated
  • I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #897

Detailed Description of the Pull Request / Additional comments

  • applied nodiscard for all HRESULT, LRESULT, and NTSTATUS functions
  • fixed IntelliSense declaration complaints leading to function not
    implemented warnings
  • deleted declared but never implemented functions
  • fixed unused parameter warnings

Please note I only checked for functions that had a declaration in a header file of some kind, so there might still be some functions only defined and used within .cpp files that don't have nodiscard applied.

How verified:

  • bcz dbg
  • opencon
  • testcon
  • VS2019 debug build

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/953 **Author:** [@binarycrusader](https://github.com/binarycrusader) **Created:** 5/23/2019 **Status:** ✅ Merged **Merged:** 5/30/2019 **Merged by:** [@undefined](undefined) **Base:** `master` ← **Head:** `bf-nodiscard` --- ### 📝 Commits (3) - [`c6fc8d0`](https://github.com/microsoft/terminal/commit/c6fc8d033fab6fd6229226a397e53d3c2f317639) Apply [[nodiscard]] to functions returning error codes - [`d750d5f`](https://github.com/microsoft/terminal/commit/d750d5f359bba200252145dde0829477644a8788) - use LOG_IF_FAILED where applicable - [`3085db3`](https://github.com/microsoft/terminal/commit/3085db318ebe259992808c5ccaba789e39fcbe93) - add missing [[nodiscard]] ### 📊 Changes **30 files changed** (+81 additions, -51 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/WindowsTerminal/BaseWindow.h` (+3 -0) 📝 `src/cascadia/WindowsTerminal/IslandWindow.cpp` (+2 -1) 📝 `src/cascadia/WindowsTerminal/IslandWindow.h` (+1 -0) 📝 `src/cascadia/WindowsTerminal/NonClientIslandWindow.cpp` (+6 -3) 📝 `src/cascadia/WindowsTerminal/NonClientIslandWindow.h` (+4 -0) 📝 `src/host/ConsoleArguments.hpp` (+0 -1) 📝 `src/host/VtIo.cpp` (+1 -1) 📝 `src/host/VtIo.hpp` (+1 -3) 📝 `src/host/cmdline.h` (+1 -1) 📝 `src/host/popup.cpp` (+2 -0) 📝 `src/host/popup.h` (+2 -0) 📝 `src/inc/test/CommonState.hpp` (+1 -0) 📝 `src/interactivity/inc/IConsoleControl.hpp` (+3 -0) 📝 `src/interactivity/win32/window.cpp` (+2 -0) 📝 `src/interactivity/win32/window.hpp` (+5 -0) 📝 `src/interactivity/win32/windowproc.cpp` (+3 -0) 📝 `src/propsheet/ColorControl.cpp` (+1 -0) 📝 `src/propsheet/ColorControl.h` (+1 -0) 📝 `src/propsheet/ColorsPage.cpp` (+1 -0) 📝 `src/propsheet/ColorsPage.h` (+1 -0) _...and 10 more files_ </details> ### 📄 Description <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Functions returning status codes should use [[nodiscard]] as [mentioned recently](https://github.com/microsoft/terminal/pull/897#discussion_r286205725) by @adiviness. They should also use noexcept, but that's a much more invasive change, so this issue is just about [[nodiscard]]. <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References #897 <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [X] Closes #951 * [X] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [X] Tests added/passed * [ ] Requires documentation to be updated * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #897 <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments - applied [[nodiscard]] for all HRESULT, LRESULT, and NTSTATUS functions - fixed IntelliSense declaration complaints leading to function not implemented warnings - deleted declared but never implemented functions - fixed unused parameter warnings Please note I only checked for functions that had a declaration in a header file of some kind, so there might still be some functions only defined and used within .cpp files that don't have [[nodiscard]] applied. How verified: - bcz dbg - opencon - testcon - VS2019 debug build --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:03:13 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#24418