@@ -168,10 +168,9 @@ fn pick_includes_and_builtins(out: &mut OutFile, apis: &[Api]) {
168
168
Type :: CxxVector ( _) => out. include . vector = true ,
169
169
Type :: Fn ( _) => out. builtin . rust_fn = true ,
170
170
Type :: Slice ( _) => out. builtin . rust_slice = true ,
171
- Type :: SliceRefU8 ( ty ) => {
171
+ Type :: SliceRefU8 ( _ ) => {
172
172
out. include . cstdint = true ;
173
- out. builtin . rust_slice |= ty. mutability . is_none ( ) ;
174
- out. builtin . rust_mut_slice |= ty. mutability . is_some ( ) ;
173
+ out. builtin . rust_slice = true ;
175
174
}
176
175
Type :: Ref ( _) | Type :: Void ( _) => { }
177
176
}
@@ -436,7 +435,7 @@ fn write_cxx_function_shim<'a>(out: &mut OutFile<'a>, efn: &'a ExternFn) {
436
435
write ! ( out, "::rust::impl<::rust::Slice<const uint8_t>>::repr(" )
437
436
}
438
437
Some ( Type :: SliceRefU8 ( _) ) if !indirect_return => {
439
- out. builtin . rust_mut_slice_repr = true ;
438
+ out. builtin . rust_slice_repr = true ;
440
439
write ! ( out, "::rust::impl<::rust::Slice<uint8_t>>::repr(" )
441
440
}
442
441
_ => { }
@@ -698,14 +697,10 @@ fn write_rust_function_shim_impl(
698
697
out. builtin . rust_str_new_unchecked = true ;
699
698
write ! ( out, "::rust::impl<::rust::Str>::new_unchecked(" ) ;
700
699
}
701
- Type :: SliceRefU8 ( ty ) if ty . mutability . is_none ( ) => {
700
+ Type :: SliceRefU8 ( _ ) => {
702
701
out. builtin . rust_slice_new = true ;
703
702
write ! ( out, "::rust::impl<::rust::Slice<const uint8_t>>::slice(" ) ;
704
703
}
705
- Type :: SliceRefU8 ( _) => {
706
- out. builtin . rust_mut_slice_new = true ;
707
- write ! ( out, "::rust::impl<::rust::Slice<uint8_t>>::slice(" ) ;
708
- }
709
704
_ => { }
710
705
}
711
706
}
@@ -728,13 +723,13 @@ fn write_rust_function_shim_impl(
728
723
out. builtin . rust_str_repr = true ;
729
724
write ! ( out, "::rust::impl<::rust::Str>::repr(" ) ;
730
725
}
731
- Type :: SliceRefU8 ( ty) if ty . mutability . is_none ( ) => {
726
+ Type :: SliceRefU8 ( ty) => {
732
727
out. builtin . rust_slice_repr = true ;
733
- write ! ( out , "::rust::impl<::rust::Slice<const uint8_t>>::repr(" ) ;
734
- }
735
- Type :: SliceRefU8 ( _ ) => {
736
- out . builtin . rust_mut_slice_repr = true ;
737
- write ! ( out , "::rust::impl<::rust::Slice<uint8_t>>::repr(" ) ;
728
+ if ty . mutability . is_none ( ) {
729
+ write ! ( out , "::rust::impl<::rust::Slice<const uint8_t>>::repr(" ) ;
730
+ } else {
731
+ write ! ( out , "::rust::impl<::rust::Slice<uint8_t>>::repr(" ) ;
732
+ }
738
733
}
739
734
ty if out. types . needs_indirect_abi ( ty) => write ! ( out, "&" ) ,
740
735
_ => { }
0 commit comments