1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
%module A %warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) B::C::D; %rename($ignore) B::C; %inline %{ namespace B { class C { public: struct D { }; }; class E { public: typedef C::D D; }; struct F { const E::D foo(){ return E::D(); } }; } %}