Are auto placeholder types and explicitly defined template type parameters completely equivalent?
I've read that the spec states that "A placeholder-type-specifier designates a placeholder type that will be replaced later by deduction from an initializer."
(9.2.8.5 Placeholder type specifiers http://eel.is/c++draft/dcl.spec.auto#:auto )
So are the following equivalent as far as instantiation, const types, reference types, etc?
void f1(auto param) {
using T = decltype(param);
T t1;
}
template <class T> void f2(T param ) {
T t1;
}