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

Compatibility with MSVC 2019 #738

Closed
kylef opened this issue Jul 31, 2019 · 1 comment · Fixed by #745
Closed

Compatibility with MSVC 2019 #738

kylef opened this issue Jul 31, 2019 · 1 comment · Fixed by #745
Labels

Comments

@kylef
Copy link
Member

kylef commented Jul 31, 2019

#726 breaks compatibility with MSVC 2019, after this PR the following build error occurs:

ext\snowcrash\src\Just.h(21, 26): error C2131:  expression did not evaluate to a constant

Somewhere else higher up in the build log I've also seen:

ext\snowcrash\src\Just.h(21, 1): error C2440:  'noexcept': cannot convert from 'T' to 'bool
...
ext\snowcrash\src\Just.h(21, 26): message :  No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
@kylef kylef added the bug label Jul 31, 2019
@kylef
Copy link
Member Author

kylef commented Jul 31, 2019

I am not entirely sure if it is related, Protagonist tests are currently crashing on MSVC 2015 after the same PR. As noexcept takes a boolean, perhaps when T isn't boolean, this was compiling on older MSVC and could cause a runtime crash (access violation). The tests in Drafter are however passing on MSVC 2015 and MSVC 2017.

kylef added a commit that referenced this issue Aug 6, 2019
#726 broken MSVC 2019
compatibility, I was finding the following compiler error:

    ext\snowcrash\src\Just.h(21, 26): error C2131:  expression did not evaluate to a constant
    ext\snowcrash\src\Just.h(21, 1): error C2440:  'noexcept': cannot convert from 'T' to 'bool
    ...
    ext\snowcrash\src\Just.h(21, 26): message :  No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Fixes #738
kylef added a commit that referenced this issue Aug 6, 2019
#726 broken MSVC 2019
compatibility, I was finding the following compiler error:

    ext\snowcrash\src\Just.h(21, 26): error C2131:  expression did not evaluate to a constant
    ext\snowcrash\src\Just.h(21, 1): error C2440:  'noexcept': cannot convert from 'T' to 'bool
    ...
    ext\snowcrash\src\Just.h(21, 26): message :  No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Fixes #738
kylef added a commit that referenced this issue Aug 13, 2019
#726 broken MSVC 2019
compatibility, I was finding the following compiler error:

    ext\snowcrash\src\Just.h(21, 26): error C2131:  expression did not evaluate to a constant
    ext\snowcrash\src\Just.h(21, 1): error C2440:  'noexcept': cannot convert from 'T' to 'bool
    ...
    ext\snowcrash\src\Just.h(21, 26): message :  No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Fixes #738
kylef added a commit that referenced this issue Sep 3, 2019
kylef added a commit that referenced this issue Sep 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant