Skip to content

Commit 0ebaacd

Browse files
Merge branch 'master' into issue-4078
2 parents 7211ea0 + 8fae2dd commit 0ebaacd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+983
-162
lines changed

.github/PULL_REQUEST_TEMPLATE renamed to .github/PULL_REQUEST_TEMPLATE.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
<!--
21
Thank you for making Clippy better!
32

43
We're collecting our changelog from pull request descriptions.
@@ -25,6 +24,8 @@ checked during review or continuous integration.
2524
Note that you can skip the above if you are just opening a WIP PR in
2625
order to get feedback.
2726

28-
Delete this line and everything above before opening your PR -->
27+
Delete this line and everything above before opening your PR.
28+
29+
---
2930

3031
changelog: none

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -976,6 +976,7 @@ Released 2018-09-13
976976
[`diverging_sub_expression`]: https://rust-lang.github.io/rust-clippy/master/index.html#diverging_sub_expression
977977
[`doc_markdown`]: https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
978978
[`double_comparisons`]: https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons
979+
[`double_must_use`]: https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use
979980
[`double_neg`]: https://rust-lang.github.io/rust-clippy/master/index.html#double_neg
980981
[`double_parens`]: https://rust-lang.github.io/rust-clippy/master/index.html#double_parens
981982
[`drop_bounds`]: https://rust-lang.github.io/rust-clippy/master/index.html#drop_bounds
@@ -1095,6 +1096,8 @@ Released 2018-09-13
10951096
[`modulo_one`]: https://rust-lang.github.io/rust-clippy/master/index.html#modulo_one
10961097
[`multiple_crate_versions`]: https://rust-lang.github.io/rust-clippy/master/index.html#multiple_crate_versions
10971098
[`multiple_inherent_impl`]: https://rust-lang.github.io/rust-clippy/master/index.html#multiple_inherent_impl
1099+
[`must_use_candidate`]: https://rust-lang.github.io/rust-clippy/master/index.html#must_use_candidate
1100+
[`must_use_unit`]: https://rust-lang.github.io/rust-clippy/master/index.html#must_use_unit
10981101
[`mut_from_ref`]: https://rust-lang.github.io/rust-clippy/master/index.html#mut_from_ref
10991102
[`mut_mut`]: https://rust-lang.github.io/rust-clippy/master/index.html#mut_mut
11001103
[`mut_range_bound`]: https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ You can use [rustup-toolchain-install-master][rtim] to do that:
147147

148148
```bash
149149
cargo install rustup-toolchain-install-master
150-
rustup-toolchain-install-master -n master --force
150+
rustup-toolchain-install-master --force -n master
151151
rustup override set master
152152
cargo test
153153
```

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ rustc_tools_util = { version = "0.2.0", path = "rustc_tools_util"}
4646

4747
[dev-dependencies]
4848
cargo_metadata = "0.8.0"
49-
compiletest_rs = { version = "0.3.23", features = ["tmp"] }
49+
compiletest_rs = { version = "0.3.24", features = ["tmp"] }
5050
lazy_static = "1.0"
5151
clippy-mini-macro-test = { version = "0.2", path = "mini-macro" }
5252
serde = { version = "1.0", features = ["derive"] }

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
A collection of lints to catch common mistakes and improve your [Rust](https://github.com/rust-lang/rust) code.
88

9-
[There are 322 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html)
9+
[There are 324 lints included in this crate!](https://rust-lang.github.io/rust-clippy/master/index.html)
1010

1111
We have a bunch of lint categories to allow you to choose how much Clippy is supposed to ~~annoy~~ help you:
1212

appveyor.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@ install:
1717
- curl -sSf -o rustup-init.exe https://win.rustup.rs/
1818
- rustup-init.exe -y --default-host %TARGET% --default-toolchain nightly
1919
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
20-
- git ls-remote https://github.com/rust-lang/rust.git master | awk '{print $1}' >rustc-hash.txt
21-
- set /p RUSTC_HASH=<rustc-hash.txt
2220
- del rust-toolchain
23-
- cargo install rustup-toolchain-install-master --debug || echo "rustup-toolchain-install-master already installed"
24-
- rustup-toolchain-install-master %RUSTC_HASH% -f -n master
21+
- cargo install --git https://github.com/kennytm/rustup-toolchain-install-master --debug || echo "rustup-toolchain-install-master already installed"
22+
- rustup-toolchain-install-master -f -n master
2523
- rustup component add rustfmt --toolchain nightly & exit 0 # Format test handles missing rustfmt
2624
- rustup default master
2725
- set PATH=%PATH%;C:\Users\appveyor\.rustup\toolchains\master\bin

clippy_dev/src/lib.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ pub struct Lint {
4242
}
4343

4444
impl Lint {
45+
#[must_use]
4546
pub fn new(name: &str, group: &str, desc: &str, deprecation: Option<&str>, module: &str) -> Self {
4647
Self {
4748
name: name.to_lowercase(),
@@ -58,19 +59,22 @@ impl Lint {
5859
}
5960

6061
/// Returns the lints in a `HashMap`, grouped by the different lint groups
62+
#[must_use]
6163
pub fn by_lint_group(lints: &[Self]) -> HashMap<String, Vec<Self>> {
6264
lints
6365
.iter()
6466
.map(|lint| (lint.group.to_string(), lint.clone()))
6567
.into_group_map()
6668
}
6769

70+
#[must_use]
6871
pub fn is_internal(&self) -> bool {
6972
self.group.starts_with("internal")
7073
}
7174
}
7275

7376
/// Generates the Vec items for `register_lint_group` calls in `clippy_lints/src/lib.rs`.
77+
#[must_use]
7478
pub fn gen_lint_group_list(lints: Vec<Lint>) -> Vec<String> {
7579
lints
7680
.into_iter()
@@ -86,6 +90,7 @@ pub fn gen_lint_group_list(lints: Vec<Lint>) -> Vec<String> {
8690
}
8791

8892
/// Generates the `pub mod module_name` list in `clippy_lints/src/lib.rs`.
93+
#[must_use]
8994
pub fn gen_modules_list(lints: Vec<Lint>) -> Vec<String> {
9095
lints
9196
.into_iter()
@@ -103,6 +108,7 @@ pub fn gen_modules_list(lints: Vec<Lint>) -> Vec<String> {
103108
}
104109

105110
/// Generates the list of lint links at the bottom of the README
111+
#[must_use]
106112
pub fn gen_changelog_lint_list(lints: Vec<Lint>) -> Vec<String> {
107113
let mut lint_list_sorted: Vec<Lint> = lints;
108114
lint_list_sorted.sort_by_key(|l| l.name.clone());
@@ -119,6 +125,7 @@ pub fn gen_changelog_lint_list(lints: Vec<Lint>) -> Vec<String> {
119125
}
120126

121127
/// Generates the `register_removed` code in `./clippy_lints/src/lib.rs`.
128+
#[must_use]
122129
pub fn gen_deprecated(lints: &[Lint]) -> Vec<String> {
123130
lints
124131
.iter()

clippy_dev/src/stderr_length_check.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ fn stderr_files() -> impl Iterator<Item = walkdir::DirEntry> {
4242
.filter(|f| f.path().extension() == Some(OsStr::new("stderr")))
4343
}
4444

45+
#[must_use]
4546
fn count_linenumbers(filepath: &str) -> usize {
4647
if let Ok(mut file) = File::open(filepath) {
4748
let mut content = String::new();

clippy_lints/src/approx_const.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ fn check_known_consts(cx: &LateContext<'_, '_>, e: &Expr, s: symbol::Symbol, mod
9393
/// Returns `false` if the number of significant figures in `value` are
9494
/// less than `min_digits`; otherwise, returns true if `value` is equal
9595
/// to `constant`, rounded to the number of digits present in `value`.
96+
#[must_use]
9697
fn is_approx_const(constant: f64, value: &str, min_digits: usize) -> bool {
9798
if value.len() <= min_digits {
9899
false

clippy_lints/src/assertions_on_constants.rs

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::consts::{constant, Constant};
22
use crate::utils::paths;
3-
use crate::utils::{is_direct_expn_of, is_expn_of, match_def_path, snippet_opt, span_help_and_lint};
3+
use crate::utils::{is_direct_expn_of, is_expn_of, match_function_call, snippet_opt, span_help_and_lint};
44
use if_chain::if_chain;
55
use rustc::hir::*;
66
use rustc::lint::{LateContext, LateLintPass, LintArray, LintPass};
@@ -145,23 +145,3 @@ fn match_assert_with_message<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx E
145145
}
146146
None
147147
}
148-
149-
/// Matches a function call with the given path and returns the arguments.
150-
///
151-
/// Usage:
152-
///
153-
/// ```rust,ignore
154-
/// if let Some(args) = match_function_call(cx, begin_panic_call, &paths::BEGIN_PANIC);
155-
/// ```
156-
fn match_function_call<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr, path: &[&str]) -> Option<&'a [Expr]> {
157-
if_chain! {
158-
if let ExprKind::Call(ref fun, ref args) = expr.kind;
159-
if let ExprKind::Path(ref qpath) = fun.kind;
160-
if let Some(fun_def_id) = cx.tables.qpath_res(qpath, fun.hir_id).opt_def_id();
161-
if match_def_path(cx, fun_def_id, path);
162-
then {
163-
return Some(&args)
164-
}
165-
};
166-
None
167-
}

0 commit comments

Comments
 (0)