initializer_list con auto contiene múltiples expresiones

Pregunta bastante simple,

auto x11 {1,2,3,4};
auto x1 = {1,2,3,4};
auto x22 {1.0, 2.25, 3.5};
auto x2 = {1.0, 2.25, 3.5};

or lo que yo entiendo, no debería haber diferencia aquí con respecto a tener= o no. Sin embargo, usando llvm / clang 6.0.0 (con --std = c ++ 17), obtengo:

main1.cpp:35:17: error: initializer for variable 'x11' with type 'auto' contains multiple
  expressions
auto x11 {1,2,3,4};
~~~~~~~~    ^

main1.cpp:37:20: error: initializer for variable 'x22' with type 'auto' contains multiple
  expressions
auto x22 {1.0, 2.25, 3.5};

Del libro de C ++ de Stroustroup, página 1662:

auto x1 {1,2,3,4}; // x1 is an initializer_list<int>
auto x2 {1.0, 2.25, 3.5 }; // x2 is an initializer_list of<double>

Entonces, ¿hay realmente un problema en no tener= ¿ahí

Respuestas a la pregunta(1)

Su respuesta a la pregunta