Skip to content

Commit bcb86b2

Browse files
committed
[nfc] Add test for operators on address-only types.
1 parent 65263ab commit bcb86b2

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

test/Interop/Cxx/operators/Inputs/member-inline.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ struct AddressOnlyIntWrapper {
4343
int operator()(int x, int y) {
4444
return value + x * y;
4545
}
46+
47+
AddressOnlyIntWrapper operator-(AddressOnlyIntWrapper rhs) const {
48+
return AddressOnlyIntWrapper(value - rhs.value);
49+
}
4650
};
4751

4852
struct HasDeletedOperator {

test/Interop/Cxx/operators/member-inline.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,14 @@ OperatorsTestSuite.test("PtrToPtr.subscript (inline)") {
231231
expectEqual(23, arr[0]![0]![0])
232232
}
233233

234+
OperatorsTestSuite.test("AddressOnlyIntWrapper.minus") {
235+
let lhs = AddressOnlyIntWrapper(42)
236+
let rhs = AddressOnlyIntWrapper(23)
237+
238+
let result = lhs - rhs
239+
expectEqual(19, result.value)
240+
}
241+
234242
// TODO: this causes a crash (does it also crash on main?)
235243
//OperatorsTestSuite.test("TemplatedSubscriptArrayByVal.subscript (inline)") {
236244
// let ptr: UnsafeMutablePointer<Int32> =

0 commit comments

Comments
 (0)