]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agobump rls and racer
Pietro Albini [Mon, 4 Apr 2022 14:04:37 +0000 (16:04 +0200)]
bump rls and racer

2 years agoAuto merge of #95772 - flip1995:clippyup, r=Manishearth,flip1995
bors [Fri, 8 Apr 2022 13:22:07 +0000 (13:22 +0000)]
Auto merge of #95772 - flip1995:clippyup, r=Manishearth,flip1995

Update Clippy

r? `@Manishearth`

2 years agoAuto merge of #95798 - Dylan-DPC:rollup-51hx1wl, r=Dylan-DPC
bors [Fri, 8 Apr 2022 10:41:10 +0000 (10:41 +0000)]
Auto merge of #95798 - Dylan-DPC:rollup-51hx1wl, r=Dylan-DPC

Rollup of 7 pull requests

Successful merges:

 - #95102 (Add known-bug for #95034)
 - #95579 (Add `<[[T; N]]>::flatten{_mut}`)
 - #95634 (Mailmap update)
 - #95705 (Promote x86_64-unknown-none target to Tier 2 and distribute build artifacts)
 - #95761 (Kickstart the inner usage of `macro_metavar_expr`)
 - #95782 (Windows: Increase a pipe's buffer capacity to 64kb)
 - #95791 (hide an #[allow] directive from the Arc::new_cyclic doc example)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoRollup merge of #95791 - oconnor663:doc_comment, r=thomcc
Dylan DPC [Fri, 8 Apr 2022 09:48:26 +0000 (11:48 +0200)]
Rollup merge of #95791 - oconnor663:doc_comment, r=thomcc

hide an #[allow] directive from the Arc::new_cyclic doc example

A minor docs cleanup.

2 years agoRollup merge of #95782 - ChrisDenton:pipe-buffer-size, r=thomcc
Dylan DPC [Fri, 8 Apr 2022 09:48:25 +0000 (11:48 +0200)]
Rollup merge of #95782 - ChrisDenton:pipe-buffer-size, r=thomcc

Windows: Increase a pipe's buffer capacity to 64kb

This brings it inline with typical Linux defaults: https://www.man7.org/linux/man-pages/man7/pipe.7.html

> Since Linux 2.6.11, the pipe capacity is 16 pages (i.e., 65,536 bytes in a system with a page size of 4096 bytes).

This may also help with #45572 and #95759 but does not fix either issue. It simply makes them much less likely to be encountered.

2 years agoRollup merge of #95761 - c410-f3r:meta-var-stuff, r=petrochenkov
Dylan DPC [Fri, 8 Apr 2022 09:48:24 +0000 (11:48 +0200)]
Rollup merge of #95761 - c410-f3r:meta-var-stuff, r=petrochenkov

Kickstart the inner usage of `macro_metavar_expr`

There can be more use-cases but I am out of ideas.

cc #83527
r? ``@petrochenkov``

2 years agoRollup merge of #95705 - bstrie:x86nonetier, r=Mark-Simulacrum
Dylan DPC [Fri, 8 Apr 2022 09:48:23 +0000 (11:48 +0200)]
Rollup merge of #95705 - bstrie:x86nonetier, r=Mark-Simulacrum

Promote x86_64-unknown-none target to Tier 2 and distribute build artifacts

This implements https://github.com/rust-lang/compiler-team/issues/499 , in which the compiler team accepted the x86_64-unknown-none target for promotion to a Tier 2 platform.

2 years agoRollup merge of #95634 - dtolnay:mailmap, r=Mark-Simulacrum
Dylan DPC [Fri, 8 Apr 2022 09:48:22 +0000 (11:48 +0200)]
Rollup merge of #95634 - dtolnay:mailmap, r=Mark-Simulacrum

Mailmap update

I noticed there are a lot of contributors who appear multiple times in https://thanks.rust-lang.org/rust/all-time/, which makes their "rank" on that page inaccurate. For example Nick Cameron currently appears at rank 21 with 2010 contributions and at rank 27 with 1287 contributions, because some of those are from nrc&#8288;```@ncameron.org``` and some from ncameron&#8288;```@mozilla.com.``` In reality Nick's rank would be 11 if counted correctly, which is a large difference.

Solving this in a totally automated way is tricky because it involves figuring out whether Nick is 1 person with multiple emails, or is 2 people sharing the same name.

This PR addresses a subset of the cases: only where a person has committed under multiple names using the same email. This is still not something that can be totally automated (e.g. by modifying https://github.com/rust-lang/thanks to dedup by email instead of name+email) because:

- Some emails are not necessarily unique to one contributor, such as `ubuntu@localhost`.

- It involves some judgement and mindfulness in picking the "canonical name" among the names used with a particular email. This is the name that will appear on thanks.rust-lang.org. Humans change their names sometimes and can be sensitive or picky about the use of names that are no longer preferred.

For the purpose of this PR, I've tried to stick to the following heuristics which should be unobjectionable:

- If one of the names is currently set as the display name on the contributor's GitHub profile, prefer that name.

- If one of the names is used exclusively over the others in chronologically newer pull requests, prefer the newest name.

- If one of the names has whitespace and the other doesn't (i.e. is username-like), such as `Foo Bar` vs `FooBar` or `foobar` or `foo-bar123`, but otherwise closely resemble one another, then prefer the human-like name.

- If none of the above suffice in determining a canonical name and the contributor has some other name set on their GitHub profile, use the name from the GitHub profile.

- If no name on their GitHub profile but the profile links to their personal website which unambiguously identifies their preferred name, then use that name.

I'm also thinking about how to handle cases like Nick's, but that will be a project for a different PR. Basically I'd like to be able to find cases of the same person making commits that differ in name *and* email by looking at all the commits present in pull requests opened by the same GitHub user.

<details>
<summary>script</summary>

```toml
[dependencies]
anyhow = "1.0"
git2 = "0.14"
mailmap = "0.1"
```
```rust
use anyhow::{bail, Context, Result};
use git2::{Commit, Oid, Repository};
use mailmap::{Author, Mailmap};
use std::collections::{BTreeMap as Map, BTreeSet as Set};
use std::fmt::{self, Debug};
use std::fs;
use std::path::Path;

const REPO: &str = "/git/rust";

fn main() -> Result<()> {
    let repo = Repository::open(REPO)?;
    let head_oid = repo
        .head()?
        .target()
        .context("expected head to be a direct reference")?;
    let head = repo.find_commit(head_oid)?;

    let mailmap_path = Path::new(REPO).join(".mailmap");
    let mailmap_contents = fs::read_to_string(mailmap_path)?;
    let mailmap = match Mailmap::from_string(mailmap_contents) {
        Ok(mailmap) => mailmap,
        Err(box_error) => bail!("{}", box_error),
    };

    let mut history = Set::new();
    let mut merges = Vec::new();
    let mut authors = Set::new();
    let mut emails = Map::new();
    let mut all_authors = Set::new();
    traverse_left(head, &mut history, &mut merges, &mut authors, &mailmap)?;
    while let Some((commit, i)) = merges.pop() {
        let right = commit.parents().nth(i).unwrap();
        authors.clear();
        traverse_left(right, &mut history, &mut merges, &mut authors, &mailmap)?;
        for author in &authors {
            all_authors.insert(author.clone());
            if !author.email.is_empty() {
                emails
                    .entry(author.email.clone())
                    .or_insert_with(Map::new)
                    .entry(author.name.clone())
                    .or_insert_with(Set::new);
            }
        }
        if let Some(summary) = commit.summary() {
            if let Some(pr) = parse_summary(summary)? {
                for author in &authors {
                    if !author.email.is_empty() {
                        emails
                            .get_mut(&author.email)
                            .unwrap()
                            .get_mut(&author.name)
                            .unwrap()
                            .insert(pr);
                    }
                }
            }
        }
    }

    for (email, names) in emails {
        if names.len() > 1 {
            println!("<{}>", email);
            for (name, prs) in names {
                let prs = DebugSet(prs.iter().rev());
                println!("    {} {:?}", name, prs);
            }
        }
    }

    eprintln!("{} commits", history.len());
    eprintln!("{} authors", all_authors.len());
    Ok(())
}

fn traverse_left<'repo>(
    mut commit: Commit<'repo>,
    history: &mut Set<Oid>,
    merges: &mut Vec<(Commit<'repo>, usize)>,
    authors: &mut Set<Author>,
    mailmap: &Mailmap,
) -> Result<()> {
    loop {
        let oid = commit.id();
        if !history.insert(oid) {
            return Ok(());
        }
        let author = author(mailmap, &commit);
        let is_bors = author.name == "bors" && author.email == "bors@rust-lang.org";
        if !is_bors {
            authors.insert(author);
        }
        let mut parents = commit.parents();
        let parent = match parents.next() {
            Some(parent) => parent,
            None => return Ok(()),
        };
        for i in 1..1 + parents.len() {
            merges.push((commit.clone(), i));
        }
        commit = parent;
    }
}

fn parse_summary(summary: &str) -> Result<Option<PullRequest>> {
    let mut rest = None;
    for prefix in [
        "Auto merge of #",
        "Merge pull request #",
        " Manual merge of #",
        "auto merge of #",
        "auto merge of pull req #",
        "rollup merge of #",
        "Rollup merge of #",
        "Rollup merge of  #",
        "Rollup merge of ",
        "Merge PR #",
        "Merge #",
        "Merged #",
    ] {
        if summary.starts_with(prefix) {
            rest = Some(&summary[prefix.len()..]);
            break;
        }
    }
    let rest = match rest {
        Some(rest) => rest,
        None => return Ok(None),
    };
    let end = rest.find([' ', ':']).unwrap_or(rest.len());
    let number = match rest[..end].parse::<u32>() {
        Ok(number) => number,
        Err(err) => {
            eprintln!("{}", summary);
            bail!(err);
        }
    };
    Ok(Some(PullRequest(number)))
}

fn author(mailmap: &Mailmap, commit: &Commit) -> Author {
    let signature = commit.author();
    let name = String::from_utf8_lossy(signature.name_bytes()).into_owned();
    let email = String::from_utf8_lossy(signature.email_bytes()).into_owned();
    mailmap.canonicalize(&Author { name, email })
}

#[derive(Copy, Clone, Ord, PartialOrd, Eq, PartialEq)]
struct PullRequest(u32);

impl Debug for PullRequest {
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
        write!(formatter, "#{}", self.0)
    }
}

struct DebugSet<T>(T);

impl<T> Debug for DebugSet<T>
where
    T: Iterator + Clone,
    T::Item: Debug,
{
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
        formatter.debug_set().entries(self.0.clone()).finish()
    }
}
```
</details>

2 years agoRollup merge of #95579 - Cyborus04:slice_flatten, r=scottmcm
Dylan DPC [Fri, 8 Apr 2022 09:48:21 +0000 (11:48 +0200)]
Rollup merge of #95579 - Cyborus04:slice_flatten, r=scottmcm

Add `<[[T; N]]>::flatten{_mut}`

Adds `flatten` to convert `&[[T; N]]` to `&[T]` (and `flatten_mut` for `&mut [[T; N]]` to `&mut [T]`)

2 years agoRollup merge of #95102 - compiler-errors:issue-94034-bug, r=jackh726
Dylan DPC [Fri, 8 Apr 2022 09:48:21 +0000 (11:48 +0200)]
Rollup merge of #95102 - compiler-errors:issue-94034-bug, r=jackh726

Add known-bug for #95034

Couldn't fix the issue, since I am no type theorist and inference variables in universes above U0 scare me. But I at least wanted to add a known-bug test for it.

cc #95034 (does not fix)

2 years agoUpdate Cargo.lock
flip1995 [Fri, 8 Apr 2022 09:41:55 +0000 (10:41 +0100)]
Update Cargo.lock

2 years agoMerge commit '984330a6ee3c4d15626685d6dc8b7b759ff630bd' into clippyup
flip1995 [Thu, 7 Apr 2022 17:39:59 +0000 (18:39 +0100)]
Merge commit '984330a6ee3c4d15626685d6dc8b7b759ff630bd' into clippyup

2 years agoAuto merge of #95775 - RalfJung:miri-windows-compat, r=ChrisDenton
bors [Fri, 8 Apr 2022 08:13:21 +0000 (08:13 +0000)]
Auto merge of #95775 - RalfJung:miri-windows-compat, r=ChrisDenton

make windows compat_fn (crudely) work on Miri

With https://github.com/rust-lang/rust/pull/95469, Windows `compat_fn!` now has to be supported by Miri to even make stdout work. Unfortunately, it relies on some outside-of-Rust linker hacks (`#[link_section = ".CRT$XCU"]`) that are rather hard to make work in Miri. So I came up with this crude hack to make this stuff work in Miri regardless. It should come at no cost for regular executions, so I hope this is okay.

Cc https://github.com/rust-lang/rust/issues/95627 `@ChrisDenton`

2 years agoAuto merge of #95440 - jyn514:error-index, r=Mark-Simulacrum
bors [Fri, 8 Apr 2022 05:43:25 +0000 (05:43 +0000)]
Auto merge of #95440 - jyn514:error-index, r=Mark-Simulacrum

Fix `x test src/tools/error_index_generator --stage {0,1}`

There were two fixes needed:
1. Use `top_stage` instead of `top_stage - 1`. There was a long and torturous comment about trying to match rustdoc's version, but it works better without the hard-coding than with (before it gave errors that `libtest.so` couldn't be found).
2. Make sure that `ci-llvm/lib` is added to LD_LIBRARY_PATH. Previously the error index would be unable to load LLVM for stage0 builds.

At some point we should probably have a discussion about how rustdoc stages should be numbered;
confusion between 0/1/2 has come up several times in bootstrap now. cc https://github.com/rust-lang/rust/issues/92538

Note that this is still broken when using `download-rustc = true` and `--stage 1`,
but that's *really* a corner case and should affect almost no one. `--stage {0,2}`
work fine with download-rustc.

Fixes https://github.com/rust-lang/rust/issues/80096.

2 years agoadd `<[[T; N]]>::flatten`, `<[[T; N]]>::flatten_mut`, and `Vec::<[T; N]>::into_flattened`
Cyborus04 [Sat, 2 Apr 2022 00:07:28 +0000 (20:07 -0400)]
add `<[[T; N]]>::flatten`, `<[[T; N]]>::flatten_mut`, and `Vec::<[T; N]>::into_flattened`

2 years agoPromote x86_64-unknown-none to Tier 2
bstrie [Tue, 5 Apr 2022 21:47:40 +0000 (17:47 -0400)]
Promote x86_64-unknown-none to Tier 2

2 years agohide an #[allow] directive from the Arc::new_cyclic doc example
Jack O'Connor [Fri, 8 Apr 2022 00:56:06 +0000 (17:56 -0700)]
hide an #[allow] directive from the Arc::new_cyclic doc example

2 years agoAuto merge of #95767 - oli-obk:all_your_generics_belong_to_the_definitions, r=compile...
bors [Thu, 7 Apr 2022 19:37:43 +0000 (19:37 +0000)]
Auto merge of #95767 - oli-obk:all_your_generics_belong_to_the_definitions, r=compiler-errors

Report opaque type mismatches directly during borrowck of the function instead of within the `type_of` query.

This allows us to only store a single hidden type per opaque type instead of having to store one per set of substitutions.

r? `@compiler-errors`

This does not affect diagnostics, because the diagnostic messages are exactly the same.

2 years agoWindows: Increase a pipe's buffer capacity to 64kb
Chris Denton [Thu, 7 Apr 2022 19:15:16 +0000 (20:15 +0100)]
Windows: Increase a pipe's buffer capacity to 64kb

This brings it inline with typical Linux defaults: https://www.man7.org/linux/man-pages/man7/pipe.7.html

2 years agodo not round-trip function pointer through integer
Ralf Jung [Thu, 7 Apr 2022 18:58:02 +0000 (14:58 -0400)]
do not round-trip function pointer through integer

2 years agomake windows compat_fn (crudely) work on Miri
Ralf Jung [Thu, 7 Apr 2022 18:07:02 +0000 (14:07 -0400)]
make windows compat_fn (crudely) work on Miri

2 years agoAuto merge of #8657 - flip1995:raw_lint_desc, r=flip1995
bors [Thu, 7 Apr 2022 17:11:26 +0000 (17:11 +0000)]
Auto merge of #8657 - flip1995:raw_lint_desc, r=flip1995

Allow raw lint descriptions

update_lints now understands raw strings in declare_clippy_lint descriptions.

Supersedes  #8655

cc `@Alexendoo` thanks for addressing this so quickly. I build a little bit simpler version of your patch. I don't think it really matters what `Literal` we're trying to tokenize, since we assume later, that it is some sort of `str`.

changelog: none

2 years agoAllow raw lint descriptions
flip1995 [Thu, 7 Apr 2022 17:05:20 +0000 (18:05 +0100)]
Allow raw lint descriptions

update_lints now understands raw strings in declare_clippy_lint
descriptions.

Co-authored-by: Alex Macleod <alex@macleod.io>
2 years agoAuto merge of #95706 - petrochenkov:doclink4, r=GuillaumeGomez
bors [Thu, 7 Apr 2022 15:33:22 +0000 (15:33 +0000)]
Auto merge of #95706 - petrochenkov:doclink4, r=GuillaumeGomez

rustdoc: Early doc link resolution fixes and refactorings

A subset of https://github.com/rust-lang/rust/pull/94857 that shouldn't cause perf regressions, but should fix some issues like https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/ICE.20in.20collect_intra_doc_links.2Ers https://github.com/rust-lang/rust/pull/95290 and improve performance in cases like https://github.com/rust-lang/rust/issues/95694.

2 years agoAuto merge of #8656 - flip1995:rustup, r=flip1995
bors [Thu, 7 Apr 2022 15:30:27 +0000 (15:30 +0000)]
Auto merge of #8656 - flip1995:rustup, r=flip1995

Rustup

r? `@ghost`

changelog: none

2 years agoBump changelog stable version -> 1.60
flip1995 [Thu, 7 Apr 2022 15:26:43 +0000 (16:26 +0100)]
Bump changelog stable version -> 1.60

2 years agoBump nightly version -> 2022-04-07
flip1995 [Thu, 7 Apr 2022 15:24:55 +0000 (16:24 +0100)]
Bump nightly version -> 2022-04-07

2 years agoBump Clippy Version -> 0.1.62
flip1995 [Thu, 7 Apr 2022 15:24:33 +0000 (16:24 +0100)]
Bump Clippy Version -> 0.1.62

2 years agoFix internal::INVALID_PATHS lint
flip1995 [Thu, 7 Apr 2022 15:24:10 +0000 (16:24 +0100)]
Fix internal::INVALID_PATHS lint

2 years agoMerge remote-tracking branch 'upstream/master' into rustup
flip1995 [Thu, 7 Apr 2022 14:44:37 +0000 (15:44 +0100)]
Merge remote-tracking branch 'upstream/master' into rustup

2 years agoDeduplicate the error printing code for hidden type mismatches
Oli Scherer [Thu, 7 Apr 2022 13:52:59 +0000 (13:52 +0000)]
Deduplicate the error printing code for hidden type mismatches

2 years agoReport opaque type mismatches directly during borrowck of the function instead of...
Oli Scherer [Thu, 7 Apr 2022 13:39:38 +0000 (13:39 +0000)]
Report opaque type mismatches directly during borrowck of the function instead of within the `type_of` query.

This allows us to only store a single hidden type per opaque type instead of having to store one per set of substitutions.

2 years agoAuto merge of #8635 - pbor:unsigned-abs, r=giraffate
bors [Thu, 7 Apr 2022 13:17:28 +0000 (13:17 +0000)]
Auto merge of #8635 - pbor:unsigned-abs, r=giraffate

Add a lint to detect cast to unsigned for abs() and suggest unsigned_…

…abs()

changelog: Add a [`cast_abs_to_unsigned`] that checks for uses of `abs()` that are cast to the corresponding unsigned integer type and suggest to replace them with `unsigned_abs()`.

2 years agoAuto merge of #8646 - Alexendoo:option-as-deref-mut, r=giraffate
bors [Thu, 7 Apr 2022 13:00:15 +0000 (13:00 +0000)]
Auto merge of #8646 - Alexendoo:option-as-deref-mut, r=giraffate

Fix `as_deref_mut` false positives in `needless_option_as_deref`

Also moves it into `methods/`

Fixes #7846
Fixes #8047

changelog: [`needless_option_as_deref`]: No longer lints for `as_deref_mut` on Options that cannot be moved

supersedes #8064

2 years agoAuto merge of #95715 - nnethercote:shrink-Nonterminal, r=davidtwco
bors [Thu, 7 Apr 2022 12:52:32 +0000 (12:52 +0000)]
Auto merge of #95715 - nnethercote:shrink-Nonterminal, r=davidtwco

Shrink `Nonterminal`

Small consistency and performance improvements.

r? `@petrochenkov`

2 years agoFix `as_deref_mut` false positives in `needless_option_as_deref`
Alex Macleod [Wed, 6 Apr 2022 14:35:49 +0000 (15:35 +0100)]
Fix `as_deref_mut` false positives in `needless_option_as_deref`

Also moves the lint to the methods directory

2 years agoKickstart the inner usage of macro_metavar_expr
Caio [Thu, 7 Apr 2022 11:13:41 +0000 (08:13 -0300)]
Kickstart the inner usage of macro_metavar_expr

2 years agoAuto merge of #95760 - Dylan-DPC:rollup-uskzggh, r=Dylan-DPC
bors [Thu, 7 Apr 2022 09:50:11 +0000 (09:50 +0000)]
Auto merge of #95760 - Dylan-DPC:rollup-uskzggh, r=Dylan-DPC

Rollup of 4 pull requests

Successful merges:

 - #95189 (Stop flagging unexpected inner attributes as outer ones in certain diagnostics)
 - #95752 (Regression test for #82866)
 - #95753 (Correct safety reasoning in `str::make_ascii_{lower,upper}case()`)
 - #95757 (Use gender neutral terms)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoconf: fix lint name in comment
Paolo Borelli [Thu, 7 Apr 2022 09:29:02 +0000 (11:29 +0200)]
conf: fix lint name in comment

The lint name is ERR_EXPECT, not EXPECT_ERR

2 years agonew lint cast_abs_to_unsigned
Paolo Borelli [Mon, 4 Apr 2022 16:38:38 +0000 (18:38 +0200)]
new lint cast_abs_to_unsigned

Add a lint to detect cast to unsigned for abs() and suggest
unsigned_abs() to avoid panic when called on MIN.

2 years agoRollup merge of #95757 - zofrex:gender-neutral-terms, r=dtolnay
Dylan DPC [Thu, 7 Apr 2022 09:17:17 +0000 (11:17 +0200)]
Rollup merge of #95757 - zofrex:gender-neutral-terms, r=dtolnay

Use gender neutral terms

#95508 was not executed well, but it did find a couple of legitimate issues: some uses of unnecessarily gendered language, and some typos. This PR fixes (properly) the legitimate issues it found.

2 years agoRollup merge of #95753 - ChayimFriedman2:patch-1, r=dtolnay
Dylan DPC [Thu, 7 Apr 2022 09:17:16 +0000 (11:17 +0200)]
Rollup merge of #95753 - ChayimFriedman2:patch-1, r=dtolnay

Correct safety reasoning in `str::make_ascii_{lower,upper}case()`

I don't understand why the previous comment was used (it was inserted in #66564), but it doesn't explain why these functions are safe, only why `str::as_bytes{_mut}()` are safe.

If someone thinks they make perfect sense, I'm fine with closing this PR.

2 years agoRollup merge of #95752 - compiler-errors:issue-82866, r=Dylan-DPC
Dylan DPC [Thu, 7 Apr 2022 09:17:14 +0000 (11:17 +0200)]
Rollup merge of #95752 - compiler-errors:issue-82866, r=Dylan-DPC

Regression test for #82866

Saw that this issue was open when i was cleaning my old branch for #92237.
I am also not opposed to not adding an extra test and just closing #82866.

Fixes #82866

2 years agoRollup merge of #95189 - fmease:fix-issue-94340, r=estebank
Dylan DPC [Thu, 7 Apr 2022 09:17:13 +0000 (11:17 +0200)]
Rollup merge of #95189 - fmease:fix-issue-94340, r=estebank

Stop flagging unexpected inner attributes as outer ones in certain diagnostics

Fixes #94340.

In the issue to-be-fixed I write that the general message _an inner attribute is not permitted in this context_ should be more specific noting that the “context” is the `include` macro. This, however, cannot be achieved without touching a lot of things and passing a flag to the `parse_expr` and `parse_item` calls in `expand_include`. This seems rather hacky to me. That's why I left it as it. `Span::from_expansion` does not apply either AFAIK.

`@rustbot` label A-diagnostics T-compiler

2 years agoUse gender neutral terms
James 'zofrex' Sanderson [Thu, 7 Apr 2022 07:51:59 +0000 (08:51 +0100)]
Use gender neutral terms

2 years agoAuto merge of #95678 - pietroalbini:pa-1.62.0-bootstrap, r=Mark-Simulacrum
bors [Thu, 7 Apr 2022 07:34:04 +0000 (07:34 +0000)]
Auto merge of #95678 - pietroalbini:pa-1.62.0-bootstrap, r=Mark-Simulacrum

Bump bootstrap compiler to 1.61.0 beta

This PR bumps the bootstrap compiler to the 1.61.0 beta. The first commit changes the stage0 compiler, the second commit applies the "mechanical" changes and the third and fourth commits apply changes explained in the relevant comments.

r? `@Mark-Simulacrum`

2 years agoAuto merge of #95748 - Dylan-DPC:rollup-t208j51, r=Dylan-DPC
bors [Thu, 7 Apr 2022 05:12:08 +0000 (05:12 +0000)]
Auto merge of #95748 - Dylan-DPC:rollup-t208j51, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #95352 ([bootstrap] Print the full relative path to failed tests)
 - #95646 (Mention `std::env::var` in `env!`)
 - #95708 (Update documentation for `trim*` and `is_whitespace` to include newlines)
 - #95714 (Add test for issue #83474)
 - #95725 (Message: Chunks cannot have a size of zero.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoCorrect safety reasoning in `str::make_ascii_{lower,upper}case()`
Chayim Refael Friedman [Thu, 7 Apr 2022 04:52:07 +0000 (07:52 +0300)]
Correct safety reasoning in `str::make_ascii_{lower,upper}case()`

2 years agoregression test for #82866
Michael Goulet [Thu, 7 Apr 2022 04:43:34 +0000 (21:43 -0700)]
regression test for #82866

2 years agoRollup merge of #95725 - hkBst:patch-1, r=Dylan-DPC
Dylan DPC [Thu, 7 Apr 2022 04:04:54 +0000 (06:04 +0200)]
Rollup merge of #95725 - hkBst:patch-1, r=Dylan-DPC

Message: Chunks cannot have a size of zero.

Add a message to the assertion that chunks cannot have a size of zero.

2 years agoRollup merge of #95714 - KSBilodeau:master, r=Dylan-DPC
Dylan DPC [Thu, 7 Apr 2022 04:04:54 +0000 (06:04 +0200)]
Rollup merge of #95714 - KSBilodeau:master, r=Dylan-DPC

Add test for issue #83474

Adds test for https://github.com/rust-lang/rust/issues/83474 - second attempt at PR https://github.com/rust-lang/rust/pull/91821 which was abandoned.

2 years agoRollup merge of #95708 - fee1-dead:doc_whitespace_trim, r=Dylan-DPC
Dylan DPC [Thu, 7 Apr 2022 04:04:52 +0000 (06:04 +0200)]
Rollup merge of #95708 - fee1-dead:doc_whitespace_trim, r=Dylan-DPC

Update documentation for `trim*` and `is_whitespace` to include newlines

2 years agoRollup merge of #95646 - mgeisler:mention-std-env-var, r=Dylan-DPC
Dylan DPC [Thu, 7 Apr 2022 04:04:52 +0000 (06:04 +0200)]
Rollup merge of #95646 - mgeisler:mention-std-env-var, r=Dylan-DPC

Mention `std::env::var` in `env!`

When searching for how to read an environment variable, I first encountered the `env!` macro. It would have been useful to me if the documentation had included a link to `std::env::var`, which is what I was actually looking for.

2 years agoRollup merge of #95352 - jyn514:full-relative-path, r=Mark-Simulacrum
Dylan DPC [Thu, 7 Apr 2022 04:04:51 +0000 (06:04 +0200)]
Rollup merge of #95352 - jyn514:full-relative-path, r=Mark-Simulacrum

[bootstrap] Print the full relative path to failed tests

Before:
```
failures:
    [ui] rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 163 filtered out; finished in 0.45s
```

After:
```
failures:
    [ui] src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 163 filtered out; finished in 0.45s
```

This allows copy pasting the path or using Ctrl+Click in IDEs to go directly to the file, instead of having to edit the filename first.

2 years agoShrink `Nonterminal`.
Nicholas Nethercote [Wed, 6 Apr 2022 02:08:39 +0000 (12:08 +1000)]
Shrink `Nonterminal`.

By heap allocating the argument within `NtPath`, `NtVis`, and `NtStmt`.
This slightly reduces cumulative and peak allocation amounts, most
notably on `deep-vector`.

2 years agoUpdate library/core/src/slice/mod.rs
Dylan DPC [Thu, 7 Apr 2022 02:44:30 +0000 (04:44 +0200)]
Update library/core/src/slice/mod.rs

Co-authored-by: Janusz Marcinkiewicz <virrages@gmail.com>
2 years agoremove exclamation mark
Dylan DPC [Thu, 7 Apr 2022 02:44:11 +0000 (04:44 +0200)]
remove exclamation mark

Co-authored-by: Janusz Marcinkiewicz <virrages@gmail.com>
2 years agoAuto merge of #95688 - pfmooney:libc-update, r=Mark-Simulacrum
bors [Thu, 7 Apr 2022 02:41:28 +0000 (02:41 +0000)]
Auto merge of #95688 - pfmooney:libc-update, r=Mark-Simulacrum

Update libc to 0.2.121

With the updated libc, UNIX stack overflow handling in libstd can now
use the common `si_addr` accessor function, rather than attempting to
use a field from that name in `siginfo_t`.  This simplifies the
collection of the fault address, particularly on platforms where that
data resides within a union in `siginfo_t`.

2 years agoAuto merge of #95745 - Dylan-DPC:rollup-485ajqi, r=Dylan-DPC
bors [Thu, 7 Apr 2022 00:15:18 +0000 (00:15 +0000)]
Auto merge of #95745 - Dylan-DPC:rollup-485ajqi, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #95185 (Stabilize Stdin::lines.)
 - #95626 (Don't cast thread name to an integer for prctl)
 - #95709 (Improve terse test output.)
 - #95735 (Revert "Mark Location::caller() as #[inline]")
 - #95738 (Switch item-info from div to span)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoRollup merge of #95738 - GuillaumeGomez:item-info-switch-to-span, r=jsha
Dylan DPC [Wed, 6 Apr 2022 23:59:24 +0000 (01:59 +0200)]
Rollup merge of #95738 - GuillaumeGomez:item-info-switch-to-span, r=jsha

Switch item-info from div to span

Following discussion in #95684.

cc `@jsha`
r? `@notriddle`

2 years agoRollup merge of #95735 - bjorn3:revert_inline_location_caller, r=compiler-errors
Dylan DPC [Wed, 6 Apr 2022 23:59:24 +0000 (01:59 +0200)]
Rollup merge of #95735 - bjorn3:revert_inline_location_caller, r=compiler-errors

Revert "Mark Location::caller() as #[inline]"

This reverts https://github.com/rust-lang/rust/pull/95619. As noted in https://github.com/rust-lang/rust/pull/95619#issuecomment-1088548140 this seems to break several tests with cg_clif.

2 years agoRollup merge of #95709 - nnethercote:improve-terse-test-output, r=Dylan-DPC
Dylan DPC [Wed, 6 Apr 2022 23:59:23 +0000 (01:59 +0200)]
Rollup merge of #95709 - nnethercote:improve-terse-test-output, r=Dylan-DPC

Improve terse test output.

The current terse output gives 112 chars per line, which causes
wraparound for people using 100 char wide terminals, which is very
common.

This commit changes it to be exactly 100 wide, which makes the output
look much nicer.

2 years agoRollup merge of #95626 - saethlin:pass-pointer-to-prctl, r=cuviper
Dylan DPC [Wed, 6 Apr 2022 23:59:22 +0000 (01:59 +0200)]
Rollup merge of #95626 - saethlin:pass-pointer-to-prctl, r=cuviper

Don't cast thread name to an integer for prctl

`libc::prctl` and the `prctl` definitions in glibc, musl, and the kernel headers are C variadic functions. Therefore, all the arguments (except for the first) are untyped. It is only the Linux man page which says that `prctl` takes 4 `unsigned long` arguments. I have no idea why it says this.

In any case, the upshot is that we don't need to cast the pointer to an integer and confuse Miri.

But in light of this... what are we doing with those three `0`s? We're passing 3 `i32`s to `prctl`, which doesn't fill me with confidence. The man page says `unsigned long` and all the constants in the linux kernel are macros for expressions of the form `1UL << N`. I'm mostly commenting on this because looks a whole lot like some UB that was found in SQLite a few years ago: <https://youtu.be/LbzbHWdLAI0?t=1925> that was related to accidentally passing a 32-bit value from a literal `0` instead of a pointer-sized value. This happens to work on x86 due to the size of pointers and happens to work on x86_64 due to the calling convention. But also, there is no good reason for an implementation to be looking at those arguments. Some other calls to `prctl` require that other arguments be zeroed, but not `PR_SET_NAME`... so why are we even passing them?

I would prefer to end such questions by either passing 3 `libc::c_ulong`, or not passing those at all, but I'm not sure which is better.

2 years agoRollup merge of #95185 - m-ou-se:stabilize-stdin-lines, r=Mark-Simulacrum
Dylan DPC [Wed, 6 Apr 2022 23:59:21 +0000 (01:59 +0200)]
Rollup merge of #95185 - m-ou-se:stabilize-stdin-lines, r=Mark-Simulacrum

Stabilize Stdin::lines.

Closes https://github.com/rust-lang/rust/issues/87096

Fcp completed here: https://github.com/rust-lang/rust/issues/87096#issuecomment-1028792980

2 years agoAuto merge of #8630 - Jarcho:forget_non_drop, r=Manishearth
bors [Wed, 6 Apr 2022 23:04:20 +0000 (23:04 +0000)]
Auto merge of #8630 - Jarcho:forget_non_drop, r=Manishearth

Add lints `drop_non_drop` and `forget_non_drop`

fixes #1897

changelog: Add lints `drop_non_drop` and `forget_non_drop`

2 years agorustdoc: Early doc link resolution fixes and refactorings
Vadim Petrochenkov [Tue, 5 Apr 2022 20:46:44 +0000 (23:46 +0300)]
rustdoc: Early doc link resolution fixes and refactorings

2 years agoAuto merge of #95742 - Dylan-DPC:rollup-8n7o87y, r=Dylan-DPC
bors [Wed, 6 Apr 2022 21:15:16 +0000 (21:15 +0000)]
Auto merge of #95742 - Dylan-DPC:rollup-8n7o87y, r=Dylan-DPC

Rollup of 6 pull requests

Successful merges:

 - #95342 (Ignore "format the world" commit in git blame)
 - #95353 ([bootstrap] Give a hard error when filtering tests for a file that does not exist)
 - #95649 (New mir-opt deref_separator)
 - #95721 (Fix typo in bootstrap/setup.rs)
 - #95730 (Rename RWLock to RwLock in std::sys.)
 - #95731 (Check that all hidden types are the same and then deduplicate them.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

2 years agoChange trailing prctl arguments to c_ulong
Ben Kimock [Wed, 6 Apr 2022 21:11:50 +0000 (17:11 -0400)]
Change trailing prctl arguments to c_ulong

2 years agoRollup merge of #95731 - oli-obk:lazy_tait_regression, r=compiler-errors
Dylan DPC [Wed, 6 Apr 2022 21:06:10 +0000 (23:06 +0200)]
Rollup merge of #95731 - oli-obk:lazy_tait_regression, r=compiler-errors

Check that all hidden types are the same and then deduplicate them.

fixes #95538

This used to trigger a sanity check. Now we accept that there may be multiple places where a hidden type is constrained and we merge all of these at the end.

Ideally we'd merge eagerly, but that is a larger refactoring that I don't want to put into a backport

2 years agoRollup merge of #95730 - m-ou-se:rwlock-case, r=Dylan-DPC
Dylan DPC [Wed, 6 Apr 2022 21:06:08 +0000 (23:06 +0200)]
Rollup merge of #95730 - m-ou-se:rwlock-case, r=Dylan-DPC

Rename RWLock to RwLock in std::sys.

std::sync::RwLock is spelled with two capital letters, but std::sys's RWLock was spelled with three capital letters. This cleans that up and uses `RwLock` everywhere.

2 years agoRollup merge of #95721 - xu-cheng:typo, r=compiler-errors
Dylan DPC [Wed, 6 Apr 2022 21:06:07 +0000 (23:06 +0200)]
Rollup merge of #95721 - xu-cheng:typo, r=compiler-errors

Fix typo in bootstrap/setup.rs

2 years agoRollup merge of #95649 - ouz-a:mir-opt, r=oli-obk
Dylan DPC [Wed, 6 Apr 2022 21:06:06 +0000 (23:06 +0200)]
Rollup merge of #95649 - ouz-a:mir-opt, r=oli-obk

New mir-opt deref_separator

This adds a new mir-opt that split certain derefs into this form:
`let x = (*a.b).c;` to => `tmp = a.b; let x = (*tmp).c;`

Huge thanks to ``@oli-obk`` for his patient mentoring.

2 years agoRollup merge of #95353 - jyn514:invalid-filter-hard-error, r=Mark-Simulacrum
Dylan DPC [Wed, 6 Apr 2022 21:06:05 +0000 (23:06 +0200)]
Rollup merge of #95353 - jyn514:invalid-filter-hard-error, r=Mark-Simulacrum

[bootstrap] Give a hard error when filtering tests for a file that does not exist

A common issue people run into when running compiletest is that filtering for files that don't exist is only a warning and not an error; running the whole test suite instead.
See for example https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Question.20about.20compiletest.
This is especially bad when using `--bless`, which will modify all `.stderr` files.

Change bootstrap to require valid filters instead of discarding invalid filters and continuing.

Before:

```
Warning: Skipping "/home/jnelson/rust-lang/rust/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.r": not a regular file or directory
Check compiletest suite=rustdoc-ui mode=ui (x86_64-unknown-linux-gnu(x86_64-unknown-linux-gnu) -> x86_64-unknown-linux-gnu(x86_64-unknown-linux-gnu))

running 163 tests
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.......................... 100/163
...............................................................
test result: ok. 89 passed; 0 failed; 74 ignored; 0 measured; 0 filtered out; finished in 7.20s

        finished in 7.248 seconds
Build completed successfully in 0:00:08
```

After:
```
thread 'main' panicked at 'Invalid test suite filter "/home/jnelson/rust-lang/rust/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.r": file or directory does not exist', src/bootstrap/util.rs:311:
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Build completed unsuccessfully in 0:00:08
```

2 years agoRollup merge of #95342 - jyn514:ignore-revs, r=Mark-Simulacrum
Dylan DPC [Wed, 6 Apr 2022 21:06:04 +0000 (23:06 +0200)]
Rollup merge of #95342 - jyn514:ignore-revs, r=Mark-Simulacrum

Ignore "format the world" commit in git blame

This tells github to hide it in its blame view: https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
It can also be used locally by running `git config blame.ignorerevsfile .git-blame-ignore-revs` (although it's advised to avoid `--global` since git gives a hard error when the file doesn't exist).

We may want to add more commits in later PRs, but this should be a good start.

Before: ![image](https://user-images.githubusercontent.com/23638587/160255130-d7283cc4-4d33-4a7d-bc70-f9ce6820293c.png)
After: ![image](https://user-images.githubusercontent.com/23638587/160255138-90d0325a-e063-4e0e-8cfb-732724bf6c60.png)
cc https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Hide.20some.20commits.20in.20GitHub.20blame

2 years agofix regression caused by rust-lang/cargo#10448
Pietro Albini [Wed, 6 Apr 2022 21:04:03 +0000 (23:04 +0200)]
fix regression caused by rust-lang/cargo#10448

2 years agoUpdate rustdoc test following DOM change
Guillaume Gomez [Wed, 6 Apr 2022 18:41:57 +0000 (20:41 +0200)]
Update rustdoc test following DOM change

2 years agoSwitch item-info div to span to generate valid HTML
Guillaume Gomez [Wed, 6 Apr 2022 18:41:44 +0000 (20:41 +0200)]
Switch item-info div to span to generate valid HTML

2 years agoAuto merge of #8606 - InfRandomness:err()-expect()-lint, r=xFrednet
bors [Wed, 6 Apr 2022 18:07:56 +0000 (18:07 +0000)]
Auto merge of #8606 - InfRandomness:err()-expect()-lint, r=xFrednet

Add [`err_expect`] lint

[`expect_err`] lint

- \[ ] Followed [lint naming conventions][lint_naming]
- \[x] Added passing UI tests (including committed `.stderr` file)
- \[x] `cargo test` passes locally
- \[x] Executed `cargo dev update_lints`
- \[x] Added lint documentation
- \[x] Run `cargo dev fmt`

Fixes https://github.com/rust-lang/rust-clippy/issues/1435

changelog: Added a lint to detect usage of .err().expect()

2 years agoStop flagging certain inner attrs as outer ones
León Orell Valerian Liehr [Mon, 21 Mar 2022 23:36:47 +0000 (00:36 +0100)]
Stop flagging certain inner attrs as outer ones

2 years agoFix mistakes in documentation :
infrandomness [Wed, 6 Apr 2022 17:24:49 +0000 (19:24 +0200)]
Fix mistakes in documentation :

- err() was meant to be employed instead of ok()
- wraps comment

2 years agoAdd .err().expect() lint
InfRandomness [Tue, 29 Mar 2022 17:19:16 +0000 (19:19 +0200)]
Add .err().expect() lint

2 years agoAuto merge of #8549 - J-ZhengLi:issue8542, r=llogiq
bors [Wed, 6 Apr 2022 17:23:14 +0000 (17:23 +0000)]
Auto merge of #8549 - J-ZhengLi:issue8542, r=llogiq

fix FP in lint `[needless_match]`

fixes: #8542
fixes: #8551
fixes: #8595
fixes: #8599

---

changelog: check for more complex custom type, and ignore type coercion in [`needless_match`]

2 years agoRevert "Mark Location::caller() as #[inline]"
bjorn3 [Wed, 6 Apr 2022 16:45:11 +0000 (18:45 +0200)]
Revert "Mark Location::caller() as #[inline]"

This reverts commit 6d0b61e2f598c1d1102ea9b6f22c4d0e71e5f967.

2 years agoAuto merge of #95669 - nnethercote:call-compute_locs-once-per-rule, r=petrochenkov
bors [Wed, 6 Apr 2022 16:29:32 +0000 (16:29 +0000)]
Auto merge of #95669 - nnethercote:call-compute_locs-once-per-rule, r=petrochenkov

Call `compute_locs` once per rule

This fixes the small regressions on `wg-grammar` and `hyper-0.14.18` seen in #95555.

r? `@petrochenkov`

2 years agoBump stabilization of stdin_forwarders to 1.62.0.
Mara Bos [Wed, 6 Apr 2022 15:26:33 +0000 (17:26 +0200)]
Bump stabilization of stdin_forwarders to 1.62.0.

2 years agoAuto merge of #8644 - yoav-lavi:squashed-master, r=flip1995
bors [Wed, 6 Apr 2022 15:13:43 +0000 (15:13 +0000)]
Auto merge of #8644 - yoav-lavi:squashed-master, r=flip1995

update unnecessary_join documentation

changelog: none

Updates the description of `unnecessary_join` in accordance with https://github.com/rust-lang/rust-clippy/pull/8579#issuecomment-1089969859. I've also added a line regarding differences in assembly output, please let me know if it should also make it in.

2 years agoCheck that all hidden types are the same and then deduplicate them.
Oli Scherer [Wed, 6 Apr 2022 15:02:37 +0000 (15:02 +0000)]
Check that all hidden types are the same and then deduplicate them.

2 years agoRename RWLock to RwLock in std::sys.
Mara Bos [Wed, 6 Apr 2022 14:33:53 +0000 (16:33 +0200)]
Rename RWLock to RwLock in std::sys.

2 years agoAuto merge of #95707 - RalfJung:initialized, r=oli-obk
bors [Wed, 6 Apr 2022 14:07:27 +0000 (14:07 +0000)]
Auto merge of #95707 - RalfJung:initialized, r=oli-obk

interp/validity: enforce Scalar::Initialized

This is a follow-up to https://github.com/rust-lang/rust/pull/94527, to also account for the new kind of `Scalar` layout inside the validity checker.

r? `@oli-obk`

2 years agoupdate unnecessary_join documentation
Yoav Lavi [Wed, 6 Apr 2022 13:59:38 +0000 (15:59 +0200)]
update unnecessary_join documentation

2 years agocode refractor for `[needless_match]`
J-ZhengLi [Wed, 6 Apr 2022 12:44:54 +0000 (20:44 +0800)]
code refractor for `[needless_match]`

2 years agoMention `std::env::var` in `env!`
Martin Geisler [Mon, 4 Apr 2022 14:22:02 +0000 (16:22 +0200)]
Mention `std::env::var` in `env!`

When searching for how to read an environment variable, I first encountered the `env!` macro. It would have been useful to me if the documentation had included a link to `std::env::var`, which is what I was actually looking for.

2 years agoAuto merge of #95723 - SparrowLii:const_goto, r=fee1-dead
bors [Wed, 6 Apr 2022 10:08:08 +0000 (10:08 +0000)]
Auto merge of #95723 - SparrowLii:const_goto, r=fee1-dead

enhance `ConstGoto` mir-opt by moving up `StorageDead` statements

From the `FIXME` in the implementation of `ConstGoto` miropt. We can move `StorageDead` statements up to the predecessor. This can expand the scope of application of this opt.

2 years agoAuto merge of #8612 - SabrinaJewson:suggest-from-utf8-unchecked-in-const, r=flip1995
bors [Wed, 6 Apr 2022 09:32:51 +0000 (09:32 +0000)]
Auto merge of #8612 - SabrinaJewson:suggest-from-utf8-unchecked-in-const, r=flip1995

Suggest from_utf8_unchecked in const contexts

Unfortunately I couldn't figure out how to check whether a given expression is in an `unsafe` context or not, so I just unconditionally emit the wrapping `unsafe {}` block in the suggestion. If there is an easy way to get it to work better then I would love to hear it.

changelog: Suggest `from_utf8_unchecked` instead of `from_utf8` in const contexts for ``[`transmute_bytes_to_str`]``

refs: #8379

2 years agoReport `from_utf8` suggestion as maybe incorrect
Sabrina Jewson [Wed, 6 Apr 2022 09:14:20 +0000 (10:14 +0100)]
Report `from_utf8` suggestion as maybe incorrect

Co-authored-by: Philipp Krones <hello@philkrones.com>
2 years agoremove ~const Drop from rustdoc test
Pietro Albini [Wed, 6 Apr 2022 08:35:49 +0000 (10:35 +0200)]
remove ~const Drop from rustdoc test

2 years agoAuto merge of #8596 - Jaic1:unnecessary_cast, r=flip1995
bors [Wed, 6 Apr 2022 08:27:03 +0000 (08:27 +0000)]
Auto merge of #8596 - Jaic1:unnecessary_cast, r=flip1995

Fix unnecessary_cast suggestion for type aliasses

Fix #6923. The [`unnecessary_cast`] lint now will skip casting to non-primitive type.

changelog: fix lint [`unnecessary_cast `]

2 years agoAuto merge of #8588 - pitaj:fix-8348, r=flip1995
bors [Wed, 6 Apr 2022 08:13:26 +0000 (08:13 +0000)]
Auto merge of #8588 - pitaj:fix-8348, r=flip1995

`indexing_slicing` should not fire if a valid array index comes from a constant function that is evaluated at compile-time

fix #8348

changelog: [`indexing_slicing`] fewer false positives in `const` contexts and with `const` indices

2 years agoMessage: Chunks cannot have a size of zero.
Marijn Schouten [Wed, 6 Apr 2022 07:54:43 +0000 (09:54 +0200)]
Message: Chunks cannot have a size of zero.

Add a message to the assertion that chunks cannot have a size of zero.

2 years agobless tests
Pietro Albini [Wed, 6 Apr 2022 07:29:58 +0000 (09:29 +0200)]
bless tests