206419 Commits

Author SHA1 Message Date
Jacob Kiesel
dd97c1ed20 fix: clippy_utils::Sugg should treat hir::ExprKind::DropTemps as transparent 2022-09-14 13:35:35 -06:00
Jacob Kiesel
4ffdce09b6 refactor: use clippy_utils::Sugg instead of direct string ops 2022-09-14 13:35:35 -06:00
Jacob Kiesel
9925600870 dogfood inverse bool_to_int_with_if 2022-09-14 13:35:32 -06:00
Jacob Kiesel
1eb41804a2 bool_to_int_with_if inverse case patch 2022-09-14 13:33:13 -06:00
Guillaume Gomez
a528f68e79 Remove duplicate warnings 2022-09-14 20:23:19 +02:00
Philipp Krones
fd291483bc
Temporarily move clippy::unused_peekable to nursery 2022-09-14 20:13:30 +02:00
raldone01
59fe291cec Cleanup closures. 2022-09-14 20:11:45 +02:00
bors
6153d3cbe6 Auto merge of #101212 - eholk:dyn-star, r=compiler-errors
Initial implementation of dyn*

This PR adds extremely basic and incomplete support for [dyn*](https://smallcultfollowing.com/babysteps//blog/2022/03/29/dyn-can-we-make-dyn-sized/). The goal is to get something in tree behind a flag to make collaboration easier, and also to make sure the implementation so far is not unreasonable. This PR does quite a few things:

* Introduce `dyn_star` feature flag
* Adds parsing for `dyn* Trait` types
* Defines `dyn* Trait` as a sized type
* Adds support for explicit casts, like `42usize as dyn* Debug`
  * Including const evaluation of such casts
* Adds codegen for drop glue so things are cleaned up properly when a `dyn* Trait` object goes out of scope
* Adds codegen for method calls, at least for methods that take `&self`

Quite a bit is still missing, but this gives us a starting point. Note that this is never intended to become stable surface syntax for Rust, but rather `dyn*` is planned to be used as an implementation detail for async functions in dyn traits.

Joint work with `@nikomatsakis` and `@compiler-errors.`

r? `@bjorn3`
2022-09-14 18:10:51 +00:00
Diego de Oliveira
6a47326a04 Migrated the rustc_passes lint for annotations without effect to the new diagnostic infrastructure 2022-09-14 15:05:59 -03:00
Your Name
73d6dd5098 Changes to rename target and update docs 2022-09-14 18:38:01 +01:00
Guillaume Gomez
e7d8ad62db Add check for missing CSS variables 2022-09-14 19:36:03 +02:00
Guillaume Gomez
0b037c17b8 Update theme check tests 2022-09-14 19:36:03 +02:00
Guillaume Gomez
fb42dae987 Simplify CSS parser to check themes 2022-09-14 19:36:03 +02:00
Camille Gillot
cb2949e642
Update compiler/rustc_macros/src/query.rs 2022-09-14 19:11:53 +02:00
Camille GILLOT
42a92eb54b Correct Key impl for HirId. 2022-09-14 19:06:48 +02:00
Camille GILLOT
1fcc440391 Add FIXME. 2022-09-14 19:06:39 +02:00
Camille GILLOT
fca0d8a10e Comment LintLevelSets. 2022-09-14 19:06:30 +02:00
Camille GILLOT
69613bb602 Bless ui test. 2022-09-14 19:06:27 +02:00
Camille GILLOT
bb61842048 Remove unused tool_name. 2022-09-14 19:06:09 +02:00
Camille GILLOT
ad09abc194 Move some code and add comments. 2022-09-14 19:06:05 +02:00
Camille GILLOT
bd45139cb0 Allow query system to recover a HirId. 2022-09-14 19:04:13 +02:00
Jack Huey
d657d1f4a1 Disallow defaults on type GATs 2022-09-14 13:03:01 -04:00
Deadbeef
eb19a8a620 Compute lint_levels by definition 2022-09-14 19:02:44 +02:00
Michael Howell
44d9b8d070 rustdoc: clean up CSS #titles using flexbox
This commit allows it to stop manually specifying pixel heights for the tabs
on search result pages. There's less messing with manual breakpoints and
less complex CSS selectors.
2022-09-14 09:47:50 -07:00
raldone01
f4ff6860dc Constify PartialEq for Ordering. 2022-09-14 18:31:53 +02:00
bors
2ddbc86bef Auto merge of #8518 - Alexendoo:write-late-pass, r=flip1995
Migrate write.rs to a late pass

changelog: Migrates write.rs from a pre expansion pass to a late pass
changelog: [`positional_named_format_parameters`] is renamed in favour of the rustc lint `named_arguments_used_positionally`

- Macros are now identified by diagnostic items, so will no longer lint user defined macros named, e.g. a custom `print!`
- `print_literal`/`write_literal` no longer lint no longer lint literals that come from macro expansions, e.g. `env!("FOO")`
- `print_with_newline`/`write_with_newline` no longer lint strings with any internal `\r` or `\n`s

~~A false negative, `print_literal`/`write_literal` don't lint format strings that produce `FormatSpec`s, e.g. ones containing pretty print/width/align specifiers~~

Suggestion changes:
- ~~`print_literal`/`write_literal` no longer have suggestions, as the spans for the `{}`s were not easily obtainable~~
-  `print_with_newline`/`write_with_newline` has a better suggestion for a sole literal newline, but no longer has suggestions for len > 1 strings that end in a literal newline
- ~~`use_debug` spans are less precise, now point to the whole format string~~

The diff for write.rs is pretty unwieldy, other than for the `declare_clippy_lint!`s I think you'd be better off viewing it as a brand new file rather than looking at the diff, as it's mostly written from scratch

cc #6610, fixes #5721, fixes #7195, fixes #8615
2022-09-14 15:58:21 +00:00
b-naber
6af8fb7936 address review again 2022-09-14 17:30:25 +02:00
hanar3
dddfb7db24 Improve error message for unsupported crate 2022-09-14 12:19:42 -03:00
bors
a926696384 Auto merge of #101805 - Dylan-DPC:rollup-mpdlbin, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #101433 (Emit a note that static bounds from HRTBs are a bug)
 - #101684 (smol grammar changes to README.md)
 - #101769 (rustdoc: remove redundant CSS `.out-of-band > span.since { position }`)
 - #101772 (Also replace the placeholder for the stable_features lint)
 - #101773 (rustdoc: remove outdated CSS `.content table` etc)
 - #101779 (Update test output for drop tracking)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-09-14 15:19:12 +00:00
Nixon Enraght-Moony
f69a6c2a80 jsondoclint: Fix TODO's 2022-09-14 16:14:15 +01:00
Nixon Enraght-Moony
6e21a28dda jsondoclint: More precise Path checks 2022-09-14 16:14:15 +01:00
Nixon Enraght-Moony
24c751b2ba Rustdoc-Json: Add test for extern_types 2022-09-14 16:14:15 +01:00
Nixon Enraght-Moony
393792da8d Remove check_missing_items.py 2022-09-14 16:14:15 +01:00
Nixon Enraght-Moony
5956b56ab2 jsondoclint: Document validator 2022-09-14 16:14:15 +01:00
Nixon Enraght-Moony
c98c7cbfa5 Primitives can appear in modules. 2022-09-14 16:14:15 +01:00
Nixon Enraght-Moony
41d35a97f9 jsondocck: Find path to Id's not in index 2022-09-14 16:14:15 +01:00
Nixon Enraght-Moony
5f1bc6fc5e jsondocck: Better errors 2022-09-14 16:14:15 +01:00
Nixon Enraght-Moony
bb1911db39 jsondoclint: Add Kind abstraction 2022-09-14 16:14:15 +01:00
Nixon Enraght-Moony
a7a4fe9ffa jsondoclint: Tree Walk Validator 2022-09-14 16:14:15 +01:00
Bryanskiy
d7b9221405 change AccessLevels representation 2022-09-14 18:11:00 +03:00
bors
9c9aa92898 Auto merge of #9465 - Alexendoo:peekable-fp, r=flip1995
Fix `unused_peekable` closure and `f(&mut peekable)` false positives

changelog: Fix [`unused_peekable`] false positive when peeked in a closure or called as `f(&mut peekable)`

The `return`/`break` changes aren't part of the fix, they allow an earlier return in some cases. `break` is replaced with `return` for style purposes as they do the same thing in this case

Fixes #9456
Fixes #9462
2022-09-14 15:03:39 +00:00
onestacked
8d6edac763 Add const_slice_split_at_mut Feature gate. 2022-09-14 16:54:49 +02:00
Dylan DPC
15a5bc9c52
Rollup merge of #101779 - eholk:drop-tracking-test-output, r=jyn514
Update test output for drop tracking

#97334 has a lot of updates to test outputs that makes the PR larger than it needs to be. This PR pulls those changes out so we can keep the other one as simple as possible.

r? `@jyn514`
2022-09-14 19:26:23 +05:30
Dylan DPC
3cb8806da6
Rollup merge of #101773 - notriddle:notriddle/content-table, r=GuillaumeGomez
rustdoc: remove outdated CSS `.content table` etc

# Screenshot before

![image](https://user-images.githubusercontent.com/1593513/189992665-238aab28-d224-4466-901c-6e35e79182fb.png)

# Screenshot after

![image](https://user-images.githubusercontent.com/1593513/189992762-35c8efe4-e980-40bd-b72c-3ae4cfd6f830.png)

# Description

The `.content table` / `.content td` / `.content tr` family of selectors date back to 4fd061c426902b0904c65e64a3780b21f9ab3afb, when module indexes and other parts of rustdoc used `<table>` tags for layout and content presentation. The `.content td h1, .content td h2` has only been changed since then to tweak the font size in dd5ff428edbc7cd4fa600b81f27bbec28589704f.

4fd061c426/src/rustdoc_ng/html/static/main.css (L155-L162)

This CSS would have affected:

  * search result tables, which were removed in b615c0c85469c94041a5e68b9d8b68dcf799f9f1
  * module item tables, which were removed in 6020c79ddeafe8d9760b27c14c39da81bac9b4a6
  * docblock tables from markdown, which still exist

It may also have affected a few other tables over the last decade, but they've been gradually replaced with grid layouts and flexbox to make layouts that work better on narrow viewports. For example, 34bd2b845b3acd84c5a9bddae3ff8081c19ec5e9.

These rules have no affect on the appearance of docblock tables
---------------------------------------------------------------

    .content table {
        border-spacing: 0 5px;
    }

According to MDN, [border-spacing] only has an effect when `border-collapse` is `separate`. However, `border-collapse: collapse` is set globally for all tables, so this rule does nothing.

[border-spacing]: https://developer.mozilla.org/en-US/docs/Web/CSS/border-spacing

    .content td p:first-child { margin-top: 0; }

Tables with paragraphs in them are impossible without dropping down to raw HTML. Also, the rustdoc stylesheet sets paragraphs to have no top margin anyway, so this rule is a no-op.

    .content td h1, .content td h2 { margin-left: 0; font-size: 1.125rem; }

Tables with headers in them are impossible without dropping down to raw HTML. This is considered unlikely, especially since it looks weird right now (`.docblock h2` has an underline that is redundant with the table cell's own border).

    .content tr:first-child td { border-top: 0; }

This has no effect because of border collapsing.

This rule is removed, because tables look fine without it
---------------------------------------------------------

    .content td:first-child { padding-right: 20px; }

By removing this rule, the first cell in each row has the same padding as all other cells in the row.

This rule is kept, and converted to directly target `.docblock`
---------------------------------------------------------------

    .content td { vertical-align: top; }

Removing this rule would cause it to be aligned to the middle instead.
2022-09-14 19:26:22 +05:30
Dylan DPC
94bc08d94f
Rollup merge of #101772 - est31:replace_placeholder_diagnostics, r=jackh726
Also replace the placeholder for the stable_features lint

Follow up of  #101215 and #100591 .

Fixes #101766
2022-09-14 19:26:21 +05:30
Dylan DPC
dce471582a
Rollup merge of #101769 - notriddle:notriddle/out-of-band-span-since, r=GuillaumeGomez
rustdoc: remove redundant CSS `.out-of-band > span.since { position }`

At the time this CSS was added, it was just `span.since`, because the version info could be rendered in two different ways:

 1. `<div class='since'>` was used for associated items like methods. It was absolutely positioned, and the selector in rustdoc.css that targetted it was just `.since`.

    a5a2f2b951/src/librustdoc/html/static/rustdoc.css (L522-L529)

 2. `<span class='since'>` was introduced in a5a2f2b951ea982a666eaf52b1874d8f1b17290b for page-global version info, so that it could be laid out alongside the `[-]`/`[+]` button. This CSS rule was added to override the absolute position introduced in (1).

    a5a2f2b951/src/librustdoc/html/static/rustdoc.css (L637-L641)

The selector was changed in 8fc6e420d16dc882f2047e6ec1b981cac5ef0d14 so that everything could use a `<span>` tag, but the dichotomy of the absolutely-positioned version info for associated items and the static positioned item version info remained.

The absolutely positioned `.since` was changed to one nested below a `<div class="rightside">` container in 5de1391b88007a1d4f7b1517657a86aae352af1e, so the version information is now always statically-positioned, and, as described in the commit message, "their DOM representation is consistent."
2022-09-14 19:26:20 +05:30
Dylan DPC
706e4d3dd9
Rollup merge of #101684 - zahash:readme-changes, r=jyn514
smol grammar changes to README.md

smol grammar changes to README.md
2022-09-14 19:26:19 +05:30
Dylan DPC
430123164f
Rollup merge of #101433 - jackh726:better-static-placeholder-error, r=compiler-errors
Emit a note that static bounds from HRTBs are a bug

This note isn't perfect, but opening this to either 1) land as is or 2) get some feedback on how to improve it

Let r? `@compiler-errors` and cc. `@nikomatsakis`
2022-09-14 19:26:18 +05:30
onestacked
478c471ce8 Added Tracking Issue number. 2022-09-14 15:10:02 +02:00
y86-dev
9a78faba71 Made from_waker, waker, from_raw const 2022-09-14 14:53:16 +02:00