Closed Manulan27 closed 4 years ago
Thanks, @Manulan27 for reporting that.
It seems to work with msvc 19.22 -> https://godbolt.org/z/9TyvRq Unfortunately, compiler explorer doesn't have any newer version :thinking: Any ideas how to easily test it? I don't have Windows available ATM :(
I am going to test it tomorrow. Not sure that I will be able to resolve it though.
Thanks @kanstantsin-chernik
It might be that msvc 19.23 fixed some of the wknds we have :thinking:
#define __BOOST_DI_TYPE_WKND(T) (T &&)
#define __BOOST_DI_ACCESS_WKND public
#define __BOOST_DI_VARIABLE_TEMPLATE_INIT_WKND
@krzysztof-jusiak I'm not sure about 19.22, but I'm currently using 19.23.28105.4 which is probably the latest version.
@krzysztof-jusiak I tested it on 19.23. It is not a problem fro /c++14 however I got the same error with /c++17. Workarounds don't really help.
BTW, in terms of way to test it you can create Azure account. MS gives 200$ bonus. Than you can instantiate a VM with VS (it might be already in there market).
I will try to find a solution on my own. But unfortunately it is not so obvious for me.
Problems:
1) It doesn't like upcasting to dependency__
. But it is fixable with reinterpret_cast
2) It incorrectly deduce provider
:
template <class, class>
struct provider;
@Manulan27 could you please test a PR
@kanstantsin-chernik I just tested your PR and the example + my project are compiling again. Thanks a lot for the fast help!
You are welcome!
Expected Behavior
Compiling as usual.
Actual Behavior
After upgrading my project from msvc 2017 to msvc 2019 boost di doesn't compile anymore. Even creating a basic example as shown below doesn't work anymore.
Steps to Reproduce the Problem
Use msvc 2019 and any of the language standard settings (default, c++14, c++17, c++latest)
the error:
Specifications