Согласно справочной странице:
-fno-implicit-templates
Never emit code for non-inline templates which are instantiated implicitly (i.e. by use); only emit code for explicit instantiations.
Теперь в вашем примере вы создаете экземпляр типа, а затем вызываете методы, которые определены внутри определения шаблона класса и, таким образом, неявно inline
.
Вы можете попробовать это:
template <typename T>
void noop( T const & ) {}
int main() {
noop(1);
}
А затем скомпилировать с помощью g ++ -fno-implicit-templates -o test test.cpp