Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Nikolay Kim
    @fafhrd91
    Можно использовать Phantom<Rc<T>>
    Psilon
    @Pzixel
    почему не работает?
    Psilon
    @Pzixel
    я же точно видел implement !Send
    а не, не видел
    Serhii Plyhun
    @snuk182
    оно работает в ночнике с #![feature(optin_builtin_traits)]
    но его вроде как собираются совсем убрать из определения rust-lang/rust#28475
    с Rc идея интересная, правда нужен доступ к изначальной структуре, а не только impl <T: MyTrait> !Send for T { ... }
    Psilon
    @Pzixel
    я выше скинул
    тебе не подходит?
    хотя это то же самое по сути
    Я бы наверное сделал враппер Unsendable
    и все оборачивал в него
    хотя хз подходит ли тебе это
    Serhii Plyhun
    @snuk182
    мне пока норм, я могу воткнуть этот фантом в базовый класс, все равно от него все наследуются
    Sherzod Mutalov
    @shmutalov
    А зачем такое нужно? Я про негативные трейт-баунды
    Serhii Plyhun
    @snuk182
    например, я не хочу, чтоб структуру передавали в другие потоки
    в недопиленной пока что специализации постоянно встречаются конфликты реализаций - конпилятор не знает, что trait Button и trait Layout друг другу ортогональны и не могут быть реализованы одной и той же структурой, а сообщить ему об этом некак
    Sherzod Mutalov
    @shmutalov
    @snuk182 почему? А тебе какая разница?
    Serhii Plyhun
    @snuk182
    @shmutalov потому что мне надо
    какая тебе разница
    бизнес задач с привязкой инстанса к породившему потоку - уйма
    Psilon
    @Pzixel
    STAThread :D
    что за чушь?
    почему не 64?
    а лол
    ;
    Nick Linker
    @nlinker
    По моему отличное добавление для https://forum.rustycrate.ru/t/prostye-oshibki-kotorye-vy-dopuskaete-po-nevnimatelnosti/ :-D
    Psilon
    @Pzixel
    так там уже есть)
    Nick Linker
    @nlinker
    Все копирайты сохранены (ТМ)
    Psilon
    @Pzixel
    ага
    в реальном коде заметить сильносложнее
    поэтому выложил прям как было
    а не упрощенный MRE
    Nick Linker
    @nlinker
    тогда наверное надо удалить, ок
    или не надо, как полагаешь?
    Psilon
    @Pzixel
    оставь)
    Nick Linker
    @nlinker
    хорошо
    james-bay
    @james-bay
    У меня небольшой вопрос. Я читал что в рантайме Rust проверяет обращение за границы массива. Это поведение можно как-то отключить?
    Сухарик
    @suhr
    Можно использовать небезопасное обращение к элементу массива.
    ...но не нужно.
    Sherzod Mutalov
    @shmutalov
    @james-bay у тебя 13,81 миллиарда значений в массиве?
    james-bay
    @james-bay
    В некоторых случаях (в условиях очень сильно ограниченных ресурсов) когда нужно обращение к конкретным элементам это может быть нежелательно
    Сухарик
    @suhr
    Потому что:
    1. Безопасность важнее
    2. Некоторые вещи не используют проверки, например, итераторы
    james-bay
    @james-bay
    @shmutalov Rust это же системный язык с нулевой абстракцией. Значит его применение не заканчивается на создании кода для высокопроизводительных систем, где экономия на спичках вредна и опасна.
    В общем понятно. Спасибо!
    @suhr Спасибо!
    Сухарик
    @suhr
    @james-bay Пожалуйста. Вот ещё дока по срезам: https://doc.rust-lang.org/std/primitive.slice.html
    james-bay
    @james-bay

    @james-bay Пожалуйста. Вот ещё дока по срезам: https://doc.rust-lang.org/std/primitive.slice.html

    Спасибо! Буду все читать