Commit graph

9693 commits

Author SHA1 Message Date
Takayuki Nakata 5b484b4057 Fix the detection of build scripts 2020-09-25 23:32:18 +09:00
bors 6e5306dcc3 Auto merge of #6084 - ebroto:ui_tests_cleanup, r=flip1995
UI tests cleanup

`@matthiaskrgr` noticed some `run-pass` annotations in some crash tests that were added in #3922. At that moment they seemed to be necessary to make the tests fail in case of an ICE, but they do not seem to be needed anymore. To test this I forced an ICE in a file with and without annotations, with and without stderr files, and the ICE makes the test fail every time.

In addition, I've applied a suggestion from `@ehuss` and `@jyn514` to add `emit=metadata` to the rustc flags for the UI tests. In my machine this improved the run time from ~17 to ~12 seconds.

changelog: none
2020-09-25 14:14:25 +00:00
Eduardo Broto 1cb3c00cba Use emit=link for auxiliary proc macro crates 2020-09-25 15:46:32 +02:00
Eduardo Broto fd0656109f Add emit=metadata to UI tests build flags
This should improve the performance by avoiding codegen
2020-09-25 15:20:04 +02:00
Eduardo Broto 6b59675449 Remove run-pass annotations from crash tests
It does not seem to be necessary
2020-09-25 15:19:36 +02:00
bors 6273be6fc2 Auto merge of #77144 - flip1995:clippyup, r=Manishearth
Update Clippy

Bi-weekly Clippy update.

This includes a `Cargo.lock` update (d445493479), so probably needs `rollup=never`.

r? `@Manishearth`
2020-09-25 06:23:55 +00:00
Jonas Schievink a8c6073278 Rollup merge of #76724 - ecstatic-morse:dataflow-pass-names, r=lcnr
Allow a unique name to be assigned to dataflow graphviz output

Previously, if the same analysis were invoked multiple times in a single compilation session, the graphviz output for later runs would overwrite that of previous runs. Allow callers to add a unique identifier to each run so this can be avoided.
2020-09-25 02:29:31 +02:00
rail e855fe3620 Reflect the changes that has been made and fmt 2020-09-25 09:02:05 +12:00
rail ce653d65a8 use #[derive] instead of the manual implementation 2020-09-25 09:02:05 +12:00
rail f410df3c48 make clippy happy (needless_pass_by_value, filter_map and find_map) 2020-09-25 09:02:05 +12:00
rail 44187383f4 Use operator overloading instead of direct calls of make_binop 2020-09-25 09:02:05 +12:00
rail 174065fc98 fix the multiple counters test 2020-09-25 09:02:05 +12:00
rail 10d7a18f72 fmt 2020-09-25 09:02:05 +12:00
rail eb3ffe6ed2 make use of macros in operator overloading 2020-09-25 09:02:05 +12:00
rail 4ea4a97250 Add tests for bitwise operations 2020-09-25 09:02:05 +12:00
rail 9aad38bf61 Update manual_memcpy.stderr to reflect additional parentheses 2020-09-25 09:02:05 +12:00
rail 774e82a566 Add the tests for manual_memcpy with loop counters 2020-09-25 09:02:05 +12:00
rail d9a88be0b0 Rename get_offset and its private items 2020-09-25 09:02:05 +12:00
rail 8da6cfd17b fmt 2020-09-25 09:02:05 +12:00
rail de56279cd9 Implement building the manual_memcpy sugggestion with loop counters 2020-09-25 09:02:05 +12:00
rail 720f19f2ec Implement detecting manual_memcpy with loop counters 2020-09-25 09:02:05 +12:00
rail b4b4da162f Introduce Start and StartKind 2020-09-25 09:02:05 +12:00
rail 1026b42f06 Rename a struct and variables 2020-09-25 09:02:05 +12:00
rail 9573a0d378 Rename variables 2020-09-25 09:02:05 +12:00
rail 13c207d375 Generalise InitializeVisitor 2020-09-25 09:02:05 +12:00
rail c599e2fcfa Split VarState 2020-09-25 09:02:05 +12:00
rail 31cb110964 add concinient methods to Increment/InitializeVisitor 2020-09-25 08:59:14 +12:00
rail b2d5b89a1d Check if it's after the loop earlier 2020-09-25 08:59:14 +12:00
rail 116f30dc33 Use else blocks instead of return statements in Increment/InitializeVisitor 2020-09-25 08:59:14 +12:00
rail dc89bb1135 Use if_chain in Increment/InitializeVisitor 2020-09-25 08:59:14 +12:00
Takayuki Nakata 2892a2b0f5 Fix FP in print_stdout
This lint shouldn't be emitted in `build.rs` as `println!` and `print!` are used for the build script.
2020-09-24 23:22:54 +09:00
bors cc1998f7b3 Auto merge of #6077 - ebroto:revert_or_fun_call_const, r=matthiaskrgr
Revert: or_fun_call should lint calls to `const fn`s with no args

The changes in #5889 and #5984 were done under the incorrect assumption that a `const fn` with no args was guaranteed to be evaluated at compile time.  A `const fn` is only guaranteed to be evaluated at compile time if it's inside a const context (the initializer of a `const` or a `static`).

See this [zulip conversation](https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Common.20misconception.3A.20.60const.20fn.60.20and.20its.20effect.20on.20codegen/near/208059113) for more details on this common misconception.

Given that none of the linted methods by `or_fun_call` can be called in const contexts, the lint should make no exceptions.

changelog: [`or_fun_call`] lints again calls to `const fn` with no args
2020-09-24 14:14:53 +00:00
bors 019c0d5f7f Auto merge of #6076 - rail-rain:fix_fp_explicit_counter_loop, r=matthiaskrgr
Fix a FP in `explicit_counter_loop`

Fixes #4677 and #6074

Fix a false positive in `explicit_counter_loop` where the loop counter is used after incremented, adjust the test so that counters are incremented at the end of the loop and add the test for this false positive.

---

changelog: Fix a false positive in `explicit_counter_loop` where the loop counter is used after incremented
2020-09-24 13:45:24 +00:00
flip1995 d1f9cad102 Merge commit 'e636b88aa180e8cab9e28802aac90adbc984234d' into clippyup 2020-09-24 14:49:22 +02:00
Eduardo Broto 9365660a2f unnecessary sort by: avoid dereferencing closure param 2020-09-23 23:33:50 +02:00
bors e636b88aa1 Auto merge of #6044 - rschoon:rc-buffer, r=yaahc
Add `rc_buffer` lint for checking Rc<String> and friends

Fixes #2623

This is a bit different from the original PR attempting to implement this type of lint.   Rather than linting against converting into the unwanted types, this PR lints against declaring the unwanted type in a struct or function definition.

I'm reasonably happy with what I have here, although I used the fully qualified type names for the Path and OsString suggestions, and I'm not sure if I should have just used the short versions instead, even if they might not have been declared via use.

Also, I don't know if "buffer type" is the best way to put it or not.  Alternatively I could call it a "growable type" or "growable buffer type", but I was thinking of PathBuf when I started making the lint.

changelog: Add `rc_buffer` lint
2020-09-23 18:35:08 +00:00
Robin Schoonover 6c056d3465 Satisfy rc_buffer lint in Constant::Binary byte string by copying data
We can avoid the data copy again by fixing rustc_ast::ast::LitKind
later.
2020-09-22 20:35:54 -06:00
Eduardo Broto ce83d8d4d1 Revert "Avoid or_fun_call for const_fn with no args"
This reverts commit 5d66bd7bb3.
2020-09-23 00:39:00 +02:00
Eduardo Broto 3e294b22a4 Revert "or_fn_call: ignore nullary associated const fns"
This reverts commit 7a66e6502d.
2020-09-23 00:34:56 +02:00
rail 5e393c7747 Fix a FP in explicit_counter_loop
Fix a false positive in `explicit_counter_loop` where the loop counter is used after incremented,
adjust the test so that counters are incremented at the end of the loop
and add the test for this false positive.
2020-09-23 08:15:44 +12:00
bors 29b12f22fc Auto merge of #6069 - alex-700:redundant-pattern-matching-in-macro, r=Manishearth
Forbid redundant_pattern_matching triggering in macros

fixes #6065

changelog: forbid redundant_pattern_matching triggering in macros
2020-09-22 16:01:39 +00:00
Aleksei Latyshev d4f158fa5c
Forbid redundant_pattern_matching triggering in macros
- remove ice-2636 test
2020-09-21 20:49:42 +03:00
bors 78fbb04edb Auto merge of #6071 - ebroto:rustup, r=ebroto
Rustup

r? `@ghost`

changelog: none
2020-09-21 13:43:01 +00:00
Eduardo Broto 4117ae1175 Split redundant_pattern_matching tests
This is to avoid the 200 lines stderr file limit
2020-09-21 15:32:26 +02:00
Eduardo Broto 6e07247578 Merge remote-tracking branch 'upstream/master' into rustup 2020-09-21 15:11:24 +02:00
Christiaan Dirkx 141b9c2890 Remove can_suggest from Clippy.
Removes `can_suggest` from as it is no longer used.
Reverts rust-clippy#5724.
2020-09-21 00:00:33 +02:00
Christiaan Dirkx ed43385cab Update Clippy testcases
Update the test `redundant_pattern_matching`: check if `is_some` and `is_none` are suggested within const contexts.
2020-09-20 23:59:34 +02:00
bors a334ae658b Auto merge of #76136 - CDirkx:const-result, r=dtolnay
Stabilize some Result methods as const

Stabilize the following methods of Result as const:
 - `is_ok`
 - `is_err`
 - `as_ref`

A test is also included, analogous to the test for `const_option`.

These methods are currently const under the unstable feature `const_result` (tracking issue: #67520).
I believe these methods to be eligible for stabilization because of the stabilization of #49146 (Allow if and match in constants) and the trivial implementations, see also: [PR#75463](https://github.com/rust-lang/rust/pull/75463) and [PR#76135](https://github.com/rust-lang/rust/pull/76135).

Note: these methods are the only methods currently under the `const_result` feature, thus this PR results in the removal of the feature.

Related: #76225
2020-09-20 13:07:11 +00:00
CDirkx ac0d069616 Update src/tools/clippy/clippy_lints/src/matches.rs
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-09-20 12:21:23 +02:00
Christiaan Dirkx 292e2f71a7 Remove can_suggest check for is_ok and is_err.
`is_ok` and `is_err` are stabilized as const and can thus always be suggested.
2020-09-20 10:46:30 +02:00