// Test cases for classes that do *NOT* result in smart-pointer wrapping %module smart_pointer_not %{ #if defined(__SUNPRO_CC) #pragma error_messages (off, arrowrtn) /* Questionable return type for ... */ #endif %} %inline %{ struct Foo { int x; int getx() { return x; } }; class Bar { Foo *f; public: Bar(Foo *f) : f(f) { } Foo operator->() { return *f; } }; class Spam { Foo *f; public: Spam(Foo *f) : f(f) { } Foo &operator->() { return *f; } }; class Grok { Foo *f; public: Grok(Foo *f) : f(f) { } Foo **operator->() { return &f; } }; %}