]> git.lizzy.rs Git - rust.git/commit
Refactor TokenStream to hold Vec<TokenTree> instead of tt::Subtree
authorKevin Mehall <km@kevinmehall.net>
Sat, 6 Mar 2021 16:46:32 +0000 (09:46 -0700)
committerKevin Mehall <km@kevinmehall.net>
Sat, 6 Mar 2021 16:48:30 +0000 (09:48 -0700)
commit62f594b390e5f648a32b5b08863a6413b4271d19
tree47de88bc047e957149544f48f2696f2706b9ed4b
parent632fa8ef4a3c9e7440b79e04a9f7dd9bd23a4de4
Refactor TokenStream to hold Vec<TokenTree> instead of tt::Subtree

`TokenStream` assumes that its subtree's delimeter is `None`, and this
should be encoded in the type system instead of having a delimiter field
that is mostly ignored.

`tt::Subtree` is just `pub delimiter: Option<Delimiter>, pub
token_trees: Vec<TokenTree>`, so a Subtree that is statically guaranteed
not to have a delimiter is just Vec<TokenTree>.
crates/proc_macro_srv/src/dylib.rs
crates/proc_macro_srv/src/rustc_server.rs
crates/proc_macro_srv/src/tests/utils.rs