¿Por qué lambda en el inicializador estático no puede acceder a miembros privados de la clase en VC ++ 2013?

Considere la siguiente pieza de código:

#include <iostream>

class foo {
  int var = 99;
public:
  static int const i;
};

int const foo::i = [&] { return foo().var; }();

auto main() -> int {
  std::cout << foo::i << std::endl;
  return 0;
}

Considerando el estándar§ 9.4.2 / 2 Miembros de datos estáticos [class.static.data]:

La expresión inicializadora en la definición de unstatic&nbsp;miembro de datos está en el alcance de su clase.

y

§ 5.1.2 / 2 y 3 expresiones Lambda [expr.prim.lambda]:

2&nbsp;La evaluación de una expresión lambda da como resultado un prvalue temporal (12.2). Este temporal se llama objeto de cierre. Una expresión lambda no aparecerá en un operando no evaluado (Cláusula 5). [Nota: Un objeto de cierre se comporta como un objeto de función (20.9) .- nota final]

3&nbsp;El tipo de la expresión lambda (que también es el tipo del objeto de cierre) es un tipo de clase sin unión único, sin nombre, llamado tipo de cierre, cuyas propiedades se describen a continuación. Este tipo de clase no es un agregado (8.5.1). El tipo de cierre se declara en el ámbito de bloque más pequeño, ámbito de clase o ámbito de espacio de nombres que contiene la expresión lambda correspondiente.

Terminamos concluyendo que la lambda en la expresión:

int const foo::i = [&] { return foo().var; }();

puede acceder legítimamenteprivate&nbsp;miembros declass foo&nbsp;ya que se declara y define en la expresión inicializadora delstatic&nbsp;miembroi&nbsp;declass foo, y como tal su alcance es el alcance declass foo.

El código se compila y funciona bien enGCC v4.8&nbsp;yClang v3.4., sin embargo, no se compila en VC ++ 2013 produciendo un error de compilación:

error C2248: 'foo :: var': no se puede acceder al miembro privado declarado en la clase 'foo'

Pregunta:

¿El comportamiento registrado anteriormente de VC ++ 2013 es un error o se atribuye a un comportamiento específico de VC ++ 2013 que podría modificarse al cambiar la configuración específica del compilador?