VA Version: VA_X.dll file version 10.9.2086.0 built 2015.12.16
VS Versoin: Visual Studio 2012
OS: Windows 7
I have a similar case with difficulty parsing a CRTP.
Oddly enough, if I type out "ArrayDerived<32, int>::", the suggestion list does appear, and it shows both base_function and derived_function. The issue is that the suggestion list does not appear after typing out "thing." (to show functions on the instantiated object).
This issue also occurs on joostn's example. The below is just a more complex case that I run into frequently.
SAMPLE CODE:
------------------------------------
template<typename element_type, typename derived_type>
class IArray
{
public:
const element_type &operator[](unsigned int element_index) const;
element_type &operator[](unsigned int element_index);
void i_array_function();
};
template<typename element_type, typename derived_type>
class ArrayBase : public IArray<element_type, derived_type>
{
public:
void base_function();
};
template<int element_count, typename element_type>
struct ArrayDerived : public ArrayBase<element_type, ArrayDerived<element_count, element_type> >
{
public:
void derived_function();
};
inline void test()
{
// ArrayDerived<32, int>:: // suggestions work
ArrayDerived<32, int> thing;
thing.i_array_function();
// thing. // suggestions don't work
}