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

<expected>: Workaround for DevCom-10655311 "Class derived from std::expected can't be constructed with bool value type" #4664

Merged

Conversation

frederick-vs-ja
Copy link
Contributor

@frederick-vs-ja frederick-vs-ja commented May 9, 2024

Works around DevCom-10655311. The reason of the issue seems to be that MSVC cannot recognize the injected-class-name as a template name in associated constraints in inherited constructors.

The workaround seemingly works with /permissive so there wouldn't be stealing conflicts with #4658, AFAIK.

@frederick-vs-ja frederick-vs-ja requested a review from a team as a code owner May 9, 2024 03:03
@frederick-vs-ja frederick-vs-ja force-pushed the inherite-expected-ctors branch 3 times, most recently from 6750910 to ff047ff Compare May 9, 2024 03:16
@StephanTLavavej StephanTLavavej added the bug Something isn't working label May 10, 2024
@StephanTLavavej StephanTLavavej self-assigned this May 10, 2024
@StephanTLavavej
Copy link
Member

Thanks, looks perfect! Extra special thanks for the library-free repro that you posted on DevCom, which will really help the compiler team! 😻

@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 6bad24d into microsoft:main May 21, 2024
39 checks passed
@StephanTLavavej
Copy link
Member

Thanks for figuring out how to transcend the compiler's bug-limitations! 🐞 💥 😹

@frederick-vs-ja frederick-vs-ja deleted the inherite-expected-ctors branch May 21, 2024 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

2 participants