rename ImplItemKind::TyAlias to ImplItemKind::Type by compiler-errors · Pull Request #102829 · rust-lang/rust (original) (raw)

同步社区最新master分支代码

Created-by: lizheng 30020856 Author-id: 11958 MR-id: 457385 Commit-by: bors;Michael Krasnitski;Mara Bos;KaDiWa;Alex Macleod;Manish Goregaokar;Tyler Weaver;Niki4tap;koka;Sylvain Desodt;ksaleem;Philipp Krones;Collin Styles;xFrednet;Martin Fischer;Evan Typanski;Vincenzo Palazzo;Samuel Moelius;chansuke;Michael Woerister;Kyle Matsuda;Maria José Solano;Michael Goulet;Yuki Okushi;Jason Newcomb;Joshua Nelson;Oli Scherer;Robert Bastian;navh;asquared31415;Andre Bogus;Albert Larsan;dswij;Raiki Tamura;Caio;blyxyas;Robin Schroer;Kyle Huey;Eric Wu;Nilstrieb;Andy Russell;Max Baumann;Ardis Lu;Trevor Gross;Ray Redondo;Matthias Krüger;Esteban Küber;Lukas Lueg;alexey semenyuk;dboso;Samuel Tardieu;feniljain;Gary Guo;Nicholas Nethercote;Fridtjof Stoldt;naosense;alex-semenyuk;Taiki Endo;Hannah Town;Jakob Degen;Lukas Wirth;Vadim Petrochenkov;mdgaziur;Eric Huss;Yuri Astrakhan;kraktus;Ralf Jung;Santiago Pastorino;Camille GILLOT;hkalbasi;Arpad Borsos;Maybe Waffle;ozkanonur;Sosthène Guédon;Deadbeef;Kartavya Vashishtha;Aphek;Nadir Fejzic;Lukas Markeffsky;hrxi;clubby789;yukang;Ryan Scheidter;Grachev Mikhail;Elliot Bobrow;Dylan DPC;Steven Casper;bebecue;Trevor Arjeski;Onur Özkan;Cameron Steffen;Guillaume Gomez;Matthew Ingwersen;Alex ✨ Cosmic Princess ✨;dswijj;mejrs;Rageking8;Alex;est31;oxalica;JT;Doru-Florin Blanzeanu;Andreu Botella;royrustdev;flip1995;lcnr;Kevin Per;Josh Stone;TennyZhuang;Marijn Schouten;Steven Nguyen;Cody;Urgau;ouz-a;Nahua Kang;Felix Kohlgrüber Merged-by: wangqilin 00349210 E2E-issues: Description: add syntax-tree-patterns RFC, Remove if_chain from equatable_if_let, Lint suggests matches macro if PartialEq trait is not implemented, Run cargo dev bless to update fixes & stderr, Merge commit 'ac0e10aa68325235069a842f47499852b2dee79e' into clippyup, Remove mir::CastKind::Misc, Merge commit '8f1ebdd18bdecc621f16baaf779898cc08cc2766' into clippyup, Introduce TypeErrCtxt

TypeErrCtxt optionally has a TypeckResults so that InferCtxt doesn't need to., Change InferCtxtBuilder from enter to build, make const_err a hard error, Auto merge of #102091 - RalfJung:const_err, r=oli-obk

make const_err a hard error

This lint has been deny-by-default with future incompat wording since Rust 1.51 and the stable release of this week starts showing it in cargo's future compat reports. I can't wait to finally get rid of at least some of the mess in our const-err-reporting-code. ;)

r? @oli-obk Fixes rust-lang/rust#71800 Fixes rust-lang/rust#100114, Auto merge of rust-lang#2583 - RalfJung:rustup, r=oli-obk

initial josh subtree sync

This demonstrates what a josh-based rustup would look like with my patched josh. To create it I did

git fetch http://localhost:8000/rust-lang/rust.git:start=75dd959a3a40eb5b4574f8d2e23aa6efbeb33573[:prefix=src/tools/miri]:/src/tools/miri.git master
git merge FETCH_HEAD
./rustup-toolchain HEAD && ./miri fmt
git commit -am rustup

Unlike the previous attempt, this does not add a new root commit to the repo.

Once we merge this, we committed to using josh for subtree syncing, and in particular a version of josh that includes josh-project/josh#961 (or something compatible)., Stabilize half_open_range_patterns, Rollup merge of #102675 - ouz-a:mir-technical-debt, r=oli-obk

Remove mir::CastKind::Misc

As discussed in #97649 mir::CastKind::Misc is not clear, this PR addresses that by creating a new enum variant for every valid cast.

r? @oli-obk, [unnecessary_cast] Do not lint negative hexadecimal literals when cast as float

Floats cannot be expressed as hexadecimal literals, ImplItemKind::TyAlias => ImplItemKind::Type, merge rustc history, Fix clippy tests that trigger for_loop_over_fallibles lint, fixup lint name, deprecate clippy::for_loops_over_fallibles, Rollup merge of #102829 - compiler-errors:rename-impl-item-kind, r=TaKO8Ki

rename ImplItemKind::TyAlias to ImplItemKind::Type

The naming of this variant seems inconsistent given that this is not really a "type alias", and the associated type variant for TraitItemKind is just called Type., Rollup merge of #102275 - Urgau:stabilize-half_open_range_patterns, r=cjgillot

Stabilize half_open_range_patterns

This PR stabilize feature(half_open_range_patterns):

Allows using `..=X` as a pattern.

And adds a new feature(half_open_range_patterns_in_slices) for the slice part, rust-lang/rust#102275 (comment).

The FCP was completed in rust-lang/rust#67264., Rename AssocItemKind::TyAlias to AssocItemKind::Type, Rollup merge of #99696 - WaffleLapkin:uplift, r=fee1-dead

Uplift clippy::for_loops_over_fallibles lint into rustc

This PR, as the title suggests, uplifts clippy::for_loops_over_fallibles lint into rustc. This lint warns for code like this:

for _ in Some(1) {}
for _ in Ok::<_, ()>(1) {}

i.e. directly iterating over Option and Result using for loop.

There are a number of suggestions that this PR adds (on top of what clippy suggested):

  1. If the argument (? is there a better name for that expression) of a for loop is a .next() call, then we can suggest removing it (or rather replacing with .by_ref() to allow iterator being used later)
     for _ in iter.next() {}
     // turns into
     for _ in iter.by_ref() {}
  2. (otherwise) We can suggest using while let, this is useful for non-iterator, iterator-like things like [async] channels
    for _ in rx.recv() {}
    // turns into
    while let Some(_) = rx.recv() {}
  3. If the argument type is Result<impl IntoIterator, _> and the body has a Result<_, _> type, we can suggest using ?
    for _ in f() {}
    // turns into
    for _ in f()? {}
  4. To preserve the original behavior and clear intent, we can suggest using if let
    for _ in f() {}
    // turns into
    if let Some(_) = f() {}

(P.S. Some and Ok are interchangeable depending on the type)

I still feel that the lint wording/look is somewhat off, so I'll be happy to hear suggestions (on how to improve suggestions :D)!

Resolves #99272

Rollup merge of #102868 - compiler-errors:rename-assoc-tyalias-to-ty, r=TaKO8Ki

Rename AssocItemKind::TyAlias to AssocItemKind::Type

Thanks @camsteffen for catching this in ast too, cc rust-lang/rust#102829 (comment), merge rustc history, Fix unclosed HTML tag in clippy doc, fix box-default ignoring trait objects' types, Fix allow_attributes_without_reason applying to external crate macros

Previously the clippy::allow_attributes_without_reason lint would apply to external crate macros. Many macros in the Rust ecosystem include these allow attributes without adding a reason, making this lint pretty much unusable in any sizable Rust project.

This commit fixes that by adding a check to the lint if the attribute is from an external crate macro and returning early., Fix bug in referent_used_exactly_once, merge rustc history, default_numeric_fallback do not lint on constants, refactor default_numeric_fallback

We only need to store if the literal binding has an explicit type bound or not, Book: Small grammar + link a11y change, Remove CastCheckResult since it's unused, add missing comma, Auto merge of rust-lang#9644 - hkBst:patch-1, r=flip1995

add missing comma

changelog: none, Auto merge of rust-lang#9643 - icecream17:patch-1, r=flip1995

Book: Small grammar + link a11y change

Please write a short comment explaining your change (or "none" for internal only changes)

changelog: none


Very minor

For the link accessibility change, here and related don't provide context for screen readers who are reading a list of links. (Random supporting google links) https://www.w3.org/QA/Tips/noClickHere https://usability.yale.edu/web-accessibility/articles/links, Don't lint ptr_arg when used as an incompatible trait object, Auto merge of rust-lang#9645 - Jarcho:ptr_arg_9542, r=llogiq

Don't lint ptr_arg when used as an incompatible trait object

fixes rust-lang#9542 changelog: ptr_arg: Don't lint when used as an incompatible trait object, Add a suggestion and a note about orphan rules for from_over_into, Auto merge of rust-lang#9649 - Alexendoo:from-over-into-suggestion, r=llogiq

Add a suggestion and a note about orphan rules for from_over_into

Adds a machine applicable suggestion to convert the Into impl into a From one to from_over_into

Also adds a note explaining that impl From<Local> for Foreign is fine if the Into type is foreign

Closes rust-lang#7444 Addresses half of rust-lang#9638

changelog: [from_over_into] Add a suggestion and a note about orphan rules, Separate internal lints by pass, Move some things around, Expand unnecessary_def_path lint, Fix adjacent code, Format affected files, explicit_ty_bound code golf, [zero_prefixed_literal] Do not advise to use octal form if not possible, Enable test no_std_main_recursion, fix box-default linting no_std non-boxes, Auto merge of rust-lang#9655 - llogiq:unbox-default, r=dswij

fix box-default linting no_std non-boxes

This fixes rust-lang#9653 by doing the check against the Box type correctly even if Box isn't there, as in no_std code. Thanks to @lukas-code for opening the issue and supplying a reproducer!


changelog: none, Auto merge of rust-lang#9636 - kraktus:numeric-fallback, r=dswij

[default_numeric_fallback] do not lint on constants

fix rust-lang#9632

changelog:[default_numeric_fallback] do not lint on constants, Auto merge of rust-lang#9566 - smoelius:diagnostic-item-path, r=dswij

Expand internal lint unnecessary_def_path

This PR does essentially two things:

My understanding is that the latter is currently done by reviewers. Automating this process should make things easier for both reviewers and contributors.

I could make the first bullet a separate PR, or remove it entirely, if desired.

changelog: Add internal lint diagnostic_item_path, Add new lint partial_pub_fields

Signed-off-by: TennyZhuang zty0826@gmail.com, fix dogfood

Signed-off-by: TennyZhuang zty0826@gmail.com, add many tests

Signed-off-by: TennyZhuang zty0826@gmail.com, fix a doctest

Signed-off-by: TennyZhuang zty0826@gmail.com, Auto merge of rust-lang#9658 - TennyZhuang:partial-pub-fields, r=llogiq

Add new lint partial_pub_fields

Signed-off-by: TennyZhuang zty0826@gmail.com

Please write a short comment explaining your change (or "none" for internal only changes)

changelog: partial_pub_fields: new lint to disallow partial fields of a struct be pub

Resolve rust-lang#9604, Auto merge of rust-lang#9652 - kraktus:octo_89, r=xFrednet

[zero_prefixed_literal] Do not advise to use octal form if not possible

fix rust-lang#9651

changelog: [zero_prefixed_literal] Do not advise to use octal form if not possible, Auto merge of rust-lang#9609 - kraktus:hexa_f32, r=giraffate

[unnecessary_cast] Do not lint negative he

See merge request innersource/rust/toolset/rust-clippy!8