about summary refs log tree commit diff
path: root/compiler/rustc_interface/src/interface.rs
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-08-29 21:13:00 +0200
committerGitHub <noreply@github.com>2022-08-29 21:13:00 +0200
commitbf42ba41a44dc9bd74b0e2abe2954ad0d818d3ed (patch)
treeedf8b312c1c7745b83dad76b07ca8d60f63dfbbd /compiler/rustc_interface/src/interface.rs
parent7b84298f1b35a890230c56a55d164617c86fd2b2 (diff)
parent74f2d582d237770b092923702fe073300dcf46ed (diff)
downloadrust-bf42ba41a44dc9bd74b0e2abe2954ad0d818d3ed.tar.gz
rust-bf42ba41a44dc9bd74b0e2abe2954ad0d818d3ed.zip
Rollup merge of #101156 - Jarcho:remove_sync_lint_pass, r=compiler-errors
Remove `Sync` requirement from lint pass objects

This is blocking the clippy sync (#101140). One of the lint passes contains a `Cell` in order to make lifetimes work. It could be worked around, but this is the easier change to make if there are no objections.

Rational for removing the requirement
* All lint pass methods take `&mut self` arguments.
* Many passes depend on running is visitor order.
* Lint passes are created on demand so they're only ever stored in a local.
* `Send` is enough to lint different passes in parallel.

`LintStore` remains `Sync` with this. The constructor functions it contains still maintain their `Sync` requirement.

r? rust-lang/compiler
Diffstat (limited to 'compiler/rustc_interface/src/interface.rs')
0 files changed, 0 insertions, 0 deletions