From: SourceForge.net <no...@so...> - 2010-05-26 08:03:09
|
Bugs item #2944675, was opened at 2010-02-03 04:29 Message generated for change (Settings changed) made by olly You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=2944675&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. >Category: code generation (general) Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Sébastien Loriot (sloriot) Assigned to: Nobody/Anonymous (nobody) Summary: Mismatching between class name and other type Initial Comment: Hello, Using the file attached: struct A{}; template <class T> struct B{ typedef A C; }; template <class T> struct C{ typedef B<T> BT; typename BT::C get_data(){return data;}; typename BT::C data; }; with .i %module t3 %{ #include "t3.h" %} %include "t3.h" %template(Vh_sc) C<int>; Swig generates SwigValueWrapper< C< int >::BT::C<(int)> > result; instead of SwigValueWrapper< C< int >::BT::C > result; Everything works as expected if I change the typedef in class B. ---------------------------------------------------------------------- Comment By: William Fulton (wsfulton) Date: 2010-02-06 09:50 Message: The current version in svn generates: SwigValueWrapper< C< int >::BT::C< int > > result; which is slightly different, but still the trailing <int> needs to be dropped. ---------------------------------------------------------------------- Comment By: Sébastien Loriot (sloriot) Date: 2010-02-03 04:34 Message: Forgot to mention usual info: SWIG Version 1.3.40 Compiled with g++ (Debian 4.3.4-6) 4.3.4 Best. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=2944675&group_id=1645 |