[PR #15215] [MERGED] Enable WINRT_LEAN_AND_MEAN #30501

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/15215
Author: @DHowett
Created: 4/20/2023
Status: Merged
Merged: 4/24/2023
Merged by: @zadjii-msft

Base: mainHead: dev/duhowett/mean-and-lean


📝 Commits (5)

📊 Changes

2 files changed (+13 additions, -1 deletions)

View changed files

📝 src/cascadia/TerminalApp/CommandPalette.h (+11 -1)
📝 src/cppwinrt.build.pre.props (+2 -0)

📄 Description

WINRT_LEAN_AND_MEAN removes a bunch of less often used parts of the C++/WinRT headers:

  • std::hash specializations for every object
  • operator <<(ostream) overloads for any IStringable
  • Interface producers for interfaces that are marked "exclusive"

There's only one place where we were using even one of these.

Enabling this saves us (optimistically) 30 seconds of build time on the CI agents and shrinks our largest PCH (TerminalApp, x64, Debug) by about 150MiB.

It's not huge, but it's not nothing.


🔄 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/15215 **Author:** [@DHowett](https://github.com/DHowett) **Created:** 4/20/2023 **Status:** ✅ Merged **Merged:** 4/24/2023 **Merged by:** [@zadjii-msft](https://github.com/zadjii-msft) **Base:** `main` ← **Head:** `dev/duhowett/mean-and-lean` --- ### 📝 Commits (5) - [`1fe7652`](https://github.com/microsoft/terminal/commit/1fe7652cc8be0776e20c37325aad216f21195c0b) What if we did this? - [`b9a82a6`](https://github.com/microsoft/terminal/commit/b9a82a6d3b10acb0beaea0f9c0e7e9f4fec6edc2) fallout I: hash in CommandPalette - [`9574605`](https://github.com/microsoft/terminal/commit/95746050d9799986c9a48be5c51c2ece5eb0f96d) 1.a: ah - [`f9b364f`](https://github.com/microsoft/terminal/commit/f9b364f7be2edd96111daddae490cca223e6acd9) this is an annoying code format - [`ff2d5ce`](https://github.com/microsoft/terminal/commit/ff2d5ce444c58eda637f41ab5026fc3c2676fd6b) be smarter, like Leonard ### 📊 Changes **2 files changed** (+13 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/TerminalApp/CommandPalette.h` (+11 -1) 📝 `src/cppwinrt.build.pre.props` (+2 -0) </details> ### 📄 Description `WINRT_LEAN_AND_MEAN` removes a bunch of less often used parts of the C++/WinRT headers: - `std::hash` specializations for every object - `operator <<(ostream)` overloads for any `IStringable` - Interface producers for interfaces that are marked "exclusive" There's only one place where we were using even one of these. Enabling this saves us (optimistically) 30 seconds of build time on the CI agents and shrinks our largest PCH (TerminalApp, x64, Debug) by about 150MiB. It's not huge, but it's not nothing. --- <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:41:14 +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#30501