172 похожих чатов

Сейчас читаю про шаблоны в плюсах, конкретно про явное и

неявное инстанцирование.
А в расте есть необходимость в явном истанцировании?
Если я в двух файлах использую одну и ту же generic-функцию с одним и тем же типовым параметром, будет ли она инстанцирована (и, соответственно, скомпилирована) дважды?

12 ответов

18 просмотров

Дубли убираются

Eugene- Автор вопроса
Пух
Дубли убираются

На этапе линковки?

оптимизатор вроде все ненужное по его мнению убирает

Eugene
На этапе линковки?

Скорее всего зависит от того, где оно дублируется. В пределах крейта должно скомпилить один раз

в расте если ты напишешь 2 функции одинаковых но с разным названием в годболте увидишь что в итоге компилятор 1 ток сделает и в обоих местах будет её вызывать

Αλεχ Zhukovsky
в расте если ты напишешь 2 функции одинаковых но с...

А вот это уже где-то в самом конце убирается, не?

Αλεχ Zhukovsky
https://rust.godbolt.org/z/reb53f5T5

Ну я про этапы компиляции, да. И изначальный вопрос в том, в какой момент дубликаты дженерик типов/функций будут убраны

Пух
Ну я про этапы компиляции, да. И изначальный вопро...

Этого не знаю, наверное можно проверить но кажется чутка бесполезно. Я отвечал на > Если я в двух файлах использую одну и ту же generic-функцию с одним и тем же типовым параметром, будет ли она инстанцирована (и, соответственно, скомпилирована) дважды? И ответ - нет, не будет. По крайней мере в рамках 1 транслейшн юнита

Пух
А если в двух зависимостях?

учитывая что в расте зависимости линкуются статически то думаю разницы быть не должно. НО я не проверял так что врать не буду)

Пух
Ну я про этапы компиляции, да. И изначальный вопро...

Скорее всего на этапе оптимизаций LLVM https://llvm.org/docs/Passes.html#mergefunc-merge-functions

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта