File tree Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -2234,6 +2234,9 @@ namespace {
2234
2234
2235
2235
// Make the actual member operator private.
2236
2236
MD->overwriteAccess (AccessLevel::Private);
2237
+
2238
+ // Make sure the synthesized decl can be found by lookupDirect.
2239
+ result->addMemberToLookupTable (opFuncDecl);
2237
2240
}
2238
2241
2239
2242
if (cxxMethod->getDeclName ().isIdentifier ()) {
Original file line number Diff line number Diff line change @@ -38,4 +38,18 @@ struct ReturnsNonNullValue {
38
38
}
39
39
};
40
40
41
+ struct HasOperatorExclaim {
42
+ int value ;
43
+
44
+ HasOperatorExclaim operator !() const { return {- value }; }
45
+ };
46
+
47
+ struct HasOperatorEqualEqual {
48
+ int value ;
49
+
50
+ bool operator == (const HasOperatorEqualEqual & other ) const {
51
+ return value == other .value ;
52
+ }
53
+ };
54
+
41
55
#endif // TEST_INTEROP_CXX_CLASS_INPUTS_PROTOCOL_CONFORMANCE_H
Original file line number Diff line number Diff line change @@ -26,3 +26,12 @@ protocol HasReturnNonNull {
26
26
}
27
27
28
28
extension ReturnsNonNullValue : HasReturnNonNull { }
29
+
30
+
31
+ protocol Invertable {
32
+ static prefix func !( obj: Self ) -> Self
33
+ }
34
+
35
+ extension HasOperatorExclaim : Invertable { }
36
+
37
+ extension HasOperatorEqualEqual : Equatable { }
You can’t perform that action at this time.
0 commit comments