Closed apolukhin closed 3 years ago
Andrey Davydov, 24 октября 2018, 7:45 Как я вижу по стандарту [expr.prim.lambda]:
lambda-expression:
lambda-introducer compound-statement
lambda-introducer lambda-declarator requires-clause_opt compound-statement
lambda-introducer < template-parameter-list > requires-clause_opt compound-statement
lambda-introducer < template-parameter-list > requires-clause_opt
lambda-declarator requires-clauseopt compound-statement
...
это разрешенная конструкция, просто gcc (на котором Вы, видимо, проверяли) пока не успел ее поддержать.
Wellarium, 24 октября 2018, 22:23 Andrey Davydov, да, Вы правы :) Я смотрел Concepts TS, который реализован в gcc, там про лямбда-выражения не упоминалось. Здорово, что это уже будет в стандарте.
Перенос предложения: голоса +2, -0 Автор идеи: Wellarium
В С++20 будет добавлена возможность указать список параметров шаблона для generic лямбда выражений, что позволяет использовать конструкции std::enable_if, std::void_t и т.п. для наложения ограничений на типы аргументов. Концепты же вводятся с целью поддержки такой функциональности на уровне языка: они работают для шаблонов классов, функций, но с лямбдами есть ограничения. Предлагаю разрешить использование всех способов объявления концептов в лямбдах, пока еще не поздно, чтобы концепты можно было полноценно применять ко всем шаблонным конструкциям языка.