blob: 56d44ea24d6616cebdd93d2e3b21083ab7ea2f43 [file] [log] [blame]
%module xx
struct Low : High {
};
struct Small;
struct Big : Small {
};
%inline %{
namespace A {
class XYZ {};
template<typename T> struct ABC :
public B::ABC<T> {
};
}
namespace B {
template<typename T> struct ABC {
void aaa(T t) {}
};
}
%}
%template(ABCXYZ) A::ABC<A::XYZ>;
%template() B::ABC<int>;
%template(ABCint) A::ABC<int>;
template<typename T>
struct Another : WrongOrderBase<int> {
};
%template(AnotherBool) Another<bool>;
template<typename T> class WrongOrderBase {};
%template(ForAnotherInt) WrongOrderBase<int>;