[vs2017] Adapt some variadic template aliases to not trip MSVC 2017. #37284
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It seems that MSVC 2017 trips parsing an
using
of anusing
of a variadictemplate. Removing one level of using seems to work fine. A preprocessor
macro allows to keep using the same syntax in both MSVC 2017 and other
compilers without making a lot of a mess.
I think this might have been uncovered by landing swiftlang/llvm-project#2898
when it was picked up by the auto-merger for the swift/main branch.
I think this was not a problem until now, because Metadata.h was
compiled using the just compiled Clang until now. LLDB is compiled using
MSVC in Windows.
Windows VS2017 CI: https://ci-external.swift.org/job/oss-swift-windows-x86_64/
First failing: https://ci-external.swift.org/job/oss-swift-windows-x86_64/7448/ (might disappear)
Last failure until now: https://ci-external.swift.org/job/oss-swift-windows-x86_64/7462/
/cc @bulbazord @compnerd