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

Replace std::result_of with decltype #2212

Merged
merged 1 commit into from
Jan 25, 2021

Conversation

bjude
Copy link
Contributor

@bjude bjude commented Nov 20, 2020

std::result_of is deprecated in C++17 and removed in C++20, breaking downstream projects that use C++20 with MSVC

This could be replaced by a wrapper type trait that dispatches to std::invoke_result_t for C++17 and later or to std::result_of for
earlier versions but since it is only used in one place for nullary functors, decltype will be simpler.

The vendored version of boost::asio uses std::result_of so this PR will not allow Cinder to be built in C++20 mode yet, but since asio is only used internally and not in Cinder's interface it should allow downstream project to use C++20.

Fixes #2206

std::result_of is deprecated in C++17 and removed in C++20.
This could be replaced by a wrapper type trait that dispatches to
std::invoke_result_t for C++17 and later or to std::result_of for
earlier versions but since it is only used in one place for nullary
functors, decltype will be simpler.
@bjude
Copy link
Contributor Author

bjude commented Dec 15, 2020

Pinging @andrewfb for a review, I'd prefer to keep my project tracking the master branch instead of my fork and the issues this PR and #2211 are blocking that

@andrewfb andrewfb merged commit e5e6845 into cinder:master Jan 25, 2021
@andrewfb
Copy link
Collaborator

I apologize for the crazy delay on merging this - thanks for submitting it.

@godefv
Copy link

godefv commented Jan 25, 2021

Thanks for fixing my issue. I also prefer to work with the official branch rather than my fork !

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.

C++20 support on Windows
3 participants