Minoru в bar.cpp он инстанциируется, потому что он там используется. Темплейты не телепортируются, они просто превращаются в код каждый раз, когда их кто-то использует; этот код попадает в .o; линковщик находит среди этих .o повторяющиеся инстансы и оставляет только один