232582 Commits

Author SHA1 Message Date
Michael Goulet
634ab606a4
Rollup merge of #115090 - eopb:dont-check-lib-bootstrap, r=ozkanonur
Always use `os-release` rather than `/lib` to detect `NixOS` (bootstrap)

[Two users over on zulip](https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Bootstrapping.20on.20NixOS) bumped into issues where NixOS wasn't being properly detected.

I believe this was caused by the presence of `/lib` on their machines. `/lib` is not standard on NixOS but can still be created by users or scripts.

We are already checking `/etc/os-release`. The presence of `ID=nixos` in it's output should be trustworthy and we shouldn't then go on to also check for `/lib`.
2023-08-22 09:00:50 -07:00
Michael Goulet
39066450e3
Rollup merge of #115087 - Nilstrieb:sizeassert, r=fee1-dead
Add disclaimer on size assertion macro

Sometimes people are inspired by rustc to add size assertions to their code and copy the macro. This is bad because it causes hard build errors. rustc happens to be special where it makes this okay.

For example, see #115028 (not sure whether they were directly inspired by this function), but I think I've also seen other cases.
2023-08-22 09:00:50 -07:00
Michael Goulet
0e84d42a9e
Rollup merge of #115077 - estebank:issue-115019, r=compiler-errors
Do not emit invalid suggestion in E0191 when spans overlap

Fix #115019.
2023-08-22 09:00:49 -07:00
Michael Goulet
e9897c3a71
Rollup merge of #115011 - compiler-errors:warn-on-elided-assoc-ct-lt, r=cjgillot
Warn on elided lifetimes in associated constants (`ELIDED_LIFETIMES_IN_ASSOCIATED_CONSTANT`)

Elided lifetimes in associated constants (in impls) erroneously resolve to fresh lifetime parameters on the impl since #97313. This is not correct behavior (see #38831).

I originally opened #114716 to fix this, but given the time that has passed, the crater results seem pretty bad: https://github.com/rust-lang/rust/pull/114716#issuecomment-1682091952

This PR alternatively implements a lint against this behavior, and I'm hoping to bump this to deny in a few versions.
2023-08-22 09:00:49 -07:00
Michael Goulet
6c7678d328
Rollup merge of #114959 - mojave2:issue-113702, r=petrochenkov
fix #113702 emit a proper diagnostic message for unstable lints passed from CLI

Current output:
```bash
$ build/host/stage1/bin/rustc hello.rs -Wunnameable_types
warning: unknown lint: `unnameable_types`
  |
  = note: the `unnameable_types` lint is unstable
  = note: see issue #48054 <https://github.com/rust-lang/rust/issues/48054> for more information
  = help: add `-Zcrate-attr="feature(type_privacy_lints)"` to the command-line options to enable
  = note: `#[warn(unknown_lints)]` on by default

warning: 1 warning emitted
```

Previously, the feature gate diagnostic message is like below, which is the same as the message for unstable lints from the root module.

```shell
= help: add `#![feature(type_privacy_lints)]` to the crate attributes to enable
```

Fixes https://github.com/rust-lang/rust/issues/113702
2023-08-22 09:00:48 -07:00
Esteban Küber
b86285af16 Do not emit invalid suggestion in E0191 when spans overlap
Fix #115019.
2023-08-22 15:51:12 +00:00
David Koloski
6aef5b331f Disable bootstrap rustc version check
Mitigates #115065
2023-08-22 15:33:10 +00:00
David Wood
d5269a1d7b
triagebot: add dependency licensing pings
Signed-off-by: David Wood <david@davidtw.co>
2023-08-22 16:15:00 +01:00
bors
3e9e5745df Auto merge of #115066 - allaboutevemirolive:pluralize_macro, r=Nilstrieb
Redefine the pluralize macro's arm

Redefine the unintuitive pluralize macro's arm because of the negation. The initial code starts with check if count is not 1, which is confusing and unintuitive.

The arm shoud start with checking,

- if "count" `is 1` then, append `""` (empty string) - indicate as singular
- Then check if "count" `is not 1` (more than 1), append `"s"` - indicate as plural

Before:
```rs
// This arm is abit confusing since it start with checking, if "count" is more than 1, append "s".
($x:expr) => {
    if $x != 1 { "s" } else { "" }
};
```

After:
```rs
// Pluralize based on count (e.g., apples)
($x:expr) => {
    if $x == 1 { "" } else { "s" }
};
```
2023-08-22 14:22:10 +00:00
Urgau
7ee77b5d1b Add support for ptr::write for the invalid_reference_casting lint 2023-08-22 15:47:29 +02:00
kadiwa
265c1b5d50
add regression test for not memcpying padding bytes 2023-08-22 15:10:56 +02:00
bors
d8c69dfb37 Auto merge of #115095 - RalfJung:miri, r=RalfJung
update Miri

r? `@ghost`
2023-08-22 12:32:50 +00:00
Ralf Jung
47ba2a9465 update lockfile 2023-08-22 13:47:38 +02:00
mojave2
d2744175ac
unknown unstable lint command line
fix ##113702

fix #113702

unknown unstable lint command lint

improve impelementation
2023-08-22 18:58:39 +08:00
bors
b2e9d73606 Auto merge of #115086 - RalfJung:miri-locked, r=albertlarsan68
bootstrap/miri: respect config_locked_deps
2023-08-22 10:43:48 +00:00
Ethan Brierley
0e070aa548
Always use os-release rather than /lib to detect NixOS
[Two users over on zulip](https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Bootstrapping.20on.20NixOS) bumped into issues where NixOS wasn't being properly detected.

I believe this was caused by the presence of `/lib` on their machines. `/lib` is not standard on NixOS but can still be created by users or scripts.

We are already checking `/etc/os-release`. The presence of `ID=nixos` in it's output should be trustworthy and we shouldn't then go on to also check for `/lib`.
2023-08-22 11:06:43 +01:00
bors
0c2dde342b Auto merge of #3036 - RalfJung:josh-autostart, r=RalfJung
automatically start and stop josh in rustc-pull/push

Let's make use of the fact that this is not a shell script any more. :)
2023-08-22 09:25:49 +00:00
Ralf Jung
ee1fbd7a93 miri-script: start and stop josh automatically 2023-08-22 11:22:44 +02:00
Nilstrieb
d16e9c3369 Convert it into a warning
Co-authored-by: León Orell Valerian Liehr <me@fmease.dev>
2023-08-22 09:17:46 +00:00
bors
95305899b8 Auto merge of #115089 - fee1-dead-contrib:pause, r=fee1-dead
Remove myself from review rotation

I'll.. still be around, just not as active as I had been. I'm not adding myself to `users_on_vacation`, because anyone should still feel free to r? me if they want a specific review from me.
2023-08-22 08:55:43 +00:00
Ralf Jung
6117fa1fef make sure './miri many-seeds ./miri run' does not re-invoke the auto-ops 2023-08-22 10:29:26 +02:00
Deadbeef
ddf89a8776 Remove myself from review rotation 2023-08-22 08:05:00 +00:00
bors
57277c3a8e Auto merge of #3035 - RalfJung:serde, r=RalfJung
bump serde

bump to a version with the binary blob removed

also, respect CARGO_EXTRA_FLAGS in more places
2023-08-22 07:25:57 +00:00
Ralf Jung
269cbc20ac respect CARGO_EXTRA_FLAGS in more places 2023-08-22 09:25:33 +02:00
Nilstrieb
1b9159e448 Add disclaimer on size assertion macro
Sometimes people are inspired by rustc to add size assertions to their
code and copy the macro. This is bad because it causes hard build
errors. rustc happens to be special where it makes this okay.
2023-08-22 06:59:09 +00:00
Ralf Jung
28de139d35 bootstrap/miri: respect config_locked_deps 2023-08-22 08:54:51 +02:00
Ralf Jung
95fe7ab2a8 bump serde 2023-08-22 08:36:54 +02:00
bors
b4d09f3b81 Auto merge of #115075 - workingjubilee:retier-sparc-none, r=compiler-errors
Reassign sparc-unknown-none-elf to tier 3

It should never have been moved to tier 2. It is a new platform and the maintainer has agreed to do tier 3 maintenance for it, not tier 2.

r? `@jonathanpallant`
2023-08-22 06:36:15 +00:00
bors
32aa40538e Auto merge of #115055 - Kriskras99:master, r=ehuss
Fix table issues in platform support documentation (closes #115047)

mdBook needs an empty line before and after the table block.
In addition, in the tier-3 list three targets forgot about the host column and therefore showed the notes in the host column.

Closes #115047
2023-08-22 01:45:22 +00:00
bors
795ade084a Auto merge of #113365 - dima74:diralik/add-deprecated-suggestions, r=workingjubilee
Add `suggestion` for some `#[deprecated]` items

Consider code:
```rust
fn main() {
    let _ = ["a", "b"].connect(" ");
}
```

Currently it shows deprecated warning:
```rust
warning: use of deprecated method `std::slice::<impl [T]>::connect`: renamed to join
 --> src/main.rs:2:24
  |
2 |     let _ = ["a", "b"].connect(" ");
  |                        ^^^^^^^
  |
  = note: `#[warn(deprecated)]` on by default
```

This PR adds `suggestion` for `connect` and some other deprecated items, so the warning will be changed to this:
```rust
warning: use of deprecated method `std::slice::<impl [T]>::connect`: renamed to join
 --> src/main.rs:2:24
  |
2 |     let _ = ["a", "b"].connect(" ");
  |                        ^^^^^^^
  |
  = note: `#[warn(deprecated)]` on by default
help: replace the use of the deprecated method
  |
2 |     let _ = ["a", "b"].join(" ");
  |                        ^^^^
```
2023-08-22 00:02:50 +00:00
Tomasz Miąsko
0383131f7f Contents of reachable statics is reachable 2023-08-22 00:00:00 +00:00
Michael Goulet
b1c609e2a6 Fix elided lifetimes in rust-lang/rust 2023-08-21 23:53:09 +00:00
Noah Lev
4d9ac5df59 Fix test 2023-08-21 16:20:00 -07:00
Michael Howell
3df9b4d65d rustdoc: use unicode-aware checks for redundant explicit link fastpath
Fixes #115064
2023-08-21 14:25:26 -07:00
Noah Lev
c90a5b2019 rustdoc-json: Rename typedef to type alias 2023-08-21 14:02:34 -07:00
Noah Lev
062d247cd7 rustdoc: Rename clean items from typedef to type alias 2023-08-21 13:56:22 -07:00
bors
ef85656a10 Auto merge of #115074 - matthiaskrgr:rollup-au2i7k0, r=matthiaskrgr
Rollup of 3 pull requests

Successful merges:

 - #115044 (stable_mir: docs clarification)
 - #115054 (Fix syntax in E0191 explanation.)
 - #115067 (docs: add alias log1p to ln_1p)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-08-21 20:28:17 +00:00
Matthias Krüger
59d94a9294
Rollup merge of #115067 - notriddle:log1p, r=thomcc
docs: add alias log1p to ln_1p

This is what the function is called in several other languages:

* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log1p
* https://numpy.org/doc/stable/reference/generated/numpy.log1p.html
* https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/log1p-log1pf-log1pl2?view=msvc-170

It also confused people at URLO: https://users.rust-lang.org/t/64-bit-trigonometry/98599/27

Similar to:

* https://github.com/rust-lang/rust/pull/114971
* https://github.com/rust-lang/rust/pull/114977
2023-08-21 22:16:02 +02:00
Matthias Krüger
66726fdf56
Rollup merge of #115054 - waywardmonkeys:fix-syntax-in-e0191, r=compiler-errors
Fix syntax in E0191 explanation.

This trait needs `dyn` in modern Rust.

Fixes #115042.
2023-08-21 22:16:01 +02:00
Matthias Krüger
5a59e94513
Rollup merge of #115044 - RalfJung:smir, r=spastorino
stable_mir: docs clarification
2023-08-21 22:16:01 +02:00
Jubilee Young
89e6597dfe Reassign sparc-unknown-none-elf to tier 3
It should never have been moved to tier 2.
It is a new platform and the maintainer has agreed
to do tier 3 maintenance for it, not tier 2.
2023-08-21 13:14:12 -07:00
Esteban Küber
bf766cd31b Add test for #115019 2023-08-21 19:59:27 +00:00
Noah Lev
ea9e442222 rustdoc: Rename "Type Definition" to "Type Alias"
This matches the name used by the Rust Reference [1], which is also what
people usually call these items.

[1]: https://doc.rust-lang.org/reference/items/type-aliases.html
2023-08-21 12:53:39 -07:00
Michael Howell
88bd304a10 docs: add alias log1p to ln_1p
This is what the function is called in several other languages:

* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log1p
* https://numpy.org/doc/stable/reference/generated/numpy.log1p.html
* https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/log1p-log1pf-log1pl2?view=msvc-170

It also confused people at URLO: https://users.rust-lang.org/t/64-bit-trigonometry/98599/27
2023-08-21 10:45:47 -07:00
allaboutevemirolive
5dce0e66b9 Redefine the pluralize macro's arm 2023-08-21 13:31:58 -04:00
bors
fe5f591257 Auto merge of #115039 - jackh726:impl_compare_add_alias_obligations, r=aliemjay
Add projection obligations when comparing impl too

Fixes #115033

In the test, when we ask for WF obligations of `DatasetIter<'a, ArrayBase<D>>`, we get back two important obligations: `[<D as Data>::Elem -> ?1, ?1: 'a]`. If we don't add the projection obligation, `?1` remains unconstrained.

An alternative solution would be to use unnormalized obligations, where we only have one relevant obligation: `<D as Data>::Elem: 'a`. This would leave no inference vars unconstrained.
2023-08-21 13:10:15 +00:00
Bruce Mitchener
53245709f6 docs: Add example, reference link for type keyword.
Fixes #114281.
2023-08-21 20:00:43 +07:00
Christiaan Biesterbosch
dfbac25fba Fix table issues in platform support documentation 2023-08-21 14:25:57 +02:00
Ralf Jung
44cc3105b1 stable_mir: docs clarification 2023-08-21 13:55:17 +02:00
Bruce Mitchener
fd2982c0a7 Fix syntax in E0191 explanation.
This trait needs `dyn` in modern Rust.

Fixes #115042.
2023-08-21 18:45:51 +07:00