Allow borrow for field identifiers

This commit is contained in:
Mingun
2020-10-23 16:12:06 +05:00
parent 9e1f573f88
commit 7a7a182ab6
3 changed files with 139 additions and 63 deletions
+31
View File
@@ -90,6 +90,37 @@ fn test_struct() {
);
}
#[test]
fn test_field_identifier() {
#[derive(Deserialize, Debug, PartialEq)]
#[serde(field_identifier)]
enum FieldStr<'a> {
#[serde(borrow)]
Str(&'a str),
}
assert_de_tokens(
&FieldStr::Str("value"),
&[
Token::BorrowedStr("value"),
],
);
#[derive(Deserialize, Debug, PartialEq)]
#[serde(field_identifier)]
enum FieldBytes<'a> {
#[serde(borrow)]
Bytes(&'a [u8]),
}
assert_de_tokens(
&FieldBytes::Bytes(b"value"),
&[
Token::BorrowedBytes(b"value"),
],
);
}
#[test]
fn test_cow() {
#[derive(Deserialize)]