Skip to content

Commit c9dad65

Browse files
authored
IDETypeChecking: fix a memory leak. (#7849)
1 parent 6c37640 commit c9dad65

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

lib/Sema/CSGen.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3367,9 +3367,11 @@ void swift::collectDefaultImplementationForProtocolMembers(ProtocolDecl *PD,
33673367
llvm::SmallDenseMap<ValueDecl*, ValueDecl*> &DefaultMap) {
33683368
Type BaseTy = PD->getDeclaredInterfaceType();
33693369
DeclContext *DC = PD->getDeclContext();
3370+
std::unique_ptr<TypeChecker> CreatedTC;
33703371
auto *TC = static_cast<TypeChecker*>(DC->getASTContext().getLazyResolver());
33713372
if (!TC) {
3372-
TC = new TypeChecker(DC->getASTContext());
3373+
CreatedTC.reset(new TypeChecker(DC->getASTContext()));
3374+
TC = CreatedTC.get();
33733375
}
33743376
for (Decl *D : PD->getMembers()) {
33753377
ValueDecl *VD = dyn_cast<ValueDecl>(D);

0 commit comments

Comments
 (0)