Size: a a a

2020 August 29

АК

Александр Караев... in supapro.cxx
Да ну, consteval sfinae-friendly по всему телу функции?
источник

ᅠ‌

ᅠ ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌... in supapro.cxx
Danya
В enable_if нет ::type при false, потому что он не объявлен
да
источник

ПК

Побитый Кирпич... in supapro.cxx
Александр Караев
Да ну, consteval sfinae-friendly по всему телу функции?
А там не факт что сфинае ошибка
источник

ПК

Побитый Кирпич... in supapro.cxx
Может там аборт компиляции
источник

ᅠ‌

ᅠ ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌... in supapro.cxx
Побитый Кирпич
А там не факт что сфинае ошибка
похоже, я в заблуждение ввел и там точно не она
источник

D

Danya in supapro.cxx
А я кажется понял и это всё было баловство
До этого пропозала для consteval функций требовалось вычисление в unevaluted context (коим и является аргумент decltype), но теперь видимо нет
http://open-std.org/JTC1/SC22/WG21/docs/papers/2020/p1937r2.html
источник

D

Danya in supapro.cxx
Danya
Должно ли компилироваться?
Анонимный опрос
40%
Да
35%
Нет
25%
UB
Проголосовало: 20
Правильный ответ: да
источник

ᅠ‌

ᅠ ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌... in supapro.cxx
Danya
Правильный ответ: да
а что с deleted ctor? или к 20-му стандарту поменялись правила?
источник

D

Danya in supapro.cxx
Ничего с ним
Выражение внутри decltype не выполняется => функция не инстанциируется => никакой проблемы с deleted ctor нет
источник

ᅠ‌

ᅠ ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌... in supapro.cxx
тьфу, опять не в ту сторону смотрю
источник

ᅠ‌

ᅠ ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌... in supapro.cxx
тогда и без consteval проверяется
источник

D

Danya in supapro.cxx
В смысле?
источник

ᅠ‌

ᅠ ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌... in supapro.cxx
в смысле на 17-м стандарте с пресловутым constexpr тот же результат можно получить
источник

D

Danya in supapro.cxx
Danya
А я кажется понял и это всё было баловство
До этого пропозала для consteval функций требовалось вычисление в unevaluted context (коим и является аргумент decltype), но теперь видимо нет
http://open-std.org/JTC1/SC22/WG21/docs/papers/2020/p1937r2.html
Опять же
До этого пропозала с constexpr компилировалось, с consteval — нет
После него поведение одинаковое — как с constexpr
источник

D

Danya in supapro.cxx
У меня был немного устаревший квиз))
источник

ᅠ‌

ᅠ ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌... in supapro.cxx
у шланга все ок https://godbolt.org/z/EesaM7
источник

ᅠ‌

ᅠ ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌... in supapro.cxx
GCC и правда валится на conteval
источник

ᅠ‌

ᅠ ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌... in supapro.cxx
а. так и с гцц все в порядке
источник

D

Danya in supapro.cxx
Я уже выключил компьютер
В общем правильное поведение — скомпилируется
В кланге в транке не компилировалось
Завтра репортить буду
источник

D

Danya in supapro.cxx
Надо флаг -std=c++20 подать)
источник