swift
80749635 - [cxx-interop] Load function template members alongside storage (#87409)

Commit
3 days ago
[cxx-interop] Load function template members alongside storage (#87409) Due to still-to-be investigated shortcomings of lazy name lookup, the Swift compiler is is unable to look up templated member functions. This previously worked because we were loading all members eagerly, including such templated member functions, but once we started only loading storage members in 3b4a298da50042b70ca4d7d396383c9de100a525, this broke. For now, load FunctionTemplateDecl members eagerly to restore that old behavior. The updated test fails without this change, and passes after it. More thorough testing should be done for satisfactory coverage, but there seem to be other unrelated issues to work through like SILGen assertion failures due to incorrect nullability handling, etc. In particular, we are only testing methods that return references for now, and not pointers, which do not get imported properly due to imperfect type round-tripping during template instantiation. rdar://170576709
Author
Parents
Loading