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

9 ответов

20 просмотров

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=851b2bfc05ca384a4ca04e30c095f61a Типа такого. compare из этого крейта https://crates.io/crates/compare SortType - просто некоторый параметр по которому можно сортировать.

EvGem
https://play.rust-lang.org/?version=stable&mode=de...

у тебя трейта Compare не хватает - добавь

Dmytro Polunin
у тебя трейта Compare не хватает - добавь

Да, я заметил. Ищу как, впервые использую xD

Kai-Ren Автор вопроса
EvGem
https://play.rust-lang.org/?version=stable&mode=de...

Из функции сырой dyn возвращать нельзя, так как он не Sized. Возвращай либо Box<dyn Compare<Self>> либо &dyn Compare<Self>.

Kai Ren
Из функции сырой dyn возвращать нельзя, так как он...

ему не нужен dyn Compare в том коде который показал он, не советуй пока лишнего

EvGem
https://play.rust-lang.org/?version=stable&mode=de...

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=fc31c30d46d8735b0fbe8f6152475bf6 вот так решается то что ты скинул

Dmytro Polunin
у тебя трейта Compare не хватает - добавь

Этот трейт не в топ 100, не получится в playground его заюзать видимо.

EvGem
Этот трейт не в топ 100, не получится в playground...

А ты точно хочешь этот крейт юзать?

Dmytro Polunin
А ты точно хочешь этот крейт юзать?

Другого компаратора я и не нашел. Но не в этом суть. Хочется разобраться как такие вещи делаются в расте. У меня возникло такое ощущение, что полиморфизм в этом языке не очень поддерживается. И как такую задачу решить. associated type тоже пробовал. Ошибка: error[E0308]: mismatched types --> src\model\manage\sort\mod.rs:32:26 | 32 | .reduce(|c1, c2| c1.then(c2)) | ^^^^^^^^^^^ expected associated type, found struct `Then` | = note: expected associated type `<S as Sortable>::Comparator` found struct `Then<<S as Sortable>::Comparator, <S as Sortable>::Comparator>` = help: consider constraining the associated type `<S as Sortable>::Comparator` to `Then<<S as Sortable>::Comparator, <S as Sortable>::Comparator>` = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html

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

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

а через 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
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
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
Карта сайта