Size: a a a

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

2020 March 02

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Это библиотечная опердень. Так-то можно тогда достать из витейбла адрес метода скастовать в указатель на функцию и вызвать.
источник

MV

Mikhail Voronov in Rust — русскоговорящее сообществo
Mikola Summer Duck
Это библиотечная опердень. Так-то можно тогда достать из витейбла адрес метода скастовать в указатель на функцию и вызвать.
это не к вопросу про диспатчинг ассоциированных методов, а к вопросу, как из dyn Type достать Type
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
Ав пардон
источник

MV

Mikhail Voronov in Rust — русскоговорящее сообществo
у меня просто ощущение, что это не то чтобы технически сейчас не возможно, а бесполезно с логической точки зрения, т.к. эквивалентно вызову обычного метода. Т.е. ассоциированные методы не используют возможности динамического полиморфизма, т.к. нет self и, соответственно, указателя на полиморфные данные.
источник

P

Pavel in Rust — русскоговорящее сообществo
Pavel
кстати, нет пропозалов? чтоб unsized структура могла рассказать языку про свой размер?
источник

P

Pavel in Rust — русскоговорящее сообществo
Mikhail Voronov
у меня просто ощущение, что это не то чтобы технически сейчас не возможно, а бесполезно с логической точки зрения, т.к. эквивалентно вызову обычного метода. Т.е. ассоциированные методы не используют возможности динамического полиморфизма, т.к. нет self и, соответственно, указателя на полиморфные данные.
ассоциированные методы могут иметь разные реализации же
источник

P

Pavel in Rust — русскоговорящее сообществo
как Default, например
источник

MV

Mikhail Voronov in Rust — русскоговорящее сообществo
Pavel
ассоциированные методы могут иметь разные реализации же
ну если есть Box<dyn Type>, то тут только Type::default же возможен
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
dyn Default
источник

p

polunin.ai in Rust — русскоговорящее сообществo
1
источник

p

polunin.ai in Rust — русскоговорящее сообществo
2
источник

P

Pavel in Rust — русскоговорящее сообществo
Mikhail Voronov
ну если есть Box<dyn Type>, то тут только Type::default же возможен
ну так если бы у тебя был

trait CustomizableStruct: Default {
  pub fn set_u16(&self, value: u16);
}
, то имел бы смысл?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
это как??
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
polunin.ai
это как??
источник

p

polunin.ai in Rust — русскоговорящее сообществo
ну я уже понял
источник

r

red75prime in Rust — русскоговорящее сообществo
polunin.ai
это как??
Что-то ещё менялось, кроме текста в макросе.
источник

p

polunin.ai in Rust — русскоговорящее сообществo
red75prime
Что-то ещё менялось, кроме текста в макросе.
не, там просто внутри в одном месте требовался char, а в другом &str
источник

MV

Mikhail Voronov in Rust — русскоговорящее сообществo
Pavel
ну так если бы у тебя был

trait CustomizableStruct: Default {
  pub fn set_u16(&self, value: u16);
}
, то имел бы смысл?
ну так функции же нельзя переопределить при "наследовании" трейтов
источник

p

polunin.ai in Rust — русскоговорящее сообществo
the trait std::convert::From<char> is not implemented for &str черд
источник

MS

Mikola Summer Duck in Rust — русскоговорящее сообществo
polunin.ai
the trait std::convert::From<char> is not implemented for &str черд
str это не массив чаров, потому так нельзя
источник