@@ -813,7 +813,7 @@ impl<'s> IntoEmplacable<str> for &'s str {
813
813
ptr:: copy_nonoverlapping (
814
814
addr_of ! ( * self ) . cast :: < u8 > ( ) ,
815
815
out_ptr. cast ( ) ,
816
- self . len ( ) ,
816
+ layout . size ( ) ,
817
817
) ;
818
818
}
819
819
}
@@ -843,15 +843,14 @@ impl<'s> IntoEmplacable<CStr> for &'s CStr {
843
843
let closure = move |emplacer : & mut Emplacer < CStr > | {
844
844
// Safety: we call the closure right after
845
845
let emplacer_closure = unsafe { emplacer. into_fn ( ) } ;
846
- let size_of_val = layout. size ( ) ;
847
846
emplacer_closure ( layout, metadata, & mut |out_ptr| {
848
847
if !out_ptr. is_null ( ) {
849
848
// SAFETY: copying value where it belongs.
850
849
unsafe {
851
850
ptr:: copy_nonoverlapping (
852
851
addr_of ! ( * self ) . cast :: < u8 > ( ) ,
853
852
out_ptr. cast ( ) ,
854
- size_of_val ,
853
+ layout . size ( ) ,
855
854
) ;
856
855
}
857
856
}
@@ -883,7 +882,6 @@ impl<'s> IntoEmplacable<OsStr> for &'s OsStr {
883
882
let closure = move |emplacer : & mut Emplacer < OsStr > | {
884
883
// Safety: we call the closure right after
885
884
let emplacer_closure = unsafe { emplacer. into_fn ( ) } ;
886
- let size_of_val = layout. size ( ) ;
887
885
emplacer_closure ( layout, metadata, & mut |out_ptr| {
888
886
if !out_ptr. is_null ( ) {
889
887
// SAFETY: copying value where it belongs.
@@ -893,7 +891,7 @@ impl<'s> IntoEmplacable<OsStr> for &'s OsStr {
893
891
ptr:: copy_nonoverlapping (
894
892
addr_of ! ( * self ) . cast :: < u8 > ( ) ,
895
893
out_ptr. cast ( ) ,
896
- size_of_val ,
894
+ layout . size ( ) ,
897
895
) ;
898
896
}
899
897
}
@@ -926,7 +924,6 @@ impl<'s> IntoEmplacable<Path> for &'s Path {
926
924
let closure = move |emplacer : & mut Emplacer < Path > | {
927
925
// Safety: we call the closure right after
928
926
let emplacer_closure = unsafe { emplacer. into_fn ( ) } ;
929
- let size_of_val = layout. size ( ) ;
930
927
emplacer_closure ( layout, metadata, & mut |out_ptr| {
931
928
if !out_ptr. is_null ( ) {
932
929
// SAFETY: copying value where it belongs.
@@ -936,7 +933,7 @@ impl<'s> IntoEmplacable<Path> for &'s Path {
936
933
ptr:: copy_nonoverlapping (
937
934
addr_of ! ( * self ) . cast :: < u8 > ( ) ,
938
935
out_ptr. cast ( ) ,
939
- size_of_val ,
936
+ layout . size ( ) ,
940
937
) ;
941
938
}
942
939
}
0 commit comments