Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate defaulted foundation feature dependencies #2735

Merged
merged 4 commits into from
Dec 8, 2023

Conversation

kennykerr
Copy link
Collaborator

@kennykerr kennykerr commented Dec 8, 2023

@ChrisDenton suggested we automatically include the Foundation and Win32_Foundation features for WinRT and Win32 APIs respectively. This seems like a good change to reduce unnecessary code gen and feature requirements.

See the changes to samples for the usability: fed889e

Also this for the reduction in code gen:
image

Fixes: #2717 (comment)

@kennykerr kennykerr requested a review from ChrisDenton December 8, 2023 17:48
Copy link
Collaborator

@ChrisDenton ChrisDenton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obviously I'm very much in favour of the idea behind this change!

Browsing through the generated docs, it does seem to simplify things a lot. Perhaps less so when there's already a lot of features required for an item but even then it's one less thing for the user to think about.

@kennykerr
Copy link
Collaborator Author

Yep, I noticed that there are tens of thousands of cfg attributes that only require either Win32_Foundation or Foundation so this seems like an obvious win.

@kennykerr kennykerr merged commit 831b99b into master Dec 8, 2023
47 checks passed
@kennykerr kennykerr deleted the defaulted-foundation branch December 8, 2023 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Documentation no longer lists required features
2 participants