Skip to content

Commit 5914e7a

Browse files
authored
Merge pull request #68140 from apple/egorzhdan/inherited-pointee-test
[cxx-interop] Add tests for `.pointee` property access on derived type
2 parents 11c45c9 + 3f223b5 commit 5914e7a

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-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
@@ -414,4 +414,8 @@ struct AmbiguousOperatorStar2 {
414414
const int &&operator*() const && { return static_cast<const int &&>(value); }
415415
};
416416

417+
struct DerivedFromConstIterator : public ConstIterator {};
418+
419+
struct DerivedFromConstIteratorPrivately : private ConstIterator {};
420+
417421
#endif

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,6 @@ let voidReturnType = HasPreIncrementOperatorWithVoidReturnType()
6767
let voidReturnTypeResult: HasPreIncrementOperatorWithVoidReturnType = voidReturnType.successor()
6868

6969
let immortalIncrement = myCounter.successor() // expected-error {{value of type 'ImmortalCounter' has no member 'successor'}}
70+
71+
let derivedConstIter = DerivedFromConstIteratorPrivately()
72+
derivedConstIter.pointee // expected-error {{value of type 'DerivedFromConstIteratorPrivately' has no member 'pointee'}}

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,4 +372,10 @@ OperatorsTestSuite.test("AmbiguousOperatorStar2.pointee") {
372372
expectEqual(678, res)
373373
}
374374

375+
OperatorsTestSuite.test("DerivedFromConstIterator.pointee") {
376+
let stars = DerivedFromConstIterator()
377+
let res = stars.pointee
378+
expectEqual(234, res)
379+
}
380+
375381
runAllTests()

0 commit comments

Comments
 (0)