Add test showing typemap failure

This commit is contained in:
Seth R Johnson 2019-02-06 08:40:21 -05:00
commit 4824b56e59

View file

@ -38,3 +38,27 @@ template<typename T> struct TemplateTest1 {
%inline %{ %inline %{
void wasbug(TemplateTest1< int >::Double wbug) {} void wasbug(TemplateTest1< int >::Double wbug) {}
%} %}
/* Test bug where the %apply directive was ignored inside anonymous template
* instantiations */
template<class T>
struct Foo {
%typemap(in) Foo<T> ""
%apply Foo<T> { const Foo<T> & }
};
%{
template<class T> struct Foo {};
%}
%template(Foo_int) Foo<int>;
%template() Foo<double>;
%inline %{
void this_works(Foo<int> f) {}
void this_also_works(const Foo<int>& f) {}
void this_also_also_works(Foo<double> f) {}
void this_fails(const Foo<double>& f) {}
%}