SFINAE in variadic templates?

Is <https://llvm.org/bugs/show_bug.cgi?id=23840&gt; a valid issue? [temp.deduct] p7 seems to say so, but I'd be happy to have a more-experienced language lawyer confirm this. Here's the relevant text: "The substitution [from template argument deduction] occurs in *all* types and expressions that are used in the function type and in template parameter declarations." (Emphasis mine.) That would imply that the following would trigger SFINAE, right?

   template<typename T> struct always_false : std::false_type {};
   template<typename T, std::enable_if_t<always_false<T>::value, int>...>
   void func(T &) {}

As the bug notes, this issue makes it impossible to use libstdc++'s implementation of <experimental/optional>. If the issue is indeed in clang, I could take a look at fixing this.

Thanks,
Jim