T O P I C R E V I E W |
azdroppy |
Posted - Apr 20 2016 : 8:13:56 PM 'Create implementation'
If I have such class (being templated is vital).
namespace a { template<typename data_t> class b { public: void foo(); template<typename src_t> void makeFoo(src_t&&); }; }
And then 'Create implementation' for foo() then I get:
namespace a { template<typename data_t> class b { public: void foo(); template<typename src_t> void makeFoo(src_t&&); };
template<typename data_t> void a::b<data_t>::foo() {
}
} where 'a::' after void is surplus and I have to delete it manuall to make code look good.
If I 'create implementation' for makeFoo then the created method looks:
template<typename src_t> void a::b::makeFoo(src_t&&) {
} It has only 'inner' template definition of the method and misses 'external' class template.
|
1 L A T E S T R E P L I E S (Newest First) |
feline |
Posted - Apr 21 2016 : 12:41:51 PM Thank you for the clear code, I am seeing the same effects here.
For the "foo" function, with the namespace being added, this is a known bug:
case=4240
Since this code still compiles, this is not a high priority bug, but I agree, it does not look as nice as it could, and this is a bug.
For the "makeFoo" template function, this is also a known bug, and it is one we are hoping to get to fairly soon:
case=5476
Unfortunately I don't currently have an estimate, but since this is generating invalid code it is clearly important. |
|
|