We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 7a451a6 + d223a18 commit c973e47Copy full SHA for c973e47
lib/AST/Decl.cpp
@@ -2973,6 +2973,10 @@ Witness ProtocolDecl::getDefaultWitness(ValueDecl *requirement) const {
2973
/// Record the default witness for a requirement.
2974
void ProtocolDecl::setDefaultWitness(ValueDecl *requirement, Witness witness) {
2975
assert(witness);
2976
+ // The first type we insert a default witness, register a destructor for
2977
+ // this type.
2978
+ if (DefaultWitnesses.empty())
2979
+ getASTContext().addDestructorCleanup(DefaultWitnesses);
2980
auto pair = DefaultWitnesses.insert(std::make_pair(requirement, witness));
2981
assert(pair.second && "Already have a default witness!");
2982
(void) pair;
0 commit comments