File tree Expand file tree Collapse file tree 2 files changed +2
-31
lines changed Expand file tree Collapse file tree 2 files changed +2
-31
lines changed Original file line number Diff line number Diff line change @@ -1964,17 +1964,8 @@ void TypeChecker::validateDecl(OperatorDecl *OD) {
1964
1964
}
1965
1965
1966
1966
bool swift::doesContextHaveValueSemantics (DeclContext *dc) {
1967
- if (Type contextTy = dc->getDeclaredInterfaceType ()) {
1968
- // If the decl context is an extension, then it could be imposing a class
1969
- // constraint (ex: where Self: SomeClass). Make sure we include that
1970
- // in our check as well.
1971
- auto extensionRequiresClass = false ;
1972
- if (auto ED = dyn_cast<ExtensionDecl>(dc)) {
1973
- extensionRequiresClass =
1974
- ED->getGenericSignature ()->requiresClass (ED->getSelfInterfaceType ());
1975
- }
1976
- return !contextTy->hasReferenceSemantics () && !extensionRequiresClass;
1977
- }
1967
+ if (Type contextTy = dc->getDeclaredInterfaceType ())
1968
+ return !contextTy->hasReferenceSemantics ();
1978
1969
return false ;
1979
1970
}
1980
1971
Original file line number Diff line number Diff line change @@ -124,23 +124,3 @@ struct WrapperContext {
124
124
static let propUsingMember = originalValue
125
125
}
126
126
}
127
-
128
- // SR-11298
129
-
130
- protocol SR_11298_P { }
131
-
132
- class SR_11298_C : SR_11298_P {
133
- var property : String = " "
134
- }
135
-
136
- // Self: SR_11298_C requirement constrains this extension to SR_11298C and its subclasses.
137
- // Since this implies a class constraint, the setter should be implicitly nonmutating.
138
- extension SR_11298_P where Self: SR_11298_C {
139
- var wrappingProperty : String {
140
- get { return property }
141
- set { property = newValue }
142
- }
143
- }
144
-
145
- let instance = SR_11298_C ( )
146
- instance. wrappingProperty = " " // Okay
You can’t perform that action at this time.
0 commit comments