Size: a a a

2020 August 14

CD

Constantine Drozdov in rust_offtopic
можно вообще не использовать рантаймовые описания интерфейсов
источник

AZ

Alex Zhukovsky in rust_offtopic
ранатайм тут не при чем вообще
источник

CD

Constantine Drozdov in rust_offtopic
как раз при чем
источник

CD

Constantine Drozdov in rust_offtopic
у вас нет необходимости пополнять интерфейс методом perimeter, если вы можете сказать "мне нужен ShapeWithSquareAndPerimeter"
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
если тебе нужно чтобы фигура реально имела площадь, а не некоторый AreableShape, то других вариантов нет
есть
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
это не третий путь, это первый путь
dyn Trait возникает, когда вам нужно прочитать данные из внешнего источника и стереть информацию о типе, связавшись с этими данными
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
dyn Trait возникает, когда вам нужно прочитать данные из внешнего источника и стереть информацию о типе, связавшись с этими данными
dyn Trait всгде можно заменить на <T: Trait>
источник

AZ

Alex Zhukovsky in rust_offtopic
вопрос только хочешь ли ты тащить T через весь коллстек или нет
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
dyn Trait всгде можно заменить на <T: Trait>
возможно, я не знаю, что такое dyn Trait в расте?
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
вопрос только хочешь ли ты тащить T через весь коллстек или нет
хм... нет
источник

CD

Constantine Drozdov in rust_offtopic
если я читаю имя класса из потока ввода
источник

CD

Constantine Drozdov in rust_offtopic
нужно будет немного другой уровень теории типов
источник

AZ

Alex Zhukovsky in rust_offtopic
то чтобы смаппить его на тип тебе нужна функция String -> T
источник

CD

Constantine Drozdov in rust_offtopic
String -> dyn T
источник

AZ

Alex Zhukovsky in rust_offtopic
никакого эвала который автоматически создаст тебе инстанс по имени не существует
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
String -> dyn T
не обязательно
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
не обязательно
я не могу указать точный тип после этого, если у меня не завтиповый язык
источник

AZ

Alex Zhukovsky in rust_offtopic
Constantine Drozdov
я не могу указать точный тип после этого, если у меня не завтиповый язык
fn get_type(s: &str) -> Either<i32, i64> {
  match s { ... }
}
источник

CD

Constantine Drozdov in rust_offtopic
Alex Zhukovsky
fn get_type(s: &str) -> Either<i32, i64> {
  match s { ... }
}
у меня фабрика и регистрация
источник

CD

Constantine Drozdov in rust_offtopic
открытая реализация
источник