From 0b3fedc8df1c102a9a7ea7b345e8105e91676f93 Mon Sep 17 00:00:00 2001 From: Jade Date: Thu, 1 Jul 2021 10:20:57 -0700 Subject: [PATCH] proc_macro/bridge: Remove dead code Slice type See https://github.com/rust-lang/rust/pull/85390#discussion_r662464868 --- library/proc_macro/src/bridge/buffer.rs | 29 ------------------------- 1 file changed, 29 deletions(-) diff --git a/library/proc_macro/src/bridge/buffer.rs b/library/proc_macro/src/bridge/buffer.rs index 717201aef10..d82669d3e23 100644 --- a/library/proc_macro/src/bridge/buffer.rs +++ b/library/proc_macro/src/bridge/buffer.rs @@ -5,35 +5,6 @@ use std::mem; use std::ops::{Deref, DerefMut}; use std::slice; -#[repr(C)] -struct Slice<'a, T> { - data: &'a [T; 0], - len: usize, -} - -unsafe impl<'a, T: Sync> Sync for Slice<'a, T> {} -unsafe impl<'a, T: Sync> Send for Slice<'a, T> {} - -impl Copy for Slice<'a, T> {} -impl Clone for Slice<'a, T> { - fn clone(&self) -> Self { - *self - } -} - -impl From<&'a [T]> for Slice<'a, T> { - fn from(xs: &'a [T]) -> Self { - Slice { data: unsafe { &*(xs.as_ptr() as *const [T; 0]) }, len: xs.len() } - } -} - -impl Deref for Slice<'a, T> { - type Target = [T]; - fn deref(&self) -> &[T] { - unsafe { slice::from_raw_parts(self.data.as_ptr(), self.len) } - } -} - #[repr(C)] pub struct Buffer { data: *mut T,