Chamando a função de membro `this` do lambda genérico - clang vs gcc

Questão: passando um lambda genérico(para uma função de modelo) que capturathis e chama uma função membro dethis sem um explícitothis-> não compila no gcc. Se o lambda não for genérico, ou se o lambda não for passado para nenhuma outra função, mas chamado no lugar, ele compila sem um comando explícito.this->. Clang é legal com o código em todas as situações.

Hora de outra rodada declang vs gcc. Quem está certo?

Exemplo de Wandbox

template<typename TF>
void call(TF&& f)
{
    f(1);   
}

struct Example
{        
    void foo(int){ }

    void bar()
    {
        call([this](auto x){ foo(x); });
    }
};

int main()
{
    Example{}.bar();
    return 0;
}
Combar() = call([this](auto x){ foo(x); });clang ++ 3.6+compila.g ++ 5.2+não compila.

erro: não é possível chamar a função de membro 'void Example :: foo (int)' sem chamada de objeto ([this] (auto x) {foo (x);}); `

Combar() = call([this](auto x){ this->foo(x); });clang ++ 3.6+compila.g ++ 5.2+compila.Combar() = call([this](int x){ foo(x); });clang ++ 3.6+compila.g ++ 5.2+compila.Combar() = [this](auto x){ foo(x); }(1);clang ++ 3.6+compila.g ++ 5.2+compila.

Porque é othis->&nbsp;necessário apenas no caso de um lambda genérico?

Porque é othis->&nbsp;não é necessário se o lambda não for passado paracall?

Quem não está em conformidade com os padrões?