TL;TR: обновите до clang-format 7.0 или более поздней версии.
Clang-format 7.0 поставляется с исправлениями, связанными с завершающим возвратом, поэтому вы сможете добиться желаемого форматирования:
До
template <int K, typename E, typename L, int N>
auto ccccccccccccccccccccccc(detail::base<E, L, N>& p) -> std::add_lvalue_reference<E>::type;
После:
template <int K, typename E, typename L, int N>
auto ccccccccccccccccccccccc(detail::base<E, L, N> &p)
-> std::add_lvalue_reference<E>::type;
С этим связана небольшая проблема, от которой все еще страдает формат clang 7 https://bugs.llvm.org/show_bug.cgi?id=42835 и не делает отступ для разрыва конечного возврата, если используется typename
:
До:
template <int K, typename E, typename L, int N>
auto bbbbbbbbbbbbbbbbbbbbbbb(detail::base<E, L, N>& p) -> typename std::add_lvalue_reference<E>::type;
После:
template <int K, typename E, typename L, int N>
auto bbbbbbbbbbbbbbbbbbbbbbb(detail::base<E, L, N> &p) ->
typename std::add_lvalue_reference<E>::type;
Связанная ветка списка рассылки: [cfe-users] [clang-format ] Тип возвращаемого значения в конце
person
mloskot
schedule
30.07.2019