Philipp Krones
9da5b6d1d0
Rollup merge of #5825 - giraffate:same_item_push, r=Manishearth
...
Add the new lint `same_item_push`
changelog: Add the new lint `same_item_push`
Fixed #4078 . As I said in https://github.com/rust-lang/rust-clippy/issues/4078#issuecomment-658184195 , I referrerd to https://github.com/rust-lang/rust-clippy/pull/4647 .
2020-08-10 14:56:25 +02:00
bors
7228368953
Auto merge of #5882 - dima74:ra_setup-prevent-compile-rustc, r=Manishearth
...
Prevent compile parts of rustc when using `cargo dev ra-setup`
Currently after running `cargo dev ra-setup` the following lines are added to `Cargo.toml`:
```toml
[target]
rustc_data_structures = { path = ".../rust/src/librustc_data_structures" }
rustc_driver = { path = ".../rust/src/librustc_driver" }
rustc_errors = { path = ".../rust/src/librustc_errors" }
rustc_interface = { path = ".../rust/src/librustc_interface" }
rustc_middle = { path = ".../rust/src/librustc_middle" }
```
This pull request adds dependencies for `rustc` crates under `cfg(NOT_A_PLATFORM)`, thus preventing them from compiling together with clippy:
```toml
[target.'cfg(NOT_A_PLATFORM)'.dependencies]
rustc_data_structures = { path = ".../rust/src/librustc_data_structures" }
rustc_driver = { path = ".../rust/src/librustc_driver" }
rustc_errors = { path = ".../rust/src/librustc_errors" }
rustc_interface = { path = ".../rust/src/librustc_interface" }
rustc_middle = { path = ".../rust/src/librustc_middle" }
```
---
This approach was [originally proposed for IntelliJ Rust](https://github.com/intellij-rust/intellij-rust/issues/1618#issuecomment-459098749 ), and looks like it works for rust-analyzer too.
changelog: none
2020-08-09 19:18:01 +00:00
Dmitry Murzin
6af969379e
Prevent compile parts of rustc when using cargo dev ra-setup
2020-08-09 22:21:09 +05:00
Tim Nielens
f9ba829f67
should_impl_trait - self linting
2020-08-09 16:09:08 +02:00
Tim Nielens
166c520e9a
should_impl_trait - pr comments
2020-08-09 15:10:00 +02:00
Tim Nielens
7cc1a2ed87
should_implement_trait - filter on explicit lifetime param only
2020-08-09 15:10:00 +02:00
Tim Nielens
e6b2254f9e
should_implement_trait - pr remarks
2020-08-09 15:10:00 +02:00
Tim Nielens
2bc0ecd44b
should_implement_trait - add test cases for every checked trait method
2020-08-09 15:10:00 +02:00
Tim Nielens
a77e881ec9
should_impl_trait - ignore methods with lifetime params
2020-08-09 15:10:00 +02:00
Ryan1729
873e5f5c19
add allow unused_unsafe and allow dead_code
2020-08-09 00:39:14 -06:00
Ryan1729
bc8d32d36b
fix unary minus on usize and unused variable errors in .fixed file
2020-08-09 00:28:56 -06:00
Ryan1729
84db238fa1
add a test example of where transmutes_expressible_as_ptr_casts should not suggest anything
2020-08-09 00:15:56 -06:00
Ryan1729
a1ca12581a
update stderr for transmutes_expressible_as_ptr_casts
2020-08-08 21:03:41 -06:00
bors
70c46de012
Auto merge of #5877 - ebroto:5872_loops_ice, r=Manishearth
...
Fix ICE in `loops` module
changelog: Fix ICE related to `needless_collect` when a call to `iter()` was not present.
I went for restoring the old suggestion of `next().is_some()` over `get(0).is_some()` given that `iter()` is not necessarily present (could be e.g. `into_iter()` or `iter_mut()`) and that the old suggestion could change semantics, e.g. a call to `filter()` could be present between `iter()` and the collect part.
Fixes #5872
2020-08-08 18:44:48 +00:00
bors
3899d6001c
Auto merge of #5878 - flip1995:rustup, r=flip1995
...
Rustup
r? @ghost
changelog: none
2020-08-08 17:28:34 +00:00
flip1995
fd87cdb357
Run fmt
2020-08-08 19:20:34 +02:00
Eduardo Broto
888657e09a
Fix ICE in loops
module
2020-08-08 18:13:43 +02:00
Philippe Nadon
2d1515a2c5
Miri: Renamed "undef" to "uninit"
...
Renamed remaining references to "undef" to "uninit" when referring to Miri.
Impacted directories are:
- src/librustc_codegen_llvm/consts.rs
- src/librustc_middle/mir/interpret/
- src/librustc_middle/ty/print/pretty.rs
- src/librustc_mir/
- src/tools/clippy/clippy_lints/src/consts.rs
Upon building Miri based on the new changes it was verified that no changes needed to be made with the Miri project.
Related issue #71193
2020-08-08 07:53:47 -06:00
Nicholas Nethercote
01bba2c532
Eliminate the SessionGlobals
from librustc_ast
.
...
By moving `{known,used}_attrs` from `SessionGlobals` to `Session`. This
means they are accessed via the `Session`, rather than via TLS. A few
`Attr` methods and `librustc_ast` functions are now methods of
`Session`.
All of this required passing a `Session` to lots of functions that didn't
already have one. Some of these functions also had arguments removed, because
those arguments could be accessed directly via the `Session` argument.
`contains_feature_attr()` was dead, and is removed.
Some functions were moved from `librustc_ast` elsewhere because they now need
to access `Session`, which isn't available in that crate.
- `entry_point_type()` --> `librustc_builtin_macros`
- `global_allocator_spans()` --> `librustc_metadata`
- `is_proc_macro_attr()` --> `Session`
2020-08-08 12:03:42 +10:00
Camelid
bd71b01a82
Make the docs clearer for new contributors
...
* Add an easy-to-see note at the top of `CONTRIBUTING.md` that points
new contributors to the Basics docs
* Add a note about compiler errors as a result of internals changes
that break Clippy
2020-08-07 16:15:44 -07:00
Christoph Walcher
87e740921a
check impl Ord / is_float
2020-08-07 18:30:20 +02:00
Christoph Walcher
bfe610cc8d
ignore mutable self reference parameters
2020-08-07 18:08:51 +02:00
Christoph Walcher
e03f73e627
fix nits
2020-08-07 18:08:51 +02:00
Christoph Walcher
c87d999fa2
fix ui tests
2020-08-07 18:08:51 +02:00
Christoph Walcher
d635b76eaf
adopt comments from review
2020-08-07 18:08:51 +02:00
Christoph Walcher
737f62cb6e
fix doc
2020-08-07 18:08:51 +02:00
Christoph Walcher
e0a4988fcc
Lint against Self
as an arbitrary self type
...
Fixes #5861
2020-08-07 18:08:51 +02:00
bors
a7fa264ae7
Auto merge of #74821 - oli-obk:const_eval_read_uninit_fast_path, r=wesleywiser
...
Check whether locals are too large instead of whether accesses into them are too large
Essentially this stops const prop from attempting to optimize
```rust
let mut x = [0_u8; 5000];
x[42] = 3;
```
I don't expect this to be a perf improvement without #73656 (which is also where the lack of this PR will be a perf regression).
r? @wesleywiser
2020-08-07 15:28:07 +00:00
Ryan1729
fe9ad57e98
copy over *.fixed file
2020-08-06 20:28:29 -06:00
Vadim Petrochenkov
a285b58368
Add some comments for magic numbers + Add tests
2020-08-06 22:55:26 +03:00
Vadim Petrochenkov
d642c3b6f8
Fix clippy
2020-08-06 22:13:11 +03:00
Ryan Wiedemann
49c7e39d03
Apply suggestions from code review
...
Co-authored-by: Philipp Krones <hello@philkrones.com>
2020-08-06 07:57:31 -06:00
Ryan1729
42f3d39a54
run clippy_dev fmt
...
This seemed to overdo it a bit, affecting multiple submodules, and changing a file I didn't touch, so I didn't commit those changes
2020-08-06 06:15:57 -06:00
Ryan1729
0d2a378547
run clippy_dev update_lints
2020-08-06 06:11:23 -06:00
Ryan1729
b0c8c7af16
add newline to transmutes_expressible_as_ptr_casts.rs
2020-08-06 04:49:06 -06:00
Ryan1729
8997c558d8
change filter to assert, and update comments
2020-08-06 04:24:25 -06:00
Ryan1729
ded2d6c233
add extra error message to the expected stderr for transmutes_expressible_as_ptr_casts test
2020-08-06 04:24:25 -06:00
Ryan1729
94340d6e17
add documentation to functions that call do_check
and add a test against lint ordering changing
2020-08-06 04:24:25 -06:00
Ryan1729
19f36bc2f3
add description to assert
2020-08-06 04:24:25 -06:00
Ryan1729
d38766ed96
address some review comments
2020-08-06 04:24:25 -06:00
Ryan1729
ccc4747f46
get the expected number of errors by acknowledging that other lints are covering the same ground
2020-08-06 04:24:25 -06:00
Ryan1729
de05212987
try putting the can_be_expressed_as_pointer_cast at the top and find that we still get an ICE
2020-08-06 04:24:24 -06:00
Ryan1729
34d3a0086c
accidentally cause an ICE by putting the TRANSMUTES_EXPRESSIBLE_AS_PTR_CASTS handling after the match
...
The reason I did this in the first place was to try and figure out why I don't see my expected 7 error messages
2020-08-06 04:24:24 -06:00
Ryan1729
46ef4e8651
write currently failing test for transmutes_expressible_as_ptr_casts
...
There are 5 errors, when there should be 7.
2020-08-06 04:24:24 -06:00
Ryan1729
069f851671
initial compiling version of TRANSMUTES_EXPRESSIBLE_AS_PTR_CASTS
2020-08-06 04:24:24 -06:00
Ryan1729
5e84b8c2fb
run cargo dev new_lint then move transmutes_expressible_as_ptr_casts into transmute module
2020-08-06 04:24:24 -06:00
Christoph Walcher
0abc4833e5
Lint .min(x).max(y) with x < y
...
Fixes #5854
2020-08-06 02:56:07 +02:00
Eduardo Broto
50a86d4927
enable #[allow(clippy::unsafe_derive_deserialize)]
2020-08-06 00:45:30 +02:00
bors
2d4c3379d3
Auto merge of #5809 - JarredAllen:stable_sort_primitive, r=Manishearth
...
Stable sort primitive
changelog: Implements #5762
2020-08-05 20:41:21 +00:00
bors
2eab060ab7
Auto merge of #5859 - ebroto:5765_manual_async_fn_fp, r=yaahc
...
manual_async_fn: take input lifetimes into account
The anonymous future returned from an `async fn` captures all input
lifetimes. This was not being taken into account.
See https://github.com/rust-lang/rfcs/blob/master/text/2394-async_await.md#lifetime-capture-in-the-anonymous-future
changelog: Take input lifetimes into account in [`manual_async_fn`].
Fixes #5765
2020-08-05 17:52:28 +00:00