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

Всем добра, и еще один новичок пришел к вам за

помощью.

Хочу создать переменную типа HashMap, значениями которой могут быть структуры, реализующие определенный трейт. Это возможно?

Пишу

trait StructTrait {
fn func(&self) -> HashMap<u64, AnotherStruct>;
}

struct SimpleStruct {
hashmap: HashMap<u64, OneMoreStruct>,
}

impl StructTrait for SimpleStruct {
fn func(&self) -> HashMap<u64, AnotherStruct> {
let hm: HashMap<u64, AnotherStruct> = HashMap::new();
nm
}
}

let mut hashmap: HashMap<u64, dyn StructTrait> = HashMap::new()

Но компилятор ругается

the trait std::marker::Sized is not implemented for dyn StructTrait

1 ответов

8 просмотров

Вообще dyn Trait'ы стоит использовать достаточно редко, но это возможно. Надо обернуть dyn Trait в коробку (Box<_>) или ссылку (&_)

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

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

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
что за асемблер кста?
Shvabrikk Nya
19
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
embassy это топ фреймворк для эмбеддед на данный момент?
AS Sarb
23
Ребята, я 3 дня как вкатился в ардуино Думал на прогрессивном молодом языке Rust попилить что-нибудь А как-то грустно с библиотеками оказалось. Не подскажете почему так? Если...
AS Sarb
18
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
This automated cryptocurrency trading system uses intelligent algorithms to buy low and sell high on leading crypto exchanges. Many users have already enjoyed significant prof...
Endu Wako
1
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Карта сайта