11 Jan 2021 |
Vital Leshchyk (Gitter) |
И у него есть публичный new без параметров?
использую оба варианта для разных структур в общем виде с параметрами. частные случаи могут быть и без | 21:38:45 |
tanriol (Gitter) | Просто мне кажется, что это предупреждение относилось к тому случаю, когда есть публичный new без параметров. То есть пользователь всё равно может создавать такие объекты, эта реализация не даёт ему принципиально новой возможности... но даёт потенциально мелкие удобства в стиле какого-нибудь там .unwrap_or_default() вместо .unwrap_or(MyStruct::new()) или возможности передавать их в обобщённые функции с требованием Default . | 21:47:54 |
Vital Leshchyk (Gitter) | @tanriol:matrix.org т.е. если нет параметров - то лучше вместо new использовать default? | 21:49:20 |
tanriol (Gitter) | То лучше иметь оба. | 21:50:09 |
Vital Leshchyk (Gitter) | а если лениво и на 99% уверен, что плюшками от дефолта пользоваться не буду? | 21:52:11 |
tanriol (Gitter) | Тогда отключи этот ворнинг и добавляй дефолт когда твои юзеры попросят :-) | 21:53:08 |
Vital Leshchyk (Gitter) | спасибо | 21:54:04 |
Vital Leshchyk (Gitter) | п.с. в шапке этого чата по ссылке открывается инфа совсем не про раст. нужен админ чтоб починить | 21:55:06 |
Vital Leshchyk (Gitter) | @tanriol:matrix.org возможно ты ещё можешь объяснить нубу почему заимствовать Box плохо? | 22:17:59 |
tanriol (Gitter) | Да не то чтобы плохо, скорее бессмысленно - ссылка на значение внутри бокса позволяет делать всё ровно то же самое. Возможно, даже чуть быстрее, если компилятор не додумается это оптимизировать. | 22:19:42 |
Vital Leshchyk (Gitter) | хм.. подумаю как переделать в моём случае в боксе лежит dyn Trait и для бокса реализовано несколько полезных трейтов вроде eq, clone. проще было клонить боксы, чем разруливать косяки с заимствованиями и мувами :( | 22:24:26 |
12 Jan 2021 |
Lepuroid (Gitter) |
проще было клонить боксы, чем разруливать косяки с заимствованиями и мувами :(
А зачем тогда Rust? :) | 08:32:42 |
17 Jan 2021 |
| brisavion joined the room. | 13:14:42 |
18 Jan 2021 |
Alexander Irbis (Gitter) | @itcreator Box - это лишь один из видов контейнера - один из способов управлять памятью. Контейнером могут быть разные типы, например, те же ссылки со счётчиком Rc<T>/Arc<T>, или что-то более экзотичное, вроде сборщика мусора со своим Gc<T>. Реализовывать для каждого типа необходимые трейты - достаточно геморно, да и заранее все типы знать зачастую невозможно (в чём обычно и смысл динамической диспетчеризации). Проще всё реализовать для ссылки, которая будет одинаковой для любого из этих типов. Плюс ссылка на динамический объект может быть получена и из ссылки на простой тип, реализующего типаж, и на внутренности других контейнеров, таких как коллекции. Если была проблема со ссылками/мувами, то скорее всего нужен был Rc или Arc вместо Box. | 23:50:07 |
Alexander Irbis (Gitter) | (edited) ... коллекции.
Если ... => ... коллекции.
Если ... | 23:50:19 |
20 Jan 2021 |
| gitter-badger (The Gitter Badger) joined the room. | 06:31:21 |
| tanriol (Denis Lisov) joined the room. | 07:49:52 |
tanriol (Denis Lisov) | (тест моста и тест редактирования) | 07:49:53 |
tanriol (Denis Lisov) | * (тест моста и тест редактирования) | 07:50:25 |
| tanriol joined the room. | 08:56:27 |
| tanriol left the room. | 08:57:45 |
| tanriol set a profile picture. | 14:02:12 |
tanriol | (ещё один тест моста) | 14:03:11 |
| Pzixel (Psilon) joined the room. | 15:49:44 |
Pzixel (Psilon) | одни мосты | 15:49:44 |
Pzixel (Psilon) | в мертвый чат | 15:49:46 |
Pzixel (Psilon) | цветет сакура. | 15:49:56 |
| tanriol joined the room. | 17:53:07 |
| Matrix Traveler (bot) joined the room. | 17:57:12 |
21 Jan 2021 |
| wuglu joined the room. | 04:55:38 |