@@ -9,11 +9,12 @@ use core::mem;
99use core:: pin:: Pin ;
1010use core:: ptr:: { self , NonNull } ;
1111
12- use allocator_api2:: alloc:: { AllocError , Allocator } ;
12+ use allocator_api2:: alloc:: Allocator ;
1313
1414use super :: alloc_prefixed:: worst_case_thin_slice_payload;
1515use super :: alloc_value:: { MAX_SMART_PTR_ALIGN , acquire_chunk_ref} ;
1616use super :: { Arena , ExpectAlloc } ;
17+ use crate :: AllocError ;
1718use crate :: r#box:: Box ;
1819
1920impl < A : Allocator + Clone > Arena < A > {
@@ -181,7 +182,7 @@ impl<A: Allocator + Clone> Arena<A> {
181182 fn impl_alloc_slice_box_with < T , F : FnMut ( usize ) -> T > ( & self , len : usize , mut f : F ) -> Result < Box < [ T ] , A > , AllocError > {
182183 check_slice_box_layout :: < T > ( len) ?;
183184 // Check overflow before the refill loop.
184- let payload_bytes = mem:: size_of :: < T > ( ) . checked_mul ( len) . ok_or ( AllocError ) ?;
185+ let payload_bytes = mem:: size_of :: < T > ( ) . checked_mul ( len) . ok_or ( AllocError :: CAPACITY_OVERFLOW ) ?;
185186 let ptr = self . reserve_slice_box :: < T > ( len, payload_bytes, |slot_ptr| {
186187 // SAFETY: `slot_ptr` is the reservation start; we init `len` slots
187188 // with panic-safe rollback via `InitGuard`.
@@ -293,7 +294,7 @@ impl<A: Allocator + Clone> Arena<A> {
293294#[ inline]
294295fn check_slice_box_layout < T > ( _len : usize ) -> Result < ( ) , AllocError > {
295296 if mem:: align_of :: < T > ( ) >= MAX_SMART_PTR_ALIGN {
296- return Err ( AllocError ) ;
297+ return Err ( AllocError :: ALIGNMENT_TOO_LARGE ) ;
297298 }
298299 Ok ( ( ) )
299300}
0 commit comments