-
Notifications
You must be signed in to change notification settings - Fork 59
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
Compilation error with MSVC 2022 #257
Comments
It looks like this isn't specifically an issue in Unordered. I reproduced this using only a stand-in for // A stand-in for boost::empty_value
template <class T>
class empty_value : T
{
public:
using type = T;
};
template <class T>
struct S : empty_value<T>
{
using type = typename empty_value<T>::type;
};
struct Outer { struct Inner {}; };
S<Outer::Inner> s{};
int main(){} This clearly looks like a compiler bug in MSVC. It could be fixed by inheriting publicly from For your use case, you can work around this problem by moving |
Thanks. I'll try to check if it fixes the original problem at some point, but don't hold your breath (I don't have the environment available anymore). If it fixes the reduced testcase, I think that's good enough to close the issue, and I'll open a new one later if it turns out not to be sufficient for our full code. |
Compiling this with Visual Studio 2022 (17.8.5) and Boost 1.85 yields
This is most likely a bug in visual studio (it might even be fixed already in more recent versions, I don't have other versions at hand right now), but in case you want to work around it in Boost somehow...
The text was updated successfully, but these errors were encountered: