rsmith added a comment. Once this lands, we should also consider the corresponding case from a //fold-expression//: template<typename ...T> bool f(T ...t) { return (t < ...); } // warn if sizeof...(T) != 2 and we use built-in operator <. bool k = f(1.0, 2.0, 3.0); http://reviews.llvm.org/D13643