Use Span::mixed_site directly from proc-macro2 ()

Since 1.0.19, `proc-macro2` now provides `Span::mixed_site` directly.
This commit is contained in:
Chris Wong 2021-01-09 17:15:43 +13:00 committed by GitHub
parent 37e11fcb6b
commit b286c65939
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 7 deletions

View file

@ -6,6 +6,8 @@
[#238](https://github.com/lambda-fairy/maud/pull/238)
- [Changed] Generalize `impl Into<String> for PreEscaped<T>` to `impl From<PreEscaped<T>> for String`.
[#248](https://github.com/lambda-fairy/maud/pull/248)
- [Fixed] Use `Span::mixed_site` directly from proc-macro2
[#254](https://github.com/lambda-fairy/maud/pull/254)
## [0.22.1] - 2020-11-02

View file

@ -14,7 +14,7 @@ edition = "2018"
syn = "1.0.8"
maud_htmlescape = { version = "0.17.0", path = "../maud_htmlescape" }
quote = "1.0.7"
proc-macro2 = "1.0.18"
proc-macro2 = "1.0.19"
proc-macro-error = "1.0.0"
[lib]

View file

@ -9,7 +9,7 @@ mod ast;
mod generate;
mod parse;
use proc_macro2::{Ident, TokenStream, TokenTree};
use proc_macro2::{Ident, Span, TokenStream, TokenTree};
use proc_macro_error::proc_macro_error;
use quote::quote;
@ -28,11 +28,7 @@ pub fn html_debug(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
}
fn expand(input: TokenStream) -> TokenStream {
// TODO: call `proc_macro2::Span::mixed_site()` directly when Rust 1.45 is stable
let output_ident = TokenTree::Ident(Ident::new(
"__maud_output",
proc_macro::Span::mixed_site().into(),
));
let output_ident = TokenTree::Ident(Ident::new("__maud_output", Span::mixed_site()));
// Heuristic: the size of the resulting markup tends to correlate with the
// code size of the template itself
let size_hint = input.to_string().len();