The configuration used: (Astyle 3.1)
It causes the && operator to be considered as reference operator and it is aligned to name.
astyle -n --style=linux --indent=tab --attach-namespaces --attach-classes --attach-extern-c --attach-closing-while --indent-classes --indent-modifiers --pad-oper --pad-comma --pad-header --unpad-paren --align-pointer=name --align-reference=name --max-code-length=120 --lineend=linux
Code before astyle:
auto enqueue(F&& f, Args&&... args)
-> std::future<typename std::result_of<F(Args...)>::type>;
Code after astyle:
auto enqueue(F &&f, Args &&... args)
-> std::future<typename std::result_of<F(Args...)>::type>;
This issue was resolved in the latest 3.2 beta release.