Минимальный код:
int t;
static_assert(is_same_v<decltype(1, t), int&>);
Выше компилируется в g ++ и clang ++, но не работает в MSV C. MSV C, кажется, думает:
int t;
static_assert(is_same_v<decltype(1, t), int>);
Какой стандарт указан в стандарте? Я очень полагаюсь на эту модель для SFINAE.