implemented `Decode` and `BorrowDecode` for Rc<str>
This commit is contained in:
Vrtgs 2024-03-21 02:27:32 -07:00 committed by GitHub
parent 2a0ea9883b
commit 4dd792f5fa
2 changed files with 15 additions and 0 deletions

1
.gitignore vendored
View File

@ -4,5 +4,6 @@
*.swo
.cargo
.vscode
.idea
rls*.log
tarpaulin-report.html

View File

@ -451,6 +451,13 @@ where
}
}
impl Decode for Rc<str> {
fn decode<D: Decoder>(decoder: &mut D) -> Result<Self, DecodeError> {
let decoded = String::decode(decoder)?;
Ok(decoded.into())
}
}
impl<'de, T> BorrowDecode<'de> for Rc<T>
where
T: BorrowDecode<'de>,
@ -461,6 +468,13 @@ where
}
}
impl<'de> BorrowDecode<'de> for Rc<str> {
fn borrow_decode<D: BorrowDecoder<'de>>(decoder: &mut D) -> Result<Self, DecodeError> {
let decoded = String::decode(decoder)?;
Ok(decoded.into())
}
}
impl<T> Encode for Rc<T>
where
T: Encode + ?Sized,