This is an archive of the discontinued LLVM Phabricator instance.

Fix CRTP partial specialization instantiation crash.
ClosedPublic

Authored by erichkeane on May 10 2023, 11:19 AM.

Details

Summary

Fixes #60778.

When instantiating the body of a class template specialization that was
instantiated from a partial specialization, we were incorrectly
collecting template arguments from the primary template, which resulted
in the template arguments list being inaccurate. In the example from
the issue, we were trying to substitute the boolean 'false' into the
type on Nested, which caused an assertion.

Diff Detail

Event Timeline

erichkeane created this revision.May 10 2023, 11:19 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 10 2023, 11:19 AM
erichkeane requested review of this revision.May 10 2023, 11:19 AM
This revision is now accepted and ready to land.May 10 2023, 12:23 PM
This revision was landed with ongoing or failed builds.May 11 2023, 6:11 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptMay 11 2023, 6:11 AM