diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-01-13 17:21:39 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-13 17:21:39 +0100 |
| commit | b1200a29b07dddb9c05b99166c7b676b6f2dbb4b (patch) | |
| tree | 1bc3034952a0cc72a6f85a2d8218da8a7734e9cb /src/rustllvm/RustWrapper.cpp | |
| parent | d45bef9db62a0797c6dd3b06e21db1a0acd8cfe7 (diff) | |
| parent | e80a93040ffbbb7eb8013f1dcd3b594ce8a631cd (diff) | |
| download | rust-b1200a29b07dddb9c05b99166c7b676b6f2dbb4b.tar.gz rust-b1200a29b07dddb9c05b99166c7b676b6f2dbb4b.zip | |
Rollup merge of #57004 - nnethercote:TS-change-Stream, r=petrochenkov
Make `TokenStream` less recursive. `TokenStream` is currently recursive in *two* ways: - the `TokenTree` variant contains a `ThinTokenStream`, which can contain a `TokenStream`; - the `TokenStream` variant contains a `Vec<TokenStream>`. The latter is not necessary and causes significant complexity. This commit replaces it with the simpler `Vec<(TokenTree, IsJoint)>`. This reduces complexity significantly. In particular, `StreamCursor` is eliminated, and `Cursor` becomes much simpler, consisting now of just a `TokenStream` and an index. The commit also removes the `Extend` impl for `TokenStream`, because it is only used in tests. (The commit also removes those tests.) Overall, the commit reduces the number of lines of code by almost 200.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
