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

Привет! есть-ли возможность реализовать что-то типа: trait A {

type X: B;
}

trait B {
}

static STATE: A = Aimpl::new();


https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=93285bb6dacd5f3f3adde79c9a103525

16 ответов

15 просмотров

: A это то же самое, что и :dyn A, но безразмерное значение вот так хранить нельзя

Проблема как минимум с тем, что new это не константная функция

Tux- Автор вопроса
Mikail Bagishov
Проблема как минимум с тем, что new это не констан...

я вот так частично решил, но вот с ассоциированным типом никак разобраться не могу https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=19e5559da925fabd7baabbbb0b8c694b

Tux
я вот так частично решил, но вот с ассоциированным...

Так под каждый вариант ассоциированного типа нужно по static константе создавать получается?

Tux- Автор вопроса
Yevhen Kazmin
Так под каждый вариант ассоциированного типа нужно...

да, это синглтон в .so библиотеке. а трейт нужен для комфортности разработки

Tux
да, это синглтон в .so библиотеке. а трейт нужен д...

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=b966e61332706ae2ac59f0b58420bd99

Tux
да, это синглтон в .so библиотеке. а трейт нужен д...

В чем комфорт? Трейты нужны если у тебя >1 реализации

Tux- Автор вопроса
Αλεχ Zhukovsky
В чем комфорт? Трейты нужны если у тебя >1 реализа...

так и есть: sdk предполагает реализацию трейта, в контакте каждой подключаемой либы есть только один синглтон, но в целом это универсальный интерфейс для взаимодействия с базовым процессом

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

спасибо большое! попробую этот вариант!)

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

UB при многопоточном использовании. Запускать с мири https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=196d71080c34a3ee14b43e7482b0dc9d

red75prime
UB при многопоточном использовании. Запускать с ми...

да, не спорю, не использовал раст в многопоточных задачах, поэтому опыта написать правильно нету, сори

Tux- Автор вопроса
red75prime
UB при многопоточном использовании. Запускать с ми...

там только read ссылки в монопотоке будут использоваться, но на всякий случай можно в rwlock обернуть статик

Tux
там только read ссылки в монопотоке будут использо...

Для таких случаев есть once_cell: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=54cbc9343e0bd2088c40dcaf8ee31137 Miri - виртуальная машина, которая проверяет наличие некоторых UB. Есть на плейграунде. Справа - Tools > Miri

Tux- Автор вопроса
red75prime
Для таких случаев есть once_cell: https://play.rus...

я для инициализации его и использую)

Tux- Автор вопроса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта