%module nested_ignore
%warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) B::C::D;
%rename($ignore) B::C;
%inline %{
namespace B {
class C {
public:
struct D {
};
class E {
typedef C::D D;
struct F
{
const E::D foo(){ return E::D(); }
}
%}