Make sure static vars in protocols don't get mutating setters.

Static members are never mutating, and having them be mutating in protocols
resulted in requirement mismatches.

rdar://problem/19887250

Swift SVN r25593
This commit is contained in:
Jordan Rose
2015-02-27 04:54:01 +00:00
parent 7b0a050e1e
commit 1d03915dfc
3 changed files with 11 additions and 2 deletions

View File

@@ -273,7 +273,7 @@ static FuncDecl *createSetterPrototype(AbstractStorageDecl *storage,
switch (storage->getStorageKind()) {
case AbstractStorageDecl::Stored:
case AbstractStorageDecl::StoredWithObservers:
return true;
return storage->isInstanceMember();
case AbstractStorageDecl::InheritedWithObservers:
return storage->getOverriddenDecl()->getSetter()->isMutating();