Skip to content

Commit 162f86f

Browse files
committed
[PropertyWrappers] We won't have a valueVar when looking for a default init
1 parent cb54be2 commit 162f86f

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

lib/Sema/TypeCheckPropertyWrapper.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,6 @@ findSuitableWrapperInit(ASTContext &ctx, NominalTypeDecl *nominal,
100100
Inaccessible,
101101
};
102102

103-
auto valueVarType = valueVar->getValueInterfaceType();
104-
105103
SmallVector<std::tuple<ConstructorDecl *, NonViableReason, Type>, 2>
106104
nonviable;
107105
SmallVector<ConstructorDecl *, 2> viableInitializers;
@@ -183,7 +181,7 @@ findSuitableWrapperInit(ASTContext &ctx, NominalTypeDecl *nominal,
183181

184182
// The parameter type must be the same as the type of `valueVar` or an
185183
// autoclosure thereof.
186-
if (!paramType->isEqual(valueVarType)) {
184+
if (!paramType->isEqual(valueVar->getValueInterfaceType())) {
187185
nonviable.push_back(std::make_tuple(
188186
init, NonViableReason::ParameterTypeMismatch, paramType));
189187
continue;
@@ -214,7 +212,8 @@ findSuitableWrapperInit(ASTContext &ctx, NominalTypeDecl *nominal,
214212

215213
case NonViableReason::ParameterTypeMismatch:
216214
init->diagnose(diag::property_wrapper_wrong_initial_value_init,
217-
init->getFullName(), paramType, valueVarType);
215+
init->getFullName(), paramType,
216+
valueVar->getValueInterfaceType());
218217
valueVar->diagnose(diag::decl_declared_here, valueVar->getFullName());
219218
break;
220219
}

0 commit comments

Comments
 (0)