the following code produces an internal compiler error (VS2015)

```
struct A
{
    constexpr A(){}
    constexpr int bar()
    {
        return 3;
    }
};

struct B : A
{
    constexpr B(){}
    constexpr int foo()
    {
        return A::bar();
    }
};

int main()
{
    constexpr B b;
    constexpr int dummy = b.foo();
    return 1;
}

```

However, if i'd remove the A:: qualifier:

```
constexpr int foo()
{
    return bar();
}

```

it will be compiled.
problem arises when these methods have the same name, and I need to invoke the base class method. (e.g. when using recursive template inheritence)

any workarounds?