Empty,
More(T, &'a List<'a, T>),
}
Чтобы был женеричным по методу аллокации, но при этом, чтобы его можно было возвращать из функции?
ссылка не дропнется ведь
Да, ну дропать аллоцированные объекты можно отдельно
Такое? Или я неправильно понял? https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=6510b759c085c1655a28fd4e5f63efcc
включи уже себе #![feature(allocator_api)]
Можно и с allocator_api, но всё равно остаётся вопрос как именно оно должно работать
enum List<T, A: Allocator> { Empty, More(T, Box<List<T, A>, A>), }
Тип можно сделать Box чтобы он ничего не аллокал, а вёл себя как ссылка?
Box аллоцирует с помощью аллокатора A
А зачем ещё рядом с боксом аллокатор, но же и так в боксе
Мне нужно сохранить поведение enum List<'a, T> { Empty, More(T, List<'a, T>), } как частный случай. Я могу где-то взять такой аллокатор, чтобы он на самом деле ничего не аллокал?
Обсуждают сегодня