Skip to content

Commit 356107e

Browse files
committed
remove some unneeded impls
1 parent d5328c5 commit 356107e

2 files changed

Lines changed: 7 additions & 45 deletions

File tree

library/proc_macro/src/bridge/mod.rs

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use std::ops::{Bound, Range};
1313
use std::sync::Once;
1414
use std::{fmt, marker, mem, panic, thread};
1515

16-
use crate::{Delimiter, Level, Spacing};
16+
use crate::{Delimiter, Level};
1717

1818
/// Higher-order macro describing the server RPC API, allowing automatic
1919
/// generation of type-safe Rust APIs, both client-side and server-side.
@@ -187,12 +187,6 @@ impl<'a, T, M> Unmark for &'a Marked<T, M> {
187187
&self.value
188188
}
189189
}
190-
impl<'a, T, M> Unmark for &'a mut Marked<T, M> {
191-
type Unmarked = &'a mut T;
192-
fn unmark(self) -> Self::Unmarked {
193-
&mut self.value
194-
}
195-
}
196190

197191
impl<T: Mark> Mark for Vec<T> {
198192
type Unmarked = Vec<T::Unmarked>;
@@ -230,16 +224,13 @@ macro_rules! mark_noop {
230224
mark_noop! {
231225
(),
232226
bool,
233-
char,
234-
&'_ [u8],
235227
&'_ str,
236228
String,
237229
u8,
238230
usize,
239231
Delimiter,
240232
LitKind,
241233
Level,
242-
Spacing,
243234
}
244235

245236
rpc_encode_decode!(
@@ -258,12 +249,6 @@ rpc_encode_decode!(
258249
Help,
259250
}
260251
);
261-
rpc_encode_decode!(
262-
enum Spacing {
263-
Alone,
264-
Joint,
265-
}
266-
);
267252

268253
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
269254
pub enum LitKind {

library/proc_macro/src/bridge/rpc.rs

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -135,18 +135,6 @@ impl<S> Decode<'_, '_, S> for bool {
135135
}
136136
}
137137

138-
impl<S> Encode<S> for char {
139-
fn encode(self, w: &mut Buffer, s: &mut S) {
140-
(self as u32).encode(w, s);
141-
}
142-
}
143-
144-
impl<S> Decode<'_, '_, S> for char {
145-
fn decode(r: &mut &[u8], s: &mut S) -> Self {
146-
char::from_u32(u32::decode(r, s)).unwrap()
147-
}
148-
}
149-
150138
impl<S> Encode<S> for NonZero<u32> {
151139
fn encode(self, w: &mut Buffer, s: &mut S) {
152140
self.get().encode(w, s);
@@ -174,31 +162,20 @@ impl<'a, S, A: for<'s> Decode<'a, 's, S>, B: for<'s> Decode<'a, 's, S>> Decode<'
174162
}
175163
}
176164

177-
impl<S> Encode<S> for &[u8] {
165+
impl<S> Encode<S> for &str {
178166
fn encode(self, w: &mut Buffer, s: &mut S) {
179-
self.len().encode(w, s);
180-
w.write_all(self).unwrap();
167+
let bytes = self.as_bytes();
168+
bytes.len().encode(w, s);
169+
w.write_all(bytes).unwrap();
181170
}
182171
}
183172

184-
impl<'a, S> Decode<'a, '_, S> for &'a [u8] {
173+
impl<'a, S> Decode<'a, '_, S> for &'a str {
185174
fn decode(r: &mut &'a [u8], s: &mut S) -> Self {
186175
let len = usize::decode(r, s);
187176
let xs = &r[..len];
188177
*r = &r[len..];
189-
xs
190-
}
191-
}
192-
193-
impl<S> Encode<S> for &str {
194-
fn encode(self, w: &mut Buffer, s: &mut S) {
195-
self.as_bytes().encode(w, s);
196-
}
197-
}
198-
199-
impl<'a, S> Decode<'a, '_, S> for &'a str {
200-
fn decode(r: &mut &'a [u8], s: &mut S) -> Self {
201-
str::from_utf8(<&[u8]>::decode(r, s)).unwrap()
178+
str::from_utf8(xs).unwrap()
202179
}
203180
}
204181

0 commit comments

Comments
 (0)