From cdb83c0d0344ade0baf74158c768594a2d6f8e44 Mon Sep 17 00:00:00 2001 From: Zixuan Chen Date: Fri, 12 Aug 2022 18:22:05 +0800 Subject: [PATCH] refactor: simplify type --- crates/rle/src/rle_tree.rs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/crates/rle/src/rle_tree.rs b/crates/rle/src/rle_tree.rs index e4b9b8aa..8bcf40ad 100644 --- a/crates/rle/src/rle_tree.rs +++ b/crates/rle/src/rle_tree.rs @@ -3,12 +3,7 @@ use crate::{HasLength, Rle}; pub(self) use bumpalo::collections::vec::Vec as BumpVec; use bumpalo::Bump; use ouroboros::self_referencing; -use std::{ - borrow::{Borrow, BorrowMut}, - marker::{PhantomData, PhantomPinned}, - pin::Pin, - ptr::NonNull, -}; +use std::marker::{PhantomData, PhantomPinned}; use tree_trait::RleTreeTrait; mod iter; mod node; @@ -27,15 +22,14 @@ pub struct RleTreeRaw<'a, T: Rle, A: RleTreeTrait> { pub struct RleTree + 'static> { bump: Bump, #[borrows(bump)] - #[not_covariant] - tree: RleTreeRaw<'this, T, A>, + tree: &'this mut RleTreeRaw<'this, T, A>, } impl + 'static> Default for RleTree { fn default() -> Self { RleTreeBuilder { bump: Bump::new(), - tree_builder: |bump| RleTreeRaw::new(bump), + tree_builder: |bump| bump.alloc(RleTreeRaw::new(bump)), } .build() }