Инициализация списка MSVC ICE при использовании со структурами?
Этот фрагмент кода хорошо компилируется на gcc 8.1 и clang 6.0, но дает ICE на MSVC (предварительный выпуск на 2017 и 2018 годы):
#include <vector>
#include <string>
struct Data {
unsigned char data;
};
struct A {
std::string x;
Data y{255};
};
void f(std::vector<A> arg) {
}
int main() {
f(std::vector<A>{{"Test"}});
}
Очевидно, я столкнулся с еще одной ошибкой компилятора MSVC.
Но чтобы быть действительно уверенным: приведенный выше код соответствует стандарту C++ или я тоже допустил ошибку?