Matt Brubeck
6a0703664b
Remove incorrect note from string_add_assign docs
...
The docs claim that `String::push_str` is better than `String::add` because `String::add` allocates a new string and drops the old one, but this is not true. In fact, `add` reuses the existing string and grows it only if its capacity is exceeded, exactly like `push_str`. Their performance is identical since `add` is just a wrapper for `push_str`:
```
fn add(mut self, other: &str) -> String {
self.push_str(other);
self
}
```
35bf1ae257/src/liballoc/string.rs (L1922-L1925)
2018-08-23 08:38:41 -07:00
Matthias Krüger
8ab16b678c
remove macro_vis_matcher feature gate since it is stable now.
...
Warning was:
warning: the feature `macro_vis_matcher` has been stable since 1.29.0 and no longer requires an attribute to enable
--> src/lib.rs:4:12
|
4 | #![feature(macro_vis_matcher)]
| ^^^^^^^^^^^^^^^^^
|
= note: #[warn(stable_features)] on by default
2018-08-23 15:40:51 +02:00
flip1995
37099ae034
Remove now stable tool_attributes feature
2018-08-23 15:36:07 +02:00
Matthias Krüger
712d2d4fa1
rustup, fix breakage introduced by https://github.com/rust-lang/rust/pull/53581
2018-08-22 23:34:52 +02:00
Lachezar Lechev
76f7bfcefd
#3016 Add backticks for the msg
2018-08-20 15:50:15 +02:00
Lachezar Lechev
c292b80783
#3016 Add feedback and implement test for fixed hardcoded suggestion
2018-08-20 15:33:43 +02:00
Lachezar Lechev
3015987f27
#3016 [WIP] Implement feedback and suggestions
2018-08-20 14:03:13 +02:00
Manish Goregaokar
a7bea134d3
Remove implied rust_2018 feature
...
We are already on the edition and this feature is implied.
2018-08-19 19:14:47 -07:00
Manish Goregaokar
76321d3300
codemap -> source_map
...
https://github.com/rust-lang/rust/pull/52953
2018-08-19 19:06:54 -07:00
Lachezar Lechev
6cb94630fb
WIP of #3016 for hardocded suggestion for writeln on empty string
2018-08-16 18:20:06 +02:00
Michael Wright
1c681b6ab6
fix-2927: Update formatting
2018-08-16 07:13:52 +02:00
Michael Wright
bbd67c9b78
Fix #2927
2018-08-15 08:11:07 +02:00
Manish Goregaokar
bac76afb5a
Rustup to rustc 1.30.0-nightly (23f09bbed 2018-08-14)
2018-08-14 11:26:28 -07:00
Philipp Krones
84aa49935d
Merge pull request #3026 from dwijnand/fxhash
...
Add an internal lint for FxHashMap/FxHashSet
2018-08-14 13:04:48 +02:00
Philipp Krones
b2a4013c14
Merge pull request #3014 from estk/allow-write-multi-newline
...
Allow print/write with multiple newlines
2018-08-14 12:54:05 +02:00
Philipp Krones
826d998cd2
Merge pull request #3036 from matthiaskrgr/clippy_self
...
fix 2 clippy warnings
2018-08-14 12:53:01 +02:00
Dale Wijnand
7933d445d1
Move shadow_unrelated to pedantic
2018-08-14 09:52:27 +01:00
Dale Wijnand
22ff5a3ef1
Avoid new_without_default_derive in DefaultHashTypes
2018-08-14 09:25:09 +01:00
Jonathan Goodman
160b41dae3
deprecate assign_ops lint
2018-08-13 16:12:41 -05:00
Dale Wijnand
1812707d39
Use utils::span_lint_and_sugg in default_hash_types
2018-08-13 11:49:57 +01:00
Dale Wijnand
8fc425b676
Add an internal lint for FxHashMap/FxHashSet
2018-08-12 16:15:36 +01:00
Matthias Krüger
88d693918f
docs: add more suggestions on how to fix clippy findings to the online lint list.
2018-08-12 11:29:44 +02:00
Matthias Krüger
66ca3954ec
fix 2 clippy warnings
2018-08-11 23:16:47 +02:00
Oliver Schneider
99a087bea5
Update to rustc master
2018-08-08 13:19:07 +02:00
Oliver Schneider
d722489e71
Merge pull request #2823 from flip1995/thingies_things
...
Replace cfg_attr(rustfmt... with rustfmt::skip
2018-08-08 13:14:20 +02:00
Nick Cameron
b109e10334
Fix build
2018-08-08 18:01:06 +12:00
Evan Simmons
550ff84ecd
Allow print/write with multiple newlines
2018-08-07 12:01:10 -08:00
Oliver Schneider
328fea3e0d
Rustup
2018-08-07 16:34:17 +02:00
Oliver Schneider
77025557f9
Merge pull request #3009 from dwijnand/option-map_or
...
Use Option::map_or
2018-08-07 13:11:30 +02:00
Oliver Schneider
1af90085a1
Merge pull request #3008 from dwijnand/remove-workaround
...
Remove #[allow(rust_2018_idioms)] workaround
2018-08-07 13:10:54 +02:00
Oliver Schneider
dc5ee5aa19
Merge pull request #3010 from mikerite/issue2971
...
Fix #2971
2018-08-07 13:10:26 +02:00
Scott McMurray
73e097e9f1
Fix the build after https://github.com/rust-lang/rust/pull/53016
...
In-band lifetimes are no longer in the edition, so update the one place that was using them.
2018-08-07 00:05:09 -07:00
Michael Wright
a3d7698fd9
Fix #2971
2018-08-07 05:37:11 +02:00
Dale Wijnand
7a5ede677b
Use Option::map_or
2018-08-06 17:52:09 +01:00
Dale Wijnand
1a310bfdf7
Remove #[allow(rust_2018_idioms)] workaround
2018-08-06 17:51:04 +01:00
Oliver Schneider
b18a3c5b60
Merge pull request #3007 from mikerite/issue3000
...
Fix #3000
2018-08-06 09:16:42 +02:00
Michael Wright
ffce3c77e4
Fix #3000
2018-08-06 08:20:50 +02:00
Philipp Hansch
f6c4e303c9
Merge pull request #2999 from flip1995/single_char_pattern
...
Fix single_char_pattern lint for escaped chars
2018-08-06 07:05:04 +01:00
Philipp Hansch
32e4897854
Merge pull request #2975 from aaudiber/lint-identity-into-iter
...
Lint using identity into_iter conversion
2018-08-05 20:38:28 +01:00
Philipp Hansch
a016d4efe0
Merge pull request #2991 from mikerite/issue2979
...
Fix #2979
2018-08-05 20:35:55 +01:00
Nick Cameron
99dcc70dcd
Fix error in CrateType
in latest Rust
2018-08-05 09:35:08 +12:00
Manish Goregaokar
0ff762f7cd
Rustup to 59fa6bd6c
2018-08-03 10:14:25 -07:00
flip1995
55672e7e49
Fix single_char_pattern lint for escaped chars
2018-08-03 10:19:29 +02:00
Alex Crichton
8ef759e027
Fix fallout from rust-lang/rust#52841
2018-08-02 18:08:22 -07:00
flip1995
12f2d61fa9
Replace cfg_attr(rustfmt... thingies
2018-08-02 23:04:20 +02:00
Philipp Krones
5d9ca00d94
Merge pull request #2992 from etaoins/allow-pass-by-ref-on-adt-return
...
Allow pass by ref when returning ADT with ref
2018-08-02 22:39:04 +02:00
Alex Crichton
40349b23ea
Fix breakage from rust-lang/rust#52949
2018-08-02 13:00:14 -07:00
Manish Goregaokar
f43d0e53b2
Make indexing_slicing a restriction lint ( fixes #2933 )
2018-08-02 10:06:03 -07:00
reujab
1afb7e895b
removed colon
2018-08-02 11:52:46 -04:00
Ryan Cumming
08d6b3d2f6
Allow pass by ref when returning ADT with ref
...
This is a follow-up to #2951 that extends the logic to allow for
returning references inside structs/enums/unions. This was a simple
oversight in the first version and it's surprisingly easy to handle.
2018-08-02 17:57:49 +10:00
Michael Wright
534d546c81
Fix #2979
2018-08-02 08:56:53 +02:00
Andrew Audibert
3851c0e22b
Address build warning
2018-07-31 23:53:45 -07:00
Philipp Hansch
d7ffaab0fb
Merge pull request #2968 from phansch/first_an_ICE_and_then_some_ice_cream
...
Fix ICE with 'while let Some(..) = x.iter()'
2018-08-01 06:18:34 +01:00
Philipp Hansch
4dbc62baf8
Merge pull request #2983 from mikerite/fix_warnings_20180730
...
Fix compiler warnings
2018-08-01 06:18:18 +01:00
Michael Wright
98dbce4fe4
Fix E0502 warnings
...
Fixes #2982
2018-08-01 06:33:08 +02:00
flip1995
74fcf7de4a
single_char_pattern: lint only on the argument span
2018-07-31 12:20:32 +02:00
Michael Wright
9c53b1560c
Fix unused_mut warning
2018-07-31 07:45:05 +02:00
Andrew Audibert
0ea1afab3a
Lint using identity into_iter conversion
2018-07-29 21:37:31 -07:00
Philipp Krones
4010788b3a
Merge pull request #2917 from mikerite/issue2894
...
Fix #2894
2018-07-29 23:54:03 +02:00
Philipp Hansch
0aeb82cb67
Merge pull request #2959 from chrisduerr/master
...
Add known problem to `needless_borrow` lint
2018-07-29 12:15:17 +02:00
Philipp Hansch
946340acfe
Fix ICE with 'while let (..) = x.iter()'
2018-07-29 11:00:26 +02:00
Michael Wright
d7ddb2abba
Add use_self
comment
2018-07-28 10:42:21 +02:00
Michael Wright
8eeb3feadf
Merge branch 'master' into issue2894
2018-07-28 08:41:10 +02:00
Oliver Schneider
b0dabce478
Merge pull request #2963 from commandline/master
...
Fix regression in print_literal
2018-07-26 10:11:34 +02:00
Thomas Gideon
bf3f976a43
Fix regression in print_literal
2018-07-25 17:31:17 -04:00
Philipp Hansch
e1096391dc
Merge pull request #2960 from matthiaskrgr/typos
...
fix a bunch of typos found by codespell
2018-07-25 22:57:10 +02:00
Philipp Hansch
3bd062e1d9
Merge pull request #2948 from Nemo157/patch-1
...
Add known problem for redundant_closure lint
2018-07-25 22:55:36 +02:00
Matthias Krüger
2665f10662
fix a bunch of typos found by codespell
2018-07-25 20:02:52 +02:00
Matthias Krüger
cfc9b33f17
Merge branch 'master' into typos
2018-07-25 19:54:45 +02:00
Christian Duerr
13353111da
Add known problem to needless_borrow
lint
...
The `needless_borrow` lint is temporarily disabled because of some false
positives it causes in combination with the `derive` macro.
However the documentation does not explain these issues, but instead
lists `Known problems: None`. To make it clear why this lint is
currently not enabled, a description of the false positives caused by
this lint has been added to the `Known problems` section.
2018-07-25 14:54:09 +02:00
Michael Wright
137f944315
Fix warnings
2018-07-25 06:34:29 +02:00
Michael Wright
5e23fcec0b
Merge branch 'master' into issue2894
2018-07-25 06:27:36 +02:00
Dale Wijnand
a1cce2d06a
Inline utils::in_external_macro
2018-07-24 10:38:58 +01:00
Dale Wijnand
b1fa7b91ba
Delegate utils::in_external_macro to rustc::lint::in_external_macro
2018-07-24 10:34:18 +01:00
Philipp Krones
b02e53de34
Merge pull request #2951 from etaoins/allow-pass-by-ref-on-ref-return
...
Allow pass by reference if we return a reference
2018-07-24 11:23:01 +02:00
Philipp Krones
3f9b837ec8
Merge pull request #2953 from dwijnand/misrefactored_assign_op-known-problem-doc
...
Expand on misrefactored_assign_op known problems
2018-07-24 11:19:58 +02:00
Ryan Cumming
0afa5e1e21
Merge branch 'master' into allow-pass-by-ref-on-ref-return
2018-07-24 19:03:43 +10:00
Dale Wijnand
70f5bb1ff6
Tweak
...
misrefactored_assign_op's known problems wording
2018-07-24 09:26:28 +01:00
Dale Wijnand
6ad7a92ff8
Expand on misrefactored_assign_op known problems
2018-07-24 08:39:18 +01:00
Oliver Schneider
afd91248ed
Rustup
2018-07-23 13:01:12 +02:00
Ryan Cumming
7c74c3e508
Wrap comment at 80 columns
2018-07-23 19:37:41 +10:00
Ryan Cumming
89a4558056
Add Known Problem for multiple lifetimes
2018-07-23 19:33:52 +10:00
Ryan Cumming
58459abd0c
Allow pass by reference if we return a reference
...
Currently this code will trigger `trivally_copy_pass_by_ref`:
```
struct OuterStruct {
field: [u8; 8],
}
fn return_inner(outer: &OuterStruct) -> &[u8] {
&outer.field
}
```
If we change the `outer` to be pass-by-value it will not live long
enough for us to return the reference. The above example is trivial but
I've hit this in real code that either returns a reference to either the
argument or in to `self`.
This suppresses the `trivally_copy_pass_by_ref` lint if we return a
reference and it has the same lifetime as the argument. This will likely
miss complex cases with multiple lifetimes bounded by each other but it
should cover the majority of cases with little effort.
2018-07-23 18:44:40 +10:00
Oliver Schneider
ff0e5f967f
Rewrite the print/write macro checks as a PreExpansionPass
2018-07-23 00:19:07 +02:00
Wim
26eea10ec1
Add known problem for redundant_closure lint
...
Documenting https://github.com/rust-lang-nursery/rust-clippy/issues/1439 until it gets fixed.
2018-07-21 18:05:02 +02:00
Oliver Schneider
8085ed733f
Don't invent new magic keywords
2018-07-21 12:36:01 +02:00
Oliver Schneider
2fa85d86e0
Rustup
2018-07-20 22:50:04 +02:00
Manish Goregaokar
1f65617372
Merge branch 'macro-use' into HEAD
2018-07-20 00:52:01 -07:00
Manish Goregaokar
77b0300a55
Merge branch 'pr-2939' into HEAD
2018-07-20 00:51:57 -07:00
Manish Goregaokar
2a37a62686
Update dependencies
2018-07-20 00:50:02 -07:00
Manish Goregaokar
3c2b54870e
Remove warning
2018-07-20 00:50:02 -07:00
Manish Goregaokar
5918a3fc1e
Remove import of if_chain
2018-07-20 00:50:02 -07:00
Alexander Regueiro
4d2c838a32
Update to nightly
2018-07-20 03:59:07 +01:00
flip1995
ac77a26b8a
Skip useless_attribute lint on allow(unused_imports) on extern crate items with macro_use
2018-07-19 13:59:25 +02:00
Manish Goregaokar
c7676356b8
Remove import of matches
2018-07-19 01:06:02 -07:00
Manish Goregaokar
5d74e2096b
Remove import of rustc
2018-07-19 00:53:23 -07:00
Manish Goregaokar
00ba67a12b
Remove import of lazy_static
2018-07-19 00:11:15 -07:00
Manish Goregaokar
c1745cde82
Remove import of serde
2018-07-19 00:02:08 -07:00
Manish Goregaokar
c05adc545c
Temporarily allow macro_use_extern_crate
2018-07-18 20:24:37 -07:00
Michael Wright
a05c9b63ce
use_self: Simplify spanning
2018-07-18 07:57:50 +02:00
Michael Wright
5bb52c4869
Fix use_self regressions
2018-07-17 08:20:49 +02:00
Michael Wright
847e4dcc0d
Merge branch 'master' into issue2894
2018-07-17 06:32:39 +02:00
Oliver Schneider
6992937002
Update for hir renamings in rustc
2018-07-16 15:07:39 +02:00
csmoe
8e929946fd
DeclKind
2018-07-16 11:48:33 +02:00
csmoe
8cf463fe93
StmtKind
2018-07-16 11:48:33 +02:00
csmoe
12ded030b6
TyKind
2018-07-16 11:48:33 +02:00
csmoe
5d4102ee78
BinOpKind
2018-07-16 11:46:37 +02:00
csmoe
1bd17e4fa2
ExprKind
2018-07-16 11:46:37 +02:00
Michael Wright
b90fc5edfa
Fix #2894
2018-07-15 10:38:40 +02:00
Oliver Schneider
5e085e4310
Remove use of ty_to_def_id
2018-07-15 02:04:23 +02:00
Oliver Schneider
1e9f076254
Ignore spans when comparing expressions
2018-07-15 00:00:27 +02:00
Michael Wright
60af4a8e13
Remove duplication in missing_inline
2018-07-08 08:06:24 +02:00
Manish Goregaokar
d914106d87
Bump to 0.0.212
2018-07-06 23:23:19 -07:00
Manish Goregaokar
184b99de39
Merge branch 'pr-2889'
2018-07-06 23:20:01 -07:00
Oliver Schneider
28daee4c91
Rustup
2018-07-05 13:41:51 +02:00
gnzlbg
3fec3b47b6
refactor function
2018-07-05 01:53:40 +02:00
gnzlbg
14cbdf2607
do not apply lint to executable crate type
2018-07-04 16:39:52 +02:00
gnzlbg
999a00bf5e
address reviews
2018-07-04 15:32:55 +02:00
gnzlbg
7c4ec40346
add missing_inline lint
...
When turned on, the lint warns on all exported functions, methods,
trait methods (default impls, impls), that are not `#[inline]`.
Closes #1503 .
2018-07-04 13:50:39 +02:00
Oliver Schneider
547d9ca120
Rustup
2018-07-03 10:52:59 +02:00
Oliver Schneider
141f79f844
Rustup
2018-07-02 19:07:12 +02:00
Oliver Schneider
63041d070b
Rustup
2018-07-01 13:36:14 +02:00
Michael Wright
dfd9e10a2a
Use slightly neater check for static lifetimes
2018-07-01 11:58:29 +02:00
Georg Brandl
949f0d9c72
Fix badly mangled lint message for neg-cmp-op-on-partial-ord
2018-06-29 16:55:31 +02:00
Oliver Schneider
b4b6e6558e
Version bump
2018-06-29 10:22:01 +02:00
Mateusz Mikuła
a24f77f65a
Bump the version
2018-06-29 09:55:20 +02:00
Mateusz Mikuła
48cb6e273e
Rustup
2018-06-29 09:49:05 +02:00
Mateusz Mikuła
b7d95f486b
Fix warnings
2018-06-28 13:33:11 +02:00
Oliver Schneider
656b26ea4f
Merge pull request #2832 from kennytm/non-copy-const
...
Lint against const items which are interior mutable.
2018-06-28 08:39:54 +02:00
Alex Vermillion
536e7c8f38
Removed placeholder doc-comments
...
There were comments instructing someone to insert an example, but an example was already present
2018-06-26 20:22:36 -05:00
Manish Goregaokar
73a80c5950
Merge pull request #2872 from rust-lang-nursery/pedantic-default
...
Move default_trait_access to pedantic
2018-06-26 13:03:31 -07:00
Oliver Schneider
052427e87a
Merge pull request #2873 from mati865/edition2018_next_step
...
Next step towards Rust 2018...
2018-06-26 11:11:53 +02:00
Oliver Schneider
0de3f36a02
Merge pull request #2849 from mikerite/issue_2741
...
Fix #2741
2018-06-26 11:08:19 +02:00
Michael Wright
4827bdcc1c
Merge branch 'master' into issue_2741
2018-06-26 07:46:56 +02:00
flip1995
b2fb01f23b
Use utils::opt_def_id() instead of def_id() to prevent ICE
2018-06-25 22:25:15 +02:00
Mateusz Mikuła
df3b9cc350
Format the code
2018-06-25 21:41:24 +02:00
Mateusz Mikuła
1036df5699
Fix clippy_lints doc-tests
2018-06-25 21:22:53 +02:00
Mateusz Mikuła
a6601f2d02
Enable rust_2018_idioms warning
2018-06-25 20:56:25 +02:00
Manish Goregaokar
9f24b9d4b3
Move default_trait_access to pedantic
2018-06-25 11:39:48 -07:00
Oliver Schneider
9f8624e5bf
Version bump
2018-06-25 18:18:50 +02:00
flip1995
203ad28021
resolve merge of NameAndSpan and ExpnInfo rust-lang/rust#51726
2018-06-25 12:25:20 +02:00
flip1995
535c168791
Fix the tests that got broken by the fixes
2018-06-25 12:25:20 +02:00
flip1995
c83fd39e0e
Resolve conflicts produced by GenericArgs
...
Addresses the move/zip of Lifetimes and Types vectors from hir::PathParameters into the args vector of GenericArgs
2018-06-25 12:31:39 +02:00
flip1995
d9a80d2f84
Resolve field, struct and function renaming
...
Addresses the errors produced by (re)moving, merging or renaming
structs, fields and methods by rust-lang/rust#48149 and rust-lang/rust#51580
2018-06-25 12:25:20 +02:00
kennytm
88b7603b16
Lint against const items which are interior mutable. Fix #1560 .
2018-06-23 03:35:36 +08:00
flip1995
6224e19b80
Check for arguments before accessing the first arg
2018-06-21 15:46:24 +02:00
Oliver Schneider
25510cfb13
Merge pull request #2790 from shnewto/vectors-to-indexing-slicing-lint
...
Extend `indexing_slicing` lint
2018-06-21 10:30:40 +02:00
Bruno Kirschner
fedd3ef711
Allows neg_cmp_op_on_partial_ord for external macros ( fixes #2856 ).
...
The macro always negates the result of the given comparison in its
internal check which automatically triggered the lint. As its an
external macro there was no chance to do anything about it which lead
to a white listing of all external macros to prevent further issues.
2018-06-20 11:58:15 +02:00
Shea Newton
c479b3bc28
Removing lint for constant usize
array indexing
...
This commit removes the logic in this PR that linted out-of-bounds constant `usize` indexing on arrays. That case is already handled by rustc's `const_err` lint. Beyond removing the linting logic, the test file and its associated stderr were updated to verify that const `usize` indexing operations on arrays are no longer handled by this `indexing_slicing` lint.
2018-06-19 21:30:43 +00:00
Shea Newton
4ec439bef0
Revisiting indexing_slicing test cases
...
This commit contains a few changes. In an attempt to clarify which test cases should and should not produce stderr it became clear that some cases were being handled incorrectly. In order to address these test cases, a minor re-factor was made to the linting logic itself.
The re-factor was driven by edge case handling including a need for additional match conditions for `ExprCall` (`&x[0..=4]`) and `ExprBinary` (`x[1 << 3]`). Rather than attempt to account for each potential `Expr*` the code was re-factored into simply "if ranged index" and an "otherwise" conditions.
2018-06-19 16:28:10 +00:00