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

Подскажите пожалуйста, к примеру есть такой код: impl ToString for Role {

fn to_string(&self) -> String {
match *self {
Role::Primary => "primary".to_string(),
Role::Replica => "replica".to_string(),
Role::Mirror => "mirror".to_string(),
}
}
}

зачем в match разыменовывают &self?

9 ответов

22 просмотра

чтобы скопировать, а вообще незачем, и так же будет работать, не?

wagner- Автор вопроса
Александр Ф. 🇷🇺
чтобы скопировать, а вообще незачем, и так же буде...

Да я вот тоже думаю, пишу PR к pgcat Я то новичок в раст, а там вроде серьезные дядьки сидят, не пойму зачем там разыменование

wagner- Автор вопроса
Александр Ф. 🇷🇺
а есть ли разница?

Я вот тоже думаю, что под капотом раст должен всё равно заматчить и без разыменовывания

wagner- Автор вопроса
wagner
Я вот тоже думаю, что под капотом раст должен всё ...

1. старые эдишоны раста не умели нормально дереференсить 2. если ветки матча генерируются идешкой то она вставит явный дереференс опять же чтоб типы сошлись

wagner- Автор вопроса
Александр Ф. 🇷🇺
нет, ее нет

Понял, спасибо всем, ребята

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта