Commit Graph

142069 Commits

Author SHA1 Message Date
bors
ece3543c9f Auto merge of #6801 - Jarcho:manual_match_fix, r=phansch
Fix `manual_map` false positives

fixes: #6795
fixes: #6797
fixes: #6811
fixes: #6819

changelog: Fix false positives for `manual_map` when `return`, `break`, `continue`, `yield`, `await`, and partially moved values are used.
changelog: Don't expand macros in suggestions  for `manual_map`
2021-03-02 15:36:00 +00:00
Joshua Nelson
44c2794976 Clean up error reporting for deprecated passes
- Use spans for deprecated attributes
- Use a proper diagnostic for unknown passes, instead of error logging
- Add tests for unknown passes
- Improve some wording in diagnostics
2021-03-02 09:31:38 -05:00
Dirkjan Ochtman
9e4a064f08 Move naive_bytecount to pedantic
As discussed on Zulip, current best practice is to avoid recommending
external crates. This lint is from before that was enforced. Move it
to the pedantic group to avoid enabling it by default.

https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/naive_bytecount.20suggesting.20extra.20dependency
2021-03-02 14:34:47 +01:00
bors
67342b830e Auto merge of #82698 - JohnTitor:rollup-htd533c, r=JohnTitor
Rollup of 10 pull requests

Successful merges:

 - #80189 (Convert primitives in the standard library to intra-doc links)
 - #80874 (Update intra-doc link documentation to match the implementation)
 - #82376 (Add option to enable MIR inlining independently of mir-opt-level)
 - #82516 (Add incomplete feature gate for inherent associate types.)
 - #82579 (Fix turbofish recovery with multiple generic args)
 - #82593 (Teach rustdoc how to display WASI.)
 - #82597 (Get TyCtxt from self instead of passing as argument in AutoTraitFinder)
 - #82627 (Erase late bound regions to avoid ICE)
 - #82661 (⬆️ rust-analyzer)
 - #82691 (Update books)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-03-02 12:57:06 +00:00
Yuki Okushi
97f9b186ae Rollup merge of #82691 - ehuss:update-books, r=ehuss
Update books

## reference

2 commits in 361367c126290ac17cb4089f8d38fd8b2ac43f98..3b6fe80c205d2a2b5dc8a276192bbce9eeb9e9cf
2021-02-15 09:58:13 -0800 to 2021-02-22 22:09:17 -0800
- Add an extra fn() entry to the variance table in the subtyping chapter (rust-lang-nursery/reference#874)
- Turbofish: Explain what the example is of. (rust-lang-nursery/reference#966)

## book

28 commits in db5e8a5105aa22979490dce30e33b68d8645761d..0f87daf683ae3de3cb725faecb11b7e7e89f0e5a
2021-02-12 16:58:20 -0500 to 2021-03-01 08:54:04 -0500
- Ohhh the should_panic was for mdbook test. Oops
- Fix bad regex in the update rustc script and regenerate broken output
- Clarify that we only mentioned unwrap_or_else, but haven't explained it
- Add ferris to some listings that don't compile. Fixes rust-lang/book#2598
- Remove fancy quote from a code comment
- Panic now points at our code, not stdlib slice code
- Disable playground on thread::sleep examples
- Disable playground button on listings in ch 12 that use CLI args
- Reword ambiguous sentence. Fixes rust-lang/book#2317.
- Rename shoes_in_my_size to shoes_in_size to be a better example
- Fix visible "ANCHOR: here" in listing 13-21 (rust-lang/book#2628)
- minor clarification about deriving Copy and Clone (rust-lang/book#2627)
- Clarify relationship of trait to mock object
- Fix "message" that should be "method"
- Fix rust-lang/book#2625 (rust-lang/book#2626)
- fix misleading hash claim (rust-lang/book#2621)
- Make link syntax consistent and word wrap
- Added hyperlinks to Appendices
- Use console syntax highlighting in some more places
- Merge remote-tracking branch 'origin/pr/2615'
- Fix broken blockquote
- Update one more bit of output caught by the update rust script
- Update and clarify some text affected by the rand update
- Update lock files and output
- Update error output for changes to chapter 10 listings
- Merge remote-tracking branch 'origin/pr/2542'
- Tweak wording in for loop explanation
- Merge remote-tracking branch 'origin/pr/2460'

## rust-by-example

1 commits in 551cc4bc8394feccea6acd21f86d9a4e1d2271a0..3e0d98790c9126517fa1c604dc3678f396e92a27
2021-02-03 17:12:37 -0300 to 2021-02-25 08:23:10 -0300
- Make flow_control/for/.into_iter() example run (rust-lang/rust-by-example#1415)

## rustc-dev-guide

530 commits in 7adfab42bab045a848126895c2f1e09927c1331a..c431f8c29a41413dddcb3bfa0d71c9cabe366317
2020-04-08 08:52:05 +0200 to 2021-02-28 16:35:20 -0500

... Many updates.

## embedded-book

1 commits in 4cf7981696a85c3e633076c6401611bd3f6346c4..a96d096cffe5fa2c84af1b4b61e1492f839bb2e1
2021-02-11 10:55:22 +0000 to 2021-02-17 08:08:52 +0000
- Add note about using more recent openocd interface file. Closes rust-embedded/book#277 and rust-embedded/book#263  (rust-embedded/book#284)
2021-03-02 21:23:22 +09:00
Yuki Okushi
738cacffd1 Rollup merge of #82661 - lnicola:rust-analyzer-2021-03-01, r=jonas-schievink
⬆️ rust-analyzer
2021-03-02 21:23:21 +09:00
Yuki Okushi
2c40e13b84 Rollup merge of #82627 - JohnTitor:issue-82612, r=estebank
Erase late bound regions to avoid ICE

Fixes #82612, which is caused by #81769.

r? `@estebank`
2021-03-02 21:23:20 +09:00
Yuki Okushi
43bcfdb0d0 Rollup merge of #82597 - noslaver:fix-82137, r=nagisa
Get TyCtxt from self instead of passing as argument in AutoTraitFinder

First contribution 🦀, let me know if anything is amiss.

Fix #82137.
2021-03-02 21:23:19 +09:00
Yuki Okushi
543ef7f13c Rollup merge of #82593 - sunfishcode:wasi-docs, r=alexcrichton
Teach rustdoc how to display WASI.

As a followup to [this comment] in #82420, this patch teaches rustdoc
how to display WASI.

[this comment]: https://github.com/rust-lang/rust/pull/82420#issuecomment-784523826

r? `@alexcrichton`
2021-03-02 21:23:18 +09:00
Yuki Okushi
906e535205 Rollup merge of #82579 - osa1:issue82566, r=estebank
Fix turbofish recovery with multiple generic args

This consists of two commits, each can be individually reviewed.

- First commit fixes the issue in [this comment](https://github.com/rust-lang/rust/issues/82566#issuecomment-786924466).
- Second commit fixes #82566

---

r? ````@estebank````
2021-03-02 21:23:17 +09:00
Yuki Okushi
5e68c60406 Rollup merge of #82516 - PoignardAzur:inherent-impl-ty, r=oli-obk
Add incomplete feature gate for inherent associate types.

Mentored by ``````@oli-obk``````

So far the only change is that instead of giving an automatic error, the following code compiles:

```rust
struct Foo;

impl Foo {
    type Bar = isize;
}
```

The backend work to make it actually usable isn't there yet. In particular, this:

```rust
let x : Foo::Bar;
```

will give you:

```sh
error[E0223]: ambiguous associated type
  --> /$RUSTC_DIR/src/test/ui/assoc-inherent.rs:15:13
   |
LL |     let x : Foo::Bar;
   |             ^^^^^^^^ help: use fully-qualified syntax: `<Foo as Trait>::Bar`
```
2021-03-02 21:23:15 +09:00
Yuki Okushi
ae5e024194 Rollup merge of #82376 - tmiasko:inline-options, r=oli-obk
Add option to enable MIR inlining independently of mir-opt-level

Add `-Zinline-mir` option that enables MIR inlining independently of the
current MIR opt level. The primary use-case is enabling MIR inlining on the
default MIR opt level.

Turn inlining thresholds into optional values to make it possible to configure
different defaults depending on the current mir-opt-level (although thresholds
are yet to be used in such a manner).
2021-03-02 21:23:14 +09:00
Yuki Okushi
a9339ed531 Rollup merge of #80874 - jyn514:intra-doc-docs, r=Manishearth
Update intra-doc link documentation to match the implementation

r? `@Manishearth`
cc `@camelid` `@m-ou-se`

Relevant PRs:
- https://github.com/rust-lang/rust/pull/74489
- https://github.com/rust-lang/rust/pull/80181
- https://github.com/rust-lang/rust/pull/76078
- https://github.com/rust-lang/rust/pull/77519
- https://github.com/rust-lang/rust/pull/73101

Relevant issues:
- https://github.com/rust-lang/rust/issues/78800
- https://github.com/rust-lang/rust/issues/77200
- https://github.com/rust-lang/rust/issues/77199 / https://github.com/rust-lang/rust/issues/54191/

I haven't documented things that I consider 'just bugs', like https://github.com/rust-lang/rust/issues/77732, but I have documented features that aren't implemented, like https://github.com/rust-lang/rust/issues/78800.
2021-03-02 21:23:13 +09:00
Yuki Okushi
bc5669eef8 Rollup merge of #80189 - jyn514:convert-primitives, r=poliorcetics
Convert primitives in the standard library to intra-doc links

Blocked on https://github.com/rust-lang/rust/pull/80181. I forgot that this needs to wait for the beta bump so the standard library can be documented with `doc --stage 0`.

Notably I didn't convert `core::slice` because it's like 50 links and I got scared 😨
2021-03-02 21:23:12 +09:00
Yoshitomo Nakanishi
19c886b407 Remove "for_loop_arg.rs" 2021-03-02 21:09:10 +09:00
Jonas Platte
c194849a75 Fix stabilization version of move_ref_pattern 2021-03-02 12:54:25 +01:00
bors
eb04beb005 Auto merge of #6791 - TaKO8Ki:iter-count, r=matthiaskrgr
New lint: `iter_count`

This pull request adds a new lint named `iter_count`.

---

closes https://github.com/rust-lang/rust-clippy/issues/6262

changelog: new lint `iter_count`
2021-03-02 11:31:43 +00:00
Erin Power
5f344a2883 Fix UI errors 2021-03-02 12:18:46 +01:00
bors
edeee915b1 Auto merge of #82634 - osa1:osa1/remove_old_fixme, r=Mark-Simulacrum
Remove an old FIXME comment and inline attribute

Apparently #35870 caused a problem in this code (which originally
returned an impl trait) and `#[inline]` was added as a workaround, in
ade79d7609.

The issue is now fixed and the comment and `#[inline]` can now be
removed.
2021-03-02 10:15:34 +00:00
bors
3cd6ca051c Auto merge of #6716 - magurotuna:refactor-transmute-mod, r=flip1995
Refactor: arrange transmute lints

This PR arranges `transmute` lints so that they can be accessed more easily.
Basically, I followed the instruction described in #6680 as to how to do the refactoring.

- `declare_clippy_lint!` and `impl LintPass` is placed in `transmute/mod.rs`
- Uitlity functions is placed in `transmute/utils.rs`
- Each lint function about `transmute` is moved into its own module, like `transmute/useless_transmute.rs`

For ease of review, I refactored step by step, keeping each commit small. For instance, all I did in
2451781 was to move  `useless_transmute` into its own module.

---

changelog: Refactor `transmute.rs` file into `transmute` module.
2021-03-02 09:44:03 +00:00
Yusuke Tanaka
bf000985f5 Make check_cast private 2021-03-02 10:40:25 +01:00
Yusuke Tanaka
8a8f7b4cf5 Refactor calls to lint check functions 2021-03-02 10:40:25 +01:00
Yusuke Tanaka
89ef26a681 Cleanup imports 2021-03-02 10:40:25 +01:00
Yusuke Tanaka
25c221ec92 Move transmutes_expressible_as_ptr_casts to its own module 2021-03-02 10:40:24 +01:00
Yusuke Tanaka
c57a8260f2 Move unsound_collection_transmute to its own module 2021-03-02 10:40:24 +01:00
Yusuke Tanaka
e7d2393d01 Move transmute_float_to_int to its own module 2021-03-02 10:40:24 +01:00
Yusuke Tanaka
acedc7b8f2 Move transmute_int_to_float to its own module 2021-03-02 10:40:24 +01:00
Yusuke Tanaka
d04ea41d1f Move transmute_int_to_bool to its own module 2021-03-02 10:40:24 +01:00
Yusuke Tanaka
f8bc0e249c Move transmute_ptr_to_ptr to its own module 2021-03-02 10:40:23 +01:00
Yusuke Tanaka
7af3458b54 Move transmute_bytes_to_str and transmute_ptr_to_ptr to transmute_ref_to_ref module 2021-03-02 10:40:23 +01:00
Yusuke Tanaka
4c65221188 Move transmute_int_to_char to its own module 2021-03-02 10:40:23 +01:00
Yusuke Tanaka
6442d45d3a Move transmute_ptr_to_ref to its own module 2021-03-02 10:40:23 +01:00
Yusuke Tanaka
afc9275928 Move crosspointer_transmute to its own module 2021-03-02 10:37:30 +01:00
Yusuke Tanaka
ef97764dcc Move wrong_transmute to its own module 2021-03-02 10:37:30 +01:00
Yusuke Tanaka
0d7dd00860 Move useless_transmute to its own module 2021-03-02 10:37:30 +01:00
Yusuke Tanaka
4ac438bfed Add transmute/utils.rs 2021-03-02 10:37:30 +01:00
Yusuke Tanaka
306545ff96 Create transmute directory 2021-03-02 10:37:30 +01:00
Yoshitomo Nakanishi
74bd806b05 Simplify check_for_loop_arg 2021-03-02 18:14:20 +09:00
Yoshitomo Nakanishi
eaf63d6df7 Unify names of lint entry functions in loops to 'check' 2021-03-02 18:14:20 +09:00
nahuakang
845a3a061c Include loops.rs changes from PR#6698 2021-03-02 18:14:20 +09:00
nahuakang
2229a0839e Clean up: Rename some files to be consistent with lint names; import lints to each file 2021-03-02 18:14:20 +09:00
nahuakang
ecebfe0c9c Move check_for_loop_arg back to mod; split into 4 lint files 2021-03-02 18:14:20 +09:00
nahuakang
7cfdef6de1 Move MinifyingSugg into manual_memcpy 2021-03-02 18:14:20 +09:00
nahuakang
7158c944a4 Refactor while let loop to its own module 2021-03-02 18:14:20 +09:00
nahuakang
287a4f8ab1 Refactor empty loop to its own module 2021-03-02 18:14:20 +09:00
nahuakang
d0b657c0b7 Refactor while let on iterator lint to its module; rename for loop explicit counter to explicit counter loop 2021-03-02 18:14:20 +09:00
nahuakang
455d0476b1 Refactor never loop to its own module 2021-03-02 18:14:20 +09:00
nahuakang
5b870e1b36 Move detect_manual_memcpy to its module; split up utils structs 2021-03-02 18:14:20 +09:00
nahuakang
2c1f676bfe Add detect_same_item_push to its own module 2021-03-02 18:14:20 +09:00
nahuakang
453e6b97ac Add check_needless_collect to its own module 2021-03-02 18:14:20 +09:00