Size: a a a

Rust — русскоговорящее сообществo

2020 October 26

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Опять компилятор шатаете , шайтаны 😂
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
Emmanuel Goldstein
1. Так что, нельзя?
2. Почему?
3. Что делать?
ошибка возникает на . . .?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Денис Котляров
ошибка возникает на . . .?
Первой строке, потому что параметр типа T не constrainted
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Первой строке, потому что параметр типа T не constrainted
накинь пример в playground
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Денис Котляров
накинь пример в playground
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=10a6cbe9fe540762198cfd5a68d1f934
Кажется, Rust просто не может это выразить
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
вот.

короче
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
Emmanuel Goldstein
1. Так что, нельзя?
2. Почему?
3. Что делать?
если тут речь шла про тип T то делай не просто R, а обертку с R но T как Phantom
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Ну, да, так можно, но это будет неюзабельно.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Придётся вызывать трейтметоды через создание тупла с фантомом
Проще имплементировать трейт вручную макросом
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Ну, да, так можно, но это будет неюзабельно.
либо меняй трейт. чтобы T не был <T> а был как type T
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
Денис Котляров
либо меняй трейт. чтобы T не был <T> а был как type T
как я хорошо объясняю:)))
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Денис Котляров
либо меняй трейт. чтобы T не был <T> а был как type T
Это я попробую, но у меня ощущение, что код в другом месте сломается.
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Это я попробую, но у меня ощущение, что код в другом месте сломается.
да. так как type T != <T>
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Денис Котляров
да. так как type T != <T>
Не, это понятно
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
либо обертку с Phantom
источник

ДК

Денис Котляров... in Rust — русскоговорящее сообществo
другое я придумать не могу
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Я про то, что ассоциированный тип мне, кажется, не подходит на самом деле и нужно несколько имплементаций для одного типа
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Вероятно, я просто макросом навешу эту имплементацию на свои типы
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
А для всех остальных сделаю дополнительный метод в самом трейте
источник