On Fri, 2 Nov 2018 at 06:11, Owen Pan <owenpi...@gmail.com> wrote: > > I think that was a bug fix as the latest clang-format will convert the > "Before" code to "After" even in the absence of the .clang-format > configuration file.
Thanks for the hint. I upgraded from 6.0 to 7.0 and it does handle the trailing return types indeed. I noticed one issue which I wonder if it does qualify for a bug report: TL;TR: arrow followed by typename keyword is not handled Before: template <int K, typename E, typename L, int N> auto bbbbbbbbbbbbbbbbbbbbbbb(detail::base<E, L, N>& p) -> typename std::add_lvalue_reference<E>::type; After: template <int K, typename E, typename L, int N> auto bbbbbbbbbbbbbbbbbbbbbbb(detail::base<E, L, N> &p) -> typename std::add_lvalue_reference<E>::type; Whereas, if typename is removed: Before template <int K, typename E, typename L, int N> auto ccccccccccccccccccccccc(detail::base<E, L, N>& p) -> std::add_lvalue_reference<E>::type; After: template <int K, typename E, typename L, int N> auto ccccccccccccccccccccccc(detail::base<E, L, N> &p) -> std::add_lvalue_reference<E>::type; Best regards, -- Mateusz Loskot, http://mateusz.loskot.net _______________________________________________ cfe-users mailing list cfe-users@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users