-
-
Notifications
You must be signed in to change notification settings - Fork 649
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
!!! BREAKING CHANGE !!! - remove the custom implementation of std::is_constructible and optionally use the <type_traits> header because of infinite template recursion issues with GCC #85
Comments
interestingly enough clang has no trouble but all versions of GCC fail... I originally added the I'm not sure how to proceed with this - it might be a gcc problem, but it is for sure a huge template mess... sometimes I look back at things I've added and say to myself "what was I thinking"... |
It also works on MSVC 12 and later. At least Update 5. I've seen an internal compiler error with VC 12 update 1 but couldn't figure out how to reproduce it. Been wondering whether it was related to this. |
I'll probably address this next week by making a config option (another one... off by default) to support strong typedefs of double for Approx which would trigger including |
A good compromise! |
this is now in the dev branch - soon I'll release version 1.2.2 with this going into master. |
… when constructing doctest::Approx which only takes double by default - relates #85
… when constructing doctest::Approx which only takes double by default - relates #85
Description
Template depth exceeded on GCC
Here is a repro:
http://coliru.stacked-crooked.com/a/be9f09a38e109b69
I pasted current doctest.h in there and tacked a test case at the end.
I found the bug working with GCC 4.8.4, so it's not the GCC version. What is that template metaprogramming for in the Approx class? Seems a bit overly complex.
Extra information
The text was updated successfully, but these errors were encountered: