Manually fix up some std::is_same<...> places. #15748
Merged
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.
I was getting some weird error messages about undefined symbols. I did not try to track this down in detail, but I believe that what happened is that the function declaration used
std::is_same_v
, but the definition continues to usestd::is_same
. If this is just a namespace-level function, then the compiler will simply treat these as different overloads of the same name -- leading to linker errors.So I simply went through the entire library and replaced all occurrences of
std::same_as
bystd::same_as_v
(except for one place where we used the type, not::value
). The places I had missed previously are the ones wherestd::is_same
appears on a different line than::value
-- hard to catch by script.