This is an archive of the discontinued LLVM Phabricator instance.

[Sema] Mark ineligibility of special member functions correctly
ClosedPublic

Authored by royjacobson on May 5 2023, 7:56 AM.

Details

Summary

I checked if the member function declaration was a copy constructor, but it's not sufficient; We need to check
the arguments against the instantiated class.

Fixed https://github.com/llvm/llvm-project/issues/62555

Diff Detail

Event Timeline

royjacobson created this revision.May 5 2023, 7:56 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 5 2023, 7:56 AM
royjacobson requested review of this revision.May 5 2023, 7:56 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 5 2023, 7:56 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
erichkeane accepted this revision.May 5 2023, 8:00 AM
This revision is now accepted and ready to land.May 5 2023, 8:00 AM
shafik added a comment.May 5 2023, 8:47 AM

Thank you for fixing this so quickly!

clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
2751

I have look at this function a few times and it is not obvious to me why this is the right thing to do once we get to this point, Can you add some explanatory comments and maybe a standard reference. This is a large function and probably could use a lot more explanatory comments.