Reject suffixed string literals inside serde attrs

This commit is contained in:
David Tolnay 2023-07-09 10:55:43 -07:00
parent 117ef22142
commit 8264e002a7
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82
3 changed files with 9 additions and 2 deletions

View File

@ -24,7 +24,7 @@ proc-macro = true
[dependencies] [dependencies]
proc-macro2 = "1.0" proc-macro2 = "1.0"
quote = "1.0" quote = "1.0"
syn = "2.0.24" syn = "2.0.25"
[dev-dependencies] [dev-dependencies]
serde = { version = "1.0", path = "../serde" } serde = { version = "1.0", path = "../serde" }

View File

@ -1418,6 +1418,13 @@ fn get_lit_str2(
.. ..
}) = value }) = value
{ {
let suffix = lit.suffix();
if !suffix.is_empty() {
cx.error_spanned_by(
lit,
format!("unexpected suffix `{}` on string literal", suffix),
);
}
Ok(Some(lit.clone())) Ok(Some(lit.clone()))
} else { } else {
cx.error_spanned_by( cx.error_spanned_by(

View File

@ -17,7 +17,7 @@ path = "lib.rs"
[dependencies] [dependencies]
proc-macro2 = "1.0" proc-macro2 = "1.0"
quote = "1.0" quote = "1.0"
syn = { version = "2.0.24", default-features = false, features = ["clone-impls", "derive", "parsing", "printing"] } syn = { version = "2.0.25", default-features = false, features = ["clone-impls", "derive", "parsing", "printing"] }
[package.metadata.docs.rs] [package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"] targets = ["x86_64-unknown-linux-gnu"]