Size: a a a

2021 May 07

Е

Евгений in dlang.ru
Насколько я понимаю в расте можно иметь несколько мутабельных объектов завернутых в Arc.
источник

ID

Iv@n Dereviankin in dlang.ru
Да. Или rc, если в одном потоке
источник

Е

Евгений in dlang.ru
Потоке. А если передать rc в другую корутину? В расте есть корутины?
источник

ID

Iv@n Dereviankin in dlang.ru
Нет. Корутин -- нет (если мы про стд). Только потоки
источник

ID

Iv@n Dereviankin in dlang.ru
Rc не реализует интерфейс (trait по-растовски) Send => его нельзя передать
источник

Е

Евгений in dlang.ru
В идеале и в другую корутину надо запрещать.
источник

ID

Iv@n Dereviankin in dlang.ru
Да нет в расте корутин как таковых
источник

ID

Iv@n Dereviankin in dlang.ru
Разве что футуры с большой натяжкой
источник

Е

Евгений in dlang.ru
Ну если когда-нибудь появятся или в либе какой-нибудь.
источник

ID

Iv@n Dereviankin in dlang.ru
Если появятся -- их безопасность проверят, а если в либе -- то через сейф подмножество оно будет безопасным
источник

И

Игорь in dlang.ru
Безопасность гарантирует компилятор
источник

Е

Евгений in dlang.ru
Я в том смысле, что если есть GC, то безопасно иметь несколько мутабельных ссылок в одном потоке/корутине.
источник

И

Игорь in dlang.ru
Я не боролся с компилятором, я понимаю проблему и старался ее решить легальными методами. Есть unsafe, но я не большой спец в расте
источник

Е

Евгений in dlang.ru
Rc - в том же расте - это разновидность GC
источник

И

Игорь in dlang.ru
Для меня гц плох, в силу специфики задач
источник

Е

Евгений in dlang.ru
детерминированный GC вполне неплох.
источник

Е

Евгений in dlang.ru
Rc для решения такой проблемы, вполне себе годится.
источник

И

Игорь in dlang.ru
Тогда все либы которые я задействую должны быть готовы работать с рц
источник

И

Игорь in dlang.ru
А так - да, вполне себе метод
источник

Е

Евгений in dlang.ru
Да, поэтому когда rc встроен прямо в язык - это круто.
И такой язык есть - Nim
источник