Commit Graph

1121 Commits

Author SHA1 Message Date
Philipp Hansch
298aedf2f8
Fix suggestion for unnecessary_ref lint 2018-12-28 20:54:29 +01:00
Philipp Hansch
7d9bf99df1
Update .fixed files via update-references.sh 2018-12-28 20:53:44 +01:00
Philipp Hansch
2ccfd52f5d
Run rustfix on first UI test 2018-12-28 20:53:43 +01:00
Peter Fürstenau
8be7050b74 Fix formatting 2018-12-28 20:52:46 +01:00
Peter Fürstenau
6ee0e22204 Merge remote-tracking branch 'upstream/master' 2018-12-28 20:19:51 +01:00
Russell Greene
d127aed737 Merge new_without_default_derive into new_without_default 2018-12-28 10:57:58 -07:00
flip1995
d2dbd0b8a5
Update *.stderr files 2018-12-28 12:41:12 +01:00
Matthias Krüger
38fabcbdf2 tests: fix formatting and update test output
fix script one last time™
2018-12-27 17:03:53 +01:00
Andy Russell
cd602c8b18
fix breakage from rust-lang/rust#57088 2018-12-25 16:11:28 -05:00
bors
d9cc71fc42 Auto merge of #3341 - HMPerson1:possibly_missing_else, r=phansch
Teach `suspicious_else_formatting` about `if .. {..} {..}`

We essentially treat bare blocks `{..}` identically to `if .. {..}`, except for different lint messages.

Fixes #3044
2018-12-22 13:26:22 +00:00
Mark Nieweglowski
d395d45ca7 test: panic at map_unit_fn.rs:202 for map() without args 2018-12-22 01:06:02 -05:00
Mark Nieweglowski
a24853709a rm unused file map_unit_fn.stderr
There is no map_unit_fn.rs whose output would be diffed with map_unit_fn.stderr

map_unit_fn.stderr was renamed 8 months ago from option_map_unit_fn.stderr
but option_map_unit_fn.{stderr,rs} both remain and are in use.
2018-12-22 01:04:03 -05:00
HMPerson1
88564b743e
Teach suspicious_else_formatting about if .. {..} {..} 2018-12-20 22:45:37 -05:00
Peter Fürstenau
18584698ee Add failing test 2018-12-19 20:50:18 +01:00
bors
61de562454 Auto merge of #3554 - klausi:module_name_repeat, r=oli-obk
chore(module_name_repeat): Rename stutter lint to module_name_repeat to avoid ableist language

See #3521
2018-12-18 13:28:12 +00:00
Peter Fürstenau
ee0856cbeb Recomend .as_ref()? in certain situations 2018-12-18 13:57:38 +01:00
bors
176778fe92 Auto merge of #3556 - lucasloisp:bool-ord-comparison, r=oli-obk
Implements lint for order comparisons against bool (#3438)

As described on issue #3438, this change implements linting for `>` and `<` comparisons against both `boolean` literals and between expressions.
2018-12-18 10:11:08 +00:00
Wilco Kusee
24ef8db402
Do not mark as_ref as useless if it's followed by a method call 2018-12-17 21:33:50 +01:00
Lucas Lois
de42dfbab7 Changes lint sugg to bitwise and operator & 2018-12-17 15:32:24 -03:00
flip1995
a44adaa5ed
Rename lint to MODULE_NAME_REPETITIONS 2018-12-17 14:29:19 +01:00
flip1995
60cc6b9319
Add renaming tests 2018-12-17 13:59:09 +01:00
Lucas Lois
bc48890b47 Implements lint for order comparisons against bool 2018-12-16 21:43:32 -03:00
daxpedda
6870638c3f
Fix an endless loop in the tests. 2018-12-16 22:20:05 +01:00
daxpedda
35058287ce
Fix implicit_return false positives. 2018-12-16 15:42:02 +01:00
Klaus Purer
15b9e9f23a chore(moduel_name_repeat): Rename stutter lint to module_name_repeat to avoid ableist language 2018-12-16 14:10:53 +01:00
bors
a416c5e0f7 Auto merge of #3545 - Kampfkarren:vec_boxed_sized, r=flip1995
Adds lint for Vec<Box<T: Sized>>

This adds, and subsequently closes #3530. This is the first time I've ever worked with anything remotely close to internal Rust code, so I'm very much unsure about the if_chain! to figure this out!

I can't get rustfmt working on WSL with nightly 2018-12-07:

`error: component 'rustfmt' for target 'x86_64-unknown-linux-gnu' is unavailable for download`
2018-12-14 12:10:48 +00:00
flip1995
d866f31678
rustup rust-lang/rust#52994
s/trim_left/trim_start/

s/trim_right/trim_end/
2018-12-14 12:35:44 +01:00
Michael Wright
be40d82fea Fix test 2018-12-14 07:24:02 +02:00
Michael Wright
df73348354 Merge branch 'master' into fix-3514 2018-12-14 07:16:26 +02:00
Kampfkarren
db00c3320f Remove references to sized for end users 2018-12-13 10:18:17 -08:00
Kampfkarren
616395f40b Add suggestion for replacement 2018-12-13 09:34:16 -08:00
Kampfkarren
ab070508be Lint for Vec<Box<T: Sized>> - Closes #3530 2018-12-13 07:43:13 -08:00
bors
379c934f3f Auto merge of #3535 - sinkuu:fixes, r=phansch
Fix some problems

Fixes #2892, #3199, #2841, #3476
2018-12-12 19:17:09 +00:00
bors
777c9099e7 Auto merge of #3510 - phansch:fix_doc_markdown_mixed_case, r=flip1995
Fix doc_markdown mixed case false positive

Fixes #2343
2018-12-12 18:36:38 +00:00
Philipp Hansch
778723630c
Fix doc_markdown mixed case false positive 2018-12-12 19:25:27 +01:00
bors
7c823cabab Auto merge of #3450 - phansch:structured_sugg_for_explicit_write, r=flip1995
Add suggestion for explicit_write lint

Closes #2083
2018-12-12 18:11:13 +00:00
Philipp Krones
b7a431ea1d
Rollup merge of #3540 - matthiaskrgr:rustup, r=flip1995
rustup https://github.com/rust-lang/rust/pull/56092

fix ui test cast_alignment failure by adding #![feature(rustc_private)]
2018-12-12 18:17:01 +01:00
Matthias Krüger
016c996e16 rustup https://github.com/rust-lang/rust/pull/56092
fix ui test cast_alignment failure by adding #![feature(rustc_private)]
2018-12-12 17:23:07 +01:00
Shotaro Yamada
eba44e1c67 question_mark: Suggest Some(opt?) for if-else 2018-12-12 18:13:21 +09:00
Shotaro Yamada
eb54c1a9a0 redundant_field_names: Do not trigger on path with type params
Fixes #3476
2018-12-12 17:41:52 +09:00
Philipp Hansch
1cfbadb029
Fix doc_markdown off by one issue 2018-12-12 08:21:13 +01:00
Shotaro Yamada
d2e5a8ccf5 Remove obsolete comment 2018-12-12 16:08:06 +09:00
Shotaro Yamada
bcbbb4d09b new_without_default, partialeq_ne_impl: Use span_lint_node
Fixes #2892, fixes #3199
2018-12-12 16:08:05 +09:00
bors
f26c39bab7 Auto merge of #3533 - phansch:add_to_doc_valid_idents, r=phansch
Add 'CamelCase' to doc_valid_idents

Fixes #2395
2018-12-12 06:46:21 +00:00
Philipp Hansch
194acaf8e7
Update .stderr after rebase 2018-12-12 07:33:23 +01:00
Philipp Hansch
c4c9d9fc62
Add suggestion for explicit_write lint 2018-12-12 07:31:01 +01:00
Matthias Krüger
36266b3e6c test reformatting: revert more questionable changes done by rustfmt and add #[rustfmt::skip] 2018-12-11 20:50:55 +01:00
Philipp Hansch
ee2abc36a3
Add 'CamelCase' to doc_valid_idents 2018-12-11 19:37:43 +01:00
Michael Wright
c6505aa160 Fix write_with_newline escaping false positive
Fixes #3514
2018-12-11 08:44:49 +02:00
Matthias Krüger
743e9e3561 Merge branch 'master' into rustfmt_tests 2018-12-11 01:42:38 +01:00
Matthias Krüger
625ca772b5 tests: fix more cases where rustfmt would have hurt the tests 2018-12-11 01:31:04 +01:00
Matthias Krüger
f1d5194e3d tests: revert some changs and add further rustfmt::skip attributes. 2018-12-11 00:59:59 +01:00
bors
ada0b2b095 Auto merge of #3518 - sinkuu:redundant_clone_tw, r=phansch
Lint redundant clone of fields

Makes `redundant_clone` warn on unnecessary `foo.field.clone()` sometimes (it can detect an unnecessary clone only if the base of projection, `foo` in this case, is not used at all after that). This is enough for cases like `returns_tuple().0.clone()`.
2018-12-10 18:55:49 +00:00
Matthias Krüger
0a6e568f07 test formatting: don't format tests/ui/formatting.rs 2018-12-10 15:46:01 +01:00
Matthias Krüger
7bcc2cd9c8 update test stderr 2018-12-10 08:22:07 +01:00
Shotaro Yamada
109d4b1ab3 Lint redundant clone of projection 2018-12-10 08:48:14 +09:00
Matthias Krüger
435299be30 rustfmt tests 2018-12-09 23:26:16 +01:00
Matthias Krüger
9b839cd4b5 update line numbers of tests 2018-12-09 17:24:08 +01:00
Matthias Krüger
4583d78156 add rustfmt::skip attributes to some tests 2018-12-09 17:21:49 +01:00
Shotaro Yamada
a4fe567602 Fix test
`if true` is recognized by MIR optimization.
2018-12-09 23:51:31 +09:00
Philipp Hansch
43542f8d89
Remove a run-rustfix annotation (for now)
Starting to work on #2376, this annotation got in the way. Going to
remove it for now.
2018-12-09 15:16:36 +01:00
Philipp Hansch
26602ddff4
Merge pull request #3336 from HMPerson1/clone_on_copy_deref
Fix `clone_on_copy` not detecting derefs sometimes
2018-12-08 09:59:02 +01:00
Philipp Hansch
c4ef06a9b6
Merge pull request #3497 from daxpedda/master
Fix bug in `implicit_return`.
2018-12-06 14:13:20 +01:00
daxpedda
973d676cd1
Fix bug in implicit_return.
Bug was already covered by test, but test was not checked for.
2018-12-06 12:22:54 +01:00
Felix Kohlgrüber
a8a0b236b5 fix #3482 and add ui test for it 2018-12-06 11:07:10 +01:00
daxpedda
aed2b986e6 Renamed to implicit_return.
Covered all other kinds besides `ExprKind::Lit`.
Added check for replacing `break` with `return`.
2018-12-05 14:39:09 +01:00
daxpedda
978f8c65ee Renamed forced_return to missing_returns.
Better clarification in the docs.
Ran `update_lints`.
2018-12-05 10:54:21 +01:00
daxpedda
d5d6692288 Added FORCED_RETURN lint. 2018-12-05 01:59:09 +01:00
Philipp Krones
3f24cdf10f
Merge pull request #3490 from phansch/extract_single_match_else_ui_test
Extract single_match_else UI test
2018-12-04 14:57:19 +01:00
Philipp Hansch
68bb900eba
Merge pull request #3473 from lucasloisp/additional-bool-comparisons
Adds inequality cases to bool comparison (#3438)
2018-12-04 07:26:29 +01:00
Philipp Hansch
3f72d4d630
Extract single_match_else UI test
There's only one test currently.
I also updated the lint doc with a 'good' example and changed the lint
help text a bit.

cc #2038
2018-12-04 07:20:13 +01:00
Lucas Lois
3930148059 Adds inequality cases to bool comparison lint
The lint now checks cases like `y != true`
2018-12-03 16:32:11 -03:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
c00210d7ba
Merge pull request #3478 from dtolnay/setlen
Remove unsafe_vector_initialization lint
2018-12-03 12:42:31 +01:00
David Tolnay
e632a1946e
Remove unsafe_vector_initialization lint 2018-12-03 02:48:37 -08:00
David Tolnay
1a14cb3643
Keep testing large_digit_groups as ui test 2018-12-01 17:23:53 -08:00
David Tolnay
67f9d24c1b
Keep testing unsafe_vector_initialization as ui test 2018-12-01 17:19:39 -08:00
flip1995
0c6483bf21
Update stderr file 2018-11-27 15:29:23 +01:00
Guillem Nieto
5fa04bc3cd Lint only the first statment/expression after alloc
Instead of searching for all the successive expressions after a vector
allocation, check only the first expression.

This is done to minimize the amount of false positives of the lint.
2018-11-25 14:34:23 -08:00
Guillem Nieto
5b77ee95dc Rename some symbols
Renamed some symbols in order to make them a little bit more accurate.
2018-11-25 14:34:23 -08:00
Guillem Nieto
2753f1cbd4 Split lint into slow and unsafe vector initalization 2018-11-25 14:34:23 -08:00
Guillem Nieto
9b4bc3b6ef Add unsafe set_len initialization 2018-11-25 14:34:23 -08:00
Guillem Nieto
e0ccc9d9af Add slow zero-filled vector initialization lint
Add lint to detect slow zero-filled vector initialization. It detects
when a vector is zero-filled with extended with `repeat(0).take(len)`
or `resize(len, 0)`.
This zero-fillings are usually slower than simply using `vec![0; len]`.
2018-11-25 14:34:23 -08:00
Matthias Krüger
f5929e0797 rust-lang-nursery/rust-clippy => rust-lang/rust-clippy 2018-11-22 04:40:09 +01:00
Wayne Warren
ca4803101f Update trivially_copy_pass_by_ref with Trait stderr output 2018-11-21 07:52:02 -06:00
Wayne Warren
67c32eb2c4 Update trivially_copy_pass_by_ref with Trait examples 2018-11-21 07:52:02 -06:00
flip1995
655a2b4709
Add regression test 2018-11-15 17:06:36 +01:00
Michael Wright
e2e892b59b Fix wrong suggestion for redundant_closure_call
Fixes #1684
2018-11-14 08:01:39 +02:00
Michael Wright
5ade9ff44e Fix use_self false positive on use statements 2018-11-13 06:15:33 +02:00
Michael Wright
460c2b317b Fix use_self false positive
This fixes the first error reported in issue #3410.
2018-11-10 10:57:11 +02:00
Michael Wright
2353f24095 Merge branch 'master' into fix-missing-comma-fp 2018-11-06 07:00:54 +02:00
bors[bot]
7e417d4cbd Merge #3353
3353: float support added for mistyped_literal_suffixes lint r=mikerite a=Maxgy

I implemented the mistyped_literal_suffixes lint for float literals.

```
#![allow(unused_variables)]

fn main() {
    let x = 1E2_32;
    let x = 75.22_64;
}
```
Given the above, the additional check suggests the variables to be written as `let x = 1E2_f32` and `let x = 75.22_f64`.

Fixes #3167 

Co-authored-by: Maxwell Anderson <maxwell.brayden.anderson@gmail.com>
2018-11-05 03:58:15 +00:00
Michael Wright
0c1ffc1d1f Fix possible_missing_comma false positives
`possible_missing_comma` should only trigger when the binary operator has
unary equivalent. Otherwise, it's not possible to insert a comma without
breaking compilation. The operators identified were `+`, `&`, `*` and `-`.

This fixes the specific examples given in issues #3244 and #3396
but doesn't address the conflict this lint has with the style of starting
a line with a binary operator.
2018-11-04 10:02:49 +02:00
bors[bot]
486300b89d Merge #3400
3400: Fix a false-positive of needless_borrow r=phansch a=sinkuu



Co-authored-by: Shotaro Yamada <sinkuu@sinkuu.xyz>
2018-11-03 08:34:13 +00:00
flip1995
318f84ffcf
Update stderr 2018-11-02 19:50:24 +01:00
flip1995
5c1385249e
Rename test files 2018-11-02 19:50:24 +01:00
flip1995
7df7a0a86e
Add tests from rustfmt::skip test file 2018-11-02 19:50:24 +01:00
flip1995
352da1d33d
Add test for non-crate-level inner attributes 2018-11-02 19:49:58 +01:00
flip1995
7bd8c303d3
Add tests 2018-11-02 19:49:58 +01:00
kennytm
2d1c9313b0
Added lints into_iter_on_ref and into_iter_on_array. Fix #1565. 2018-11-02 22:53:56 +08:00
flip1995
faa1db3391
Update stderr 2018-11-02 13:49:10 +01:00
flip1995
4e1102f56c
Add copyright statement© 2018-11-02 13:49:10 +01:00
flip1995
ea4a80f215
Fix typo and indentation 2018-11-02 13:49:10 +01:00
flip1995
8d516b36fe
Add tests for unknwon_clippy_lints lint 2018-11-02 13:49:09 +01:00
bors[bot]
ae137d526c Merge #3397 #3398
3397: UI test cleanup: Extract expect_fun_call tests r=matthiaskrgr a=phansch

Note that the new stderr file does not include a `shadow-unrelated`
error, because the new UI test file does not use `#![warn(clippy::all)]`

cc #2038 

3398: UI test cleanup: Extract match_overlapping_arm tests r=matthiaskrgr a=phansch

cc #2038

Co-authored-by: Philipp Hansch <dev@phansch.net>
2018-11-02 07:34:38 +00:00
Shotaro Yamada
d4370f8b07 Fix a false-positive of needless_borrow 2018-11-02 15:58:54 +09:00
Philipp Hansch
e5af43d426
UI test cleanup: Extract match_overlapping_arm tests 2018-11-02 07:19:30 +01:00
Philipp Hansch
26569f3dde
UI test cleanup: Extract expect_fun_call tests
Note that the new stderr file does not include a `shadow-unrelated`
error, because the new UI test file does not use `#![warn(clippy::all)]`
2018-11-02 07:18:56 +01:00
Maxwell Anderson
3c22b2314c Merge remote-tracking branch 'upstream/master' 2018-10-31 16:48:47 -06:00
bors[bot]
6a165e5a92 Merge #3392
3392: UI test cleanup: Extract for_loop_over_x tests r=matthiaskrgr a=phansch

cc #2038

Co-authored-by: Philipp Hansch <dev@phansch.net>
2018-10-31 21:08:34 +00:00
bors[bot]
c8308c92b6 Merge #3378
3378: Fix lint_without_lint_pass r=phansch a=mikerite



Co-authored-by: Michael Wright <mikerite@lavabit.com>
Co-authored-by: flip1995 <hello@philkrones.com>
2018-10-31 07:18:42 +00:00
bors[bot]
b144c7f35d Merge #3370
3370: bool_comparison triggers 3 times on same code r=phansch a=mrbuzz

Fix #3335 

Co-authored-by: Giorgio Gambino <gambnio.giorgio@gmail.com>
2018-10-31 06:48:49 +00:00
Philipp Hansch
b421f5ad48
UI test cleanup: Extract for_loop_over_x tests 2018-10-30 21:25:34 +01:00
flip1995
3d84ffb5ec
Update .stderr file 2018-10-29 20:55:52 +01:00
flip1995
a7fc6799df
Rewrite registered lint collection 2018-10-29 20:44:45 +01:00
Michael Wright
267d5d3433
Fix lint_without_lint_pass 2018-10-29 20:28:06 +01:00
bors[bot]
00ed70526a Merge #3373
3373: UI test cleanup: Extract unnecessary_operation tests r=matthiaskrgr a=phansch

cc #2038 

Co-authored-by: Philipp Hansch <dev@phansch.net>
2018-10-28 22:52:21 +00:00
Philipp Hansch
18b122005f
UI test cleanup: Extract explicit_counter_loop tests 2018-10-28 18:56:49 +01:00
Philipp Hansch
7adc8dc956
UI test cleanup: Extract unnecessary_operation tests 2018-10-28 18:40:29 +01:00
bors[bot]
14d2700b6f Merge #3217 #3366
3217: Fix string_lit_as_bytes lint for macros r=phansch a=yaahallo

Prior to this change, string_lit_as_bytes would trigger for constructs
like `include_str!("filename").as_bytes()` and would recommend fixing it
by rewriting as `binclude_str!("filename")`.

This change updates the lint to act as an EarlyLintPass lint. It then
differentiates between string literals and macros that have bytes
yielding alternatives.

Closes #3205

3366: Don't expand macros in some suggestions r=oli-obk a=phansch

Fixes #1148 
Fixes #1628
Fixes #2455
Fixes #3023
Fixes #3333
Fixes #3360

Co-authored-by: Jane Lusby <jlusby42@gmail.com>
Co-authored-by: Philipp Hansch <dev@phansch.net>
2018-10-28 17:13:34 +00:00
Giorgio Gambino
62f16803e8 Fix #3335 rev1: bool_comparison triggers 3 times on same code 2018-10-28 16:28:17 +01:00
Giorgio Gambino
7cfde9cfa9 Fix #3335: bool_comparison triggers 3 times on same code 2018-10-28 15:37:39 +01:00
Maxwell Anderson
183e19a1c3 Merge remote-tracking branch 'upstream/master' 2018-10-27 12:50:12 -06:00
Philipp Hansch
840e50e97f
Don't expand macro in or_fun_call suggestion 2018-10-27 15:47:56 +02:00
Philipp Hansch
af1548f58f
Don't expand macro in single_match suggestion 2018-10-27 15:47:56 +02:00
Philipp Hansch
aa7bcb9074
Don't expand macro in identity_conversion suggestion 2018-10-27 15:47:56 +02:00
Jane Lusby
19ac2e94c6 fix: correctly reconstruct raw strings 2018-10-26 09:12:01 -07:00
Jane Lusby
f9020bb2dd fix: extra semicolon, only create callsite once 2018-10-26 09:12:01 -07:00
Jane Lusby
c209fc9349 Fix string_lit_as_bytes lint for macros
Prior to this change, string_lit_as_bytes would trigger for constructs
like `include_str!("filename").as_bytes()` and would recommend fixing it
by rewriting as `binclude_str!("filename")`.

This change updates the lint to act as an EarlyLintPass lint. It then
differentiates between string literals and macros that have bytes
yielding alternatives.

Closes #3205
2018-10-26 09:12:01 -07:00
bors[bot]
457e7f12e9 Merge #3355
3355: Lint to remove redundant `clone()`s r=oli-obk a=sinkuu

This PR adds lint `redundant_clone`. It suggests to remove redundant `clone()` that clones a owned value that will be dropped without any usage after that.

Real-world example: https://github.com/rust-lang/rust/compare/7b0735a..sinkuu:redundant_clone2

Co-authored-by: Shotaro Yamada <sinkuu@sinkuu.xyz>
2018-10-26 10:36:43 +00:00
bors[bot]
ead29847ff Merge #3357
3357: Check existential types in `use_self` r=oli-obk a=HMPerson1

Fixes #3231

Co-authored-by: HMPerson1 <hmperson1@gmail.com>
2018-10-26 08:48:12 +00:00
Shotaro Yamada
9a150b4aa1 Use lint_root 2018-10-26 01:16:14 +09:00
Shotaro Yamada
105ae712f4 update_references indexing_slicing 2018-10-26 01:16:14 +09:00
Shotaro Yamada
3ca0895920 Add redundant_clone lint 2018-10-26 01:15:55 +09:00
bors[bot]
a87e1b02ab Merge #3331
3331: Disable arithmetic lints in constant items r=oli-obk a=pengowen123

Currently this will not catch cases in associated constants. I'm not sure whether checking spans is the best way to solve this issue, but I don't think it will cause any problems.
Fixes #1858

Co-authored-by: Owen Sanchez <pengowen816@gmail.com>
2018-10-25 09:38:00 +00:00
HMPerson1
d53e6f87e9
Add tests for more than one level of reference 2018-10-24 23:39:55 -04:00
HMPerson1
1a6bfecf38
Add test case for mem::discriminant inside a macro 2018-10-24 23:39:55 -04:00
HMPerson1
aabf8083bd
Add lint for calling mem::discriminant on a non-enum type 2018-10-24 23:39:54 -04:00
HMPerson1
3db14f182c
Check existential types in use_self 2018-10-24 23:32:33 -04:00
Owen Sanchez
0b9e9c9e3d Disable arithmetic lints in constant items 2018-10-24 20:27:26 -07:00
bors[bot]
4c6201dceb Merge #3312
3312: OUT_OF_BOUNDS_INDEXING false negative r=phansch a=JoshMcguigan

fixes #3102

Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2018-10-24 21:17:43 +00:00
bors[bot]
bce190558f Merge #3338
3338: new_ret_no_self false positives r=flip1995 a=JoshMcguigan

~~WORK IN PROGRESS~~

I plan to fix all of the false positives in #3313 in this PR, but I wanted to open it now to start gathering feedback.

In this first commit, I've updated the lint to allow tuple return types as long as `Self` shows up at least once, in any position of the tuple. I believe this is the broadest possible interpretation of what should be allowed for tuple return types, but I would certainly be okay making the lint more strict. 

fixes #3313 

Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2018-10-24 14:42:40 +00:00
Josh Mcguigan
30ffc17ef7 new_ret_no_self added test cases 2018-10-24 06:43:21 -07:00
bors[bot]
03f8899fa5 Merge #3350
3350: Don't emit `new_without_default_derive` if an impl of Default exists regardless of generics r=oli-obk a=pengowen123

Fixes #2226

Co-authored-by: Owen Sanchez <pengowen816@gmail.com>
2018-10-24 07:59:06 +00:00
Owen Sanchez
50b9e7aebc Don't emit new_without_default_derive if an impl of Default exists 2018-10-23 20:44:31 -07:00
Maxwell Anderson
6a695ffb3d added float support for mistyped literal lints 2018-10-23 15:54:27 -06:00
Josh Mcguigan
a624583557 new_ret_no_self added test cases 2018-10-20 06:29:17 -07:00
HMPerson1
553d01d9c7
Update ui/for_loop test output 2018-10-19 17:17:13 -04:00
HMPerson1
2e9172aea2
Check for known array length in needless_range_loop 2018-10-19 16:34:16 -04:00
HMPerson1
2a9dec681f
Fix suggestion for multiple derefs 2018-10-19 14:51:25 -04:00
Josh Mcguigan
097df8f223 new_ret_no_self correct false positive on raw pointer return types 2018-10-19 05:20:33 -07:00
Josh Mcguigan
6e75050be0 new_ret_no_self correct linting of tuple return types 2018-10-19 04:55:06 -07:00
HMPerson1
a2be050965
Fix clone_on_copy not detecting derefs sometimes 2018-10-19 00:03:56 -04:00
Maxwell Anderson
9f637288cf Merge remote-tracking branch 'upstream/master' 2018-10-18 15:45:05 -06:00
Lukas Stevens
5614dcb4ea Support multiline comments and hopefully fix panic 2018-10-18 18:57:16 +02:00
Lukas Stevens
8753e568bf Check for comments in collapsible ifs 2018-10-18 18:00:21 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
1264bb6b7d
Merge pull request #3323 from pengowen123/fix_manual_memcpy
Simplify manual_memcpy suggestion in some cases
2018-10-18 09:44:24 +02:00
Philipp Hansch
284c63e84d
Merge pull request #3281 from CYBAI/redundant-match
Add lint for redundant pattern matching for explicit return boolean
2018-10-17 07:31:09 +02:00
CYBAI
66ae3b1249 Rename if_let_redundant_pattern_matching to redundant_pattern_matching
Also, making the old one deprecated
2018-10-17 11:20:42 +08:00
CYBAI
3b7c88888b Add lint for redundant pattern matching for explicit return boolean 2018-10-17 11:14:37 +08:00
Giorgio Gambino
aa88e68902 Fix issue #3322: reword help message for len_zero 2018-10-16 23:23:31 +02:00
Owen Sanchez
8c902d1cf2 Simplify manual_memcpy suggestion in some cases 2018-10-16 12:38:23 -07:00
Bruno Kirschner
2d8b4f3d5c Avoid linting boxed_local on trait implementations. 2018-10-15 20:34:45 +02:00
Josh Mcguigan
66d3672b26 out_of_bounds_indexing improved reporting of out of bounds value 2018-10-15 04:44:39 -07:00
Owen Sanchez
456843f1cd Swap order of methods in needless_range_loop suggestion in some cases 2018-10-14 20:14:16 -07:00
Josh Mcguigan
0f3345e8b2 OUT_OF_BOUNDS_INDEXING fix #3102 false negative 2018-10-13 13:51:53 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
601cc9d2c5
Merge pull request #3310 from JoshMcguigan/explicit_counter_loop-3308
explicit_counter_loop fix #3308 false positive
2018-10-13 20:11:50 +02:00
Josh Mcguigan
c6f79c7ba0 explicit_counter_loop fix #3308 false positive 2018-10-13 06:57:52 -07:00
Josh Mcguigan
3f386d33f9 new_ret_no_self test remove tool lints cfg flag 2018-10-13 06:33:46 -07:00
Josh Mcguigan
348d18ebd8 Removed new_ret_no_self tests from method.rs 2018-10-13 06:25:10 -07:00
Josh Mcguigan
a5e4805ecf new_ret_no_self correctly lint impl return 2018-10-13 06:20:39 -07:00
Josh Mcguigan
1c4fa419f3 new_ret_no_self fix false positive for impl trait return with associated type self 2018-10-13 06:20:39 -07:00
Josh Mcguigan
13ce96c4bf new_ret_no_self corrected panic and added test stderr 2018-10-13 06:20:39 -07:00
Josh Mcguigan
eb854b233c new_ret_no_self added positive test cases 2018-10-13 06:20:39 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
8b12eee112
Merge pull request #3233 from rust-lang-nursery/unused-unit
new lint: unused_unit
2018-10-13 09:30:19 +02:00
Andre Bogus
e8687a6677 unused unit lint 2018-10-13 00:42:55 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
d445dbfe16
Merge pull request #3291 from JoshMcguigan/cmp_owned-3289
cmp_owned wording and false positive
2018-10-12 15:07:12 +02:00
Josh Mcguigan
c9718fa589 cmp_owned correct error message if rhs is deref 2018-10-12 04:34:41 -07:00
Maxwell Anderson
63fbeaab68 Merge remote-tracking branch 'upstream/master' 2018-10-11 22:16:05 -06:00
Maxwell Anderson
9fad38dca9 tmp progress 2018-10-11 22:15:01 -06:00
Josh Mcguigan
0b65462ca5 cmp_owned current suggestion for multiple deref 2018-10-11 05:03:02 -07:00
Oliver Scherer
9d3373137b Remove now-useless allow(unknown_lints) 2018-10-11 12:18:27 +02:00
Oliver Scherer
b8654eaa6c Stabilize tool lints 2018-10-11 12:16:22 +02:00
mikerite
31eb3b73d3
Merge pull request #3127 from mikerite/fix-2937
Fix 2937
2018-10-11 06:22:02 +02:00
Karim SENHAJI
f9e4f5695d Limit commutative assign op lint to primitive types 2018-10-10 19:10:44 +02:00
Josh Mcguigan
d41615548e cmp_owned add test for multiple dereference 2018-10-10 04:51:06 -07:00
Michael Wright
7499cb543d Fix #2937 2018-10-10 07:52:58 +02:00
Josh Mcguigan
b0d7aea946 Fixes 3289, cmp_owned wording and false positive 2018-10-09 19:25:03 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
f6882ede4d
Merge pull request #3287 from JoshMcguigan/cmp_owned-2925
cmp_owned false positive
2018-10-09 10:01:31 +02:00
Josh Mcguigan
ad5c29a445 Fixes #2925 cmp_owned false positive 2018-10-08 19:04:29 -07:00
Matthias Krüger
a578cb2d62 if_let_redundant_pattern_matching: use Span.to() instead of Span.with_hi() to fix crash.
Fixes #3064
2018-10-08 17:34:43 +02:00
Rotem Yaari
1ef32e4096 Improve diagnostics in case of lifetime elision (closes #3284) 2018-10-08 13:07:21 +03:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
02705d4cf5
Merge pull request #3282 from JoshMcguigan/excessive_precision-2840
Fix excessive_precision false positive
2018-10-08 08:24:13 +02:00
Ryan Cumming
9bd4e5469e Don't suggest cloned() for map Box deref
Boxes are a bit magic in that they need to use `*` to get an owned value
out of the box. They implement `Deref` but that only returns a
reference. This means an easy way to convert an `Option<Box<T>>` to an
`<Option<T>` is:

```
box_option.map(|b| *b)
```

However, since b36bb0a6 the `map_clone` lint is detecting this as an
attempt to copy the box. Fix by excluding boxes completely from the
deref part of this lint.

Fixes #3274
2018-10-08 06:20:32 +11:00
Josh Mcguigan
8a77a25b8a Fix excessive_precision false positive 2018-10-07 11:38:20 -07:00
Philipp Hansch
63ceabf0cf
Merge pull request #3280 from d-dorazio/fix-new_without_default-should-not-fire-unsafe-new
new_without_default should not warn about unsafe new
2018-10-07 13:09:37 +01:00
Philipp Hansch
d365742bc6
Fix FP in fn_to_numeric_cast_with_truncation
We only want this lint to check casts to numeric, as per the lint title.
Rust already has a built-in check for all other casts
[here][rust_check].

[rust_check]: 5472b0718f/src/librustc_typeck/check/cast.rs (L430-L433)
2018-10-07 12:50:36 +02:00
Daniele D'Orazio
59c4ff77f1 new_without_default should not warn about unsafe new 2018-10-07 12:39:54 +02:00
Manish Goregaokar
e9c025ea70 Add license header to Rust files 2018-10-06 09:43:08 -07:00
Manish Goregaokar
75965030c7
Merge pull request #3251 from rust-lang-nursery/relicense-rewrite
[do not merge] Relicensing rewrite
2018-10-05 20:14:55 +02:00
Philipp Hansch
8407957ec6
Fix fn_to_numeric_cast UI tests
This collapses both lint tests into one file.
Somehow allowing the other lint in the respective files did not work
correctly. Maybe that's fixed as part of fixing #3198.
2018-10-05 07:49:08 +02:00