File tree Expand file tree Collapse file tree 2 files changed +16
-0
lines changed
test/Interop/Cxx/operators Expand file tree Collapse file tree 2 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -482,6 +482,15 @@ class HasStaticOperatorCallBase {
482482 static int operator ()(int x) { return x + 42 ; }
483483};
484484
485+ class HasStaticOperatorCallBaseNonTrivial : public NonTrivial {
486+ public:
487+ HasStaticOperatorCallBaseNonTrivial () {}
488+ HasStaticOperatorCallBaseNonTrivial (const HasStaticOperatorCallBaseNonTrivial &self) : NonTrivial(self) {}
489+ HasStaticOperatorCallBaseNonTrivial (HasStaticOperatorCallBaseNonTrivial &&self) : NonTrivial(self) {}
490+
491+ static int operator ()(const NonTrivial &arg) { return arg.f + 42 ; }
492+ };
493+
485494class HasStaticOperatorCallDerived : public HasStaticOperatorCallBase {};
486495
487496class HasStaticOperatorCallWithConstOperator {
Original file line number Diff line number Diff line change @@ -443,6 +443,13 @@ OperatorsTestSuite.test("HasStaticOperatorCallBase.call") {
443443 expectEqual ( 43 , res)
444444}
445445
446+ OperatorsTestSuite . test ( " HasStaticOperatorCallBase2.call " ) {
447+ let m = NonTrivial ( )
448+ let h = HasStaticOperatorCallBaseNonTrivial ( )
449+ let res = h ( m)
450+ expectEqual ( 48 , res)
451+ }
452+
446453OperatorsTestSuite . test ( " HasStaticOperatorCallDerived.call " ) {
447454 let h = HasStaticOperatorCallDerived ( )
448455 let res = h ( 0 )
You can’t perform that action at this time.
0 commit comments