I'd like a chance to audit all the code that rustdoc is inserting into
the docs. Currently I am skeptical that showing syn's internal usages of
APIs is a net benefit to the public documentation. I am also skeptical
that quite so many examples are needed, and that they should be featured
so prominently in comparison to handwritten docs. Lastly I wish there
were a way to turn this behavior off on a more granular basis.
error[E0505]: cannot move out of `p` because it is borrowed
--> tests/test_iterators.rs:56:18
|
54 | for element in &p {
| --
| |
| borrow of `p` occurs here
| a temporary with access to the borrow is created here ...
55 | if *element == 2 {
56 | drop(p);
| ^ move out of `p` occurs here
...
59 | }
| - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `syn::punctuated::Iter<'_, i32>`
error[E0505]: cannot move out of `p` because it is borrowed
--> tests/test_iterators.rs:64:18
|
62 | for element in &mut p {
| ------
| |
| borrow of `p` occurs here
| a temporary with access to the borrow is created here ...
63 | if *element == 2 {
64 | drop(p);
| ^ move out of `p` occurs here
...
67 | }
| - ... and the borrow might be used here, when that temporary is dropped and runs the destructor for type `syn::punctuated::IterMut<'_, i32>`
GitHub's default timeout is 6 hours. Recently some of my GitHub Actions
jobs have started randomly stalling for that long, which is inconvenient
because it ties up a chunk of my runner quota. It apepars to be very
rare for a job to recover after stalling. It's better to time out
quicker and retry on a different runner.
Previously:
NOTE: use --release
Syn's test suite has some tests that run on every source file
and test case in the rust-lang/rust repo, which can be pretty
slow in debug mode. Consider running cargo test with `--release`
to speed things up.
{"artifact":"/git/syn/target/debug/deps/syn_test_suite-695bcafef2321389.d","emit":"dep-info"}
warning: lint `clippy::let_underscore_drop` has been renamed to `let_underscore_drop`
--> src/lib.rs:270:5
|
270 | clippy::let_underscore_drop,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `let_underscore_drop`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
warning: lint `clippy::let_underscore_drop` has been renamed to `let_underscore_drop`
--> tests/crates/main.rs:13:10
|
13 | #![allow(clippy::let_underscore_drop)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `let_underscore_drop`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
warning: lint `clippy::let_underscore_drop` has been renamed to `let_underscore_drop`
--> tests/features/macro/lib.rs:1:10
|
1 | #![allow(clippy::let_underscore_drop, clippy::toplevel_ref_arg)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `let_underscore_drop`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
warning: lint `clippy::let_underscore_drop` has been renamed to `let_underscore_drop`
--> tests/regression.rs:1:10
|
1 | #![allow(clippy::let_underscore_drop)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `let_underscore_drop`
|
= note: `#[warn(renamed_and_removed_lints)]` on by default
error: the borrowed expression implements the required traits
--> tests/repo/mod.rs:191:43
|
191 | let response = reqwest::blocking::get(&url)?.error_for_status()?;
| ^^^^ help: change this to: `url`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `-D clippy::needless-borrow` implied by `-D clippy::all`
error: casting `usize` to `isize` may wrap around the value
--> src/buffer.rs:56:46
|
56 | entries.push(Entry::End(-(group_end_index as isize)));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_wrap
= note: `-D clippy::cast-possible-wrap` implied by `-D clippy::pedantic`
error: casting `usize` to `isize` may wrap around the value
--> src/buffer.rs:82:34
|
82 | entries.push(Entry::End(-(entries.len() as isize)));
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_possible_wrap
Fixes#1235. As seen in that issue, a syntax node can actually cross the
border of a None-delimited group, due to such groups being transparent
to the parser in most cases. In the cases that this can occur, the
presence of the group is known to be semantically irrelevant, so we just
explicitly ignore the presence of the group.
It's important that we only ignore None-delimited groups when the
verbatim end requires entering the group, as such groups can have semantic
impact (such as grouping binary operator chains) in other positions.