]> git.lizzy.rs Git - rust.git/log
rust.git
3 years agoAuto merge of #85252 - kulikjak:fix-solaris-CI, r=Mark-Simulacrum
bors [Wed, 26 May 2021 04:27:23 +0000 (04:27 +0000)]
Auto merge of #85252 - kulikjak:fix-solaris-CI, r=Mark-Simulacrum

Bring back `x86_64-sun-solaris` target to rustup

Change #82216 removed now deprecated target `x86_64-sun-solaris` from CI, thus making it no longer possible to use `$ rustup target add x86_64-sun-solaris` to install given target (see #85098 for details). Since there should be a period of time between the deprecation and removal, this PR brings it back (while keeping the new one as well).

Please, correct me if I am wrong; my assumption that these Docker scripts are being used to build artifacts later used by `rustup` might be incorrect.

Closes #85098.

3 years agoAuto merge of #85535 - dtolnay:weakdangle, r=kennytm
bors [Wed, 26 May 2021 01:17:02 +0000 (01:17 +0000)]
Auto merge of #85535 - dtolnay:weakdangle, r=kennytm

Weak's type parameter may dangle on drop

Way back in https://github.com/rust-lang/rust/commit/34076bc0c9fb9ee718e1cebc407547eef730a080, #\[may_dangle\] was added to Rc\<T\> and Arc\<T\>'s Drop impls. That appears to have been because a test added in #28929 used Arc and Rc with dangling references at drop time. However, Weak was not covered by that test, and therefore no #\[may_dangle\] was forced to be added at the time.

As far as dropping, Weak has *even less need* to interact with the T than Rc and Arc do. Roughly speaking #\[may_dangle\] describes generic parameters that the outer type's Drop impl does not interact with except by possibly dropping them; no other interaction (such as trait method calls on the generic type) is permissible. It's clear this applies to Rc's and Arc's drop impl, which sometimes drop T but otherwise do not interact with one. It applies *even more* to Weak. Dropping a Weak cannot ever cause T's drop impl to run. Either there are strong references still in existence, in which case better not drop the T. Or there are no strong references still in existence, in which case the T would already have been dropped previously by the drop of the last strong count.

3 years agoAuto merge of #85481 - lcnr:const-equate, r=matthewjasper
bors [Tue, 25 May 2021 13:53:48 +0000 (13:53 +0000)]
Auto merge of #85481 - lcnr:const-equate, r=matthewjasper

deal with `const_evaluatable_checked` in `ConstEquate`

Failing to evaluate two constants which do not contain inference variables should not result in ambiguity.

3 years agoAuto merge of #85664 - GuillaumeGomez:rollup-o7qgo8c, r=GuillaumeGomez
bors [Tue, 25 May 2021 11:12:47 +0000 (11:12 +0000)]
Auto merge of #85664 - GuillaumeGomez:rollup-o7qgo8c, r=GuillaumeGomez

Rollup of 6 pull requests

Successful merges:

 - #85361 (Use TargetTriple::from_path in rustdoc)
 - #85605 (Replace Local::new(1) with CAPTURE_STRUCT_LOCAL)
 - #85631 (Move keyword primitive css dom)
 - #85644 (Better English for documenting when to use unimplemented!())
 - #85650 (Add some backticks to the `rustc_middle::ty::adjustment::Adjustment` docs)
 - #85657 (Remove doubled braces in non_exhaustive structs’ documentation text.)

Failed merges:

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

3 years agoRollup merge of #85657 - kpreid:brackets, r=jyn514
Guillaume Gomez [Tue, 25 May 2021 11:05:17 +0000 (13:05 +0200)]
Rollup merge of #85657 - kpreid:brackets, r=jyn514

Remove doubled braces in non_exhaustive structs’ documentation text.

In commit 4b806878549990d2ad2aa3c265751d3d89947cdf (part of Rust 1.52.1) many calls to `write!(w,` were replaced with `w.write_str(`, but this one contained braces that were doubled to escape them when taken as a format string, and so changing the call without changing the text caused them to become doubled in the final HTML output.

I examined `print_item.rs` and the diff of that prior commit for any other occurrences of this mistake and I did not find any.

3 years agoRollup merge of #85650 - scottmcm:adjust-adjustment-docs, r=jyn514
Guillaume Gomez [Tue, 25 May 2021 11:05:16 +0000 (13:05 +0200)]
Rollup merge of #85650 - scottmcm:adjust-adjustment-docs, r=jyn514

Add some backticks to the `rustc_middle::ty::adjustment::Adjustment` docs

A few `[i32]`s are getting picked up as intra-doc links, rather than showing as slices, making the sentence quite confusing.

See https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/adjustment/struct.Adjustment.html

3 years agoRollup merge of #85644 - tialaramex:master, r=dtolnay
Guillaume Gomez [Tue, 25 May 2021 11:05:15 +0000 (13:05 +0200)]
Rollup merge of #85644 - tialaramex:master, r=dtolnay

Better English for documenting when to use unimplemented!()

I don't think "plan of using" is correct here. I considered "plan on using" but eventually decided "plan to use" is better.

3 years agoRollup merge of #85631 - GuillaumeGomez:move-keywrod-primitive-css-dom, r=jsha
Guillaume Gomez [Tue, 25 May 2021 11:05:14 +0000 (13:05 +0200)]
Rollup merge of #85631 - GuillaumeGomez:move-keywrod-primitive-css-dom, r=jsha

Move keyword primitive css dom

Fixes #85569.

r? ``@jsha``

3 years agoRollup merge of #85605 - ptrojahn:closure_struct, r=matthewjasper
Guillaume Gomez [Tue, 25 May 2021 11:05:14 +0000 (13:05 +0200)]
Rollup merge of #85605 - ptrojahn:closure_struct, r=matthewjasper

Replace Local::new(1) with CAPTURE_STRUCT_LOCAL

3 years agoRollup merge of #85361 - bjorn3:rustdoc_target_json_path_canonicalize, r=jyn514
Guillaume Gomez [Tue, 25 May 2021 11:05:09 +0000 (13:05 +0200)]
Rollup merge of #85361 - bjorn3:rustdoc_target_json_path_canonicalize, r=jyn514

Use TargetTriple::from_path in rustdoc

This fixes the problem reported in https://github.com/Rust-for-Linux/linux/pull/272 where rustdoc requires the absolute path of a target spec json instead of accepting a relative path like rustc.

3 years agoUpdate keyword GUI test
Guillaume Gomez [Mon, 24 May 2021 12:29:57 +0000 (14:29 +0200)]
Update keyword GUI test

3 years agoMove extra search result information for keywords and primitives from CSS to DOM
Guillaume Gomez [Mon, 24 May 2021 12:24:34 +0000 (14:24 +0200)]
Move extra search result information for keywords and primitives from CSS to DOM

3 years agoAuto merge of #85634 - RalfJung:miri, r=RalfJung
bors [Tue, 25 May 2021 08:31:56 +0000 (08:31 +0000)]
Auto merge of #85634 - RalfJung:miri, r=RalfJung

update Miri

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

3 years agoAuto merge of #84985 - pietroalbini:bootstrap-1.54, r=Mark-Simulacrum
bors [Tue, 25 May 2021 05:48:00 +0000 (05:48 +0000)]
Auto merge of #84985 - pietroalbini:bootstrap-1.54, r=Mark-Simulacrum

Bump bootstrap compiler to beta 1.53.0

This PR bumps the bootstrap compiler to version 1.53.0 beta, as part of our usual release process (this was supposed to be Wednesday's step, but creating the beta release took longer than expected).

The PR also includes the "Bootstrap: skip rustdoc fingerprint for building docs" commit, see the reasoning [on Zulip](https://zulip-archive.rust-lang.org/241545trelease/88450153betabootstrap.html).

r? `@Mark-Simulacrum`

3 years agoRemove doubled braces in non_exhaustive structs’ documentation text.
Kevin Reid [Tue, 25 May 2021 03:47:10 +0000 (20:47 -0700)]
Remove doubled braces in non_exhaustive structs’ documentation text.

In commit 4b806878549990d2ad2aa3c265751d3d89947cdf (part of Rust 1.52.1)
many calls to `write!(w,` were replaced with `w.write_str(`, but this
one contained braces that were doubled to escape them when taken as a
format string, and so changing the call without changing the text caused
them to become doubled in the final HTML output.

I examined `print_item.rs` and the diff of that prior commit for any
other occurrences of this mistake and I did not find any.

3 years agoAuto merge of #85273 - LeSeulArtichaut:thir-query, r=nikomatsakis
bors [Tue, 25 May 2021 03:07:03 +0000 (03:07 +0000)]
Auto merge of #85273 - LeSeulArtichaut:thir-query, r=nikomatsakis

Make building THIR a stealable query

This PR creates a stealable `thir_body` query so that we can build the THIR only once for THIR unsafeck and MIR build.

Blocked on #83842.
r? `@nikomatsakis`

3 years agoAdd some backticks to the `rustc_middle::ty::adjustment::Adjustment` docs
Scott McMurray [Mon, 24 May 2021 22:47:28 +0000 (15:47 -0700)]
Add some backticks to the `rustc_middle::ty::adjustment::Adjustment` docs

A few `[i32]`s are getting picked up as intra-doc links, rather than showing as slices, making the sentence quite confusing.

3 years agoBetter English for documenting when to use unimplemented!()
Nick Lamb [Mon, 24 May 2021 21:21:05 +0000 (22:21 +0100)]
Better English for documenting when to use unimplemented!()

3 years agoAuto merge of #85639 - GuillaumeGomez:rollup-modinsi, r=GuillaumeGomez
bors [Mon, 24 May 2021 18:05:35 +0000 (18:05 +0000)]
Auto merge of #85639 - GuillaumeGomez:rollup-modinsi, r=GuillaumeGomez

Rollup of 4 pull requests

Successful merges:

 - #85271 (Fix indentation in move keyword documentation)
 - #85551 (Fix search results display)
 - #85621 (Restore sans-serif font for module items.)
 - #85628 (Replace more "NULL" with "null")

Failed merges:

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

3 years agoAdd test
bjorn3 [Sun, 16 May 2021 16:41:54 +0000 (18:41 +0200)]
Add test

3 years agoUse parse_target_triple in rustdoc
bjorn3 [Sun, 16 May 2021 13:35:10 +0000 (15:35 +0200)]
Use parse_target_triple in rustdoc

3 years agoRollup merge of #85628 - LeSeulArtichaut:thir-null-lowercase, r=estebank
Guillaume Gomez [Mon, 24 May 2021 16:53:37 +0000 (18:53 +0200)]
Rollup merge of #85628 - LeSeulArtichaut:thir-null-lowercase, r=estebank

Replace more "NULL" with "null"

Error messages in THIR unsafeck still contain "NULL", make them lowercase to be consistent with MIR unsafeck (cc #84842).

3 years agoRollup merge of #85621 - jsha:serif-in-table, r=GuillaumeGomez
Guillaume Gomez [Mon, 24 May 2021 16:53:36 +0000 (18:53 +0200)]
Rollup merge of #85621 - jsha:serif-in-table, r=GuillaumeGomez

Restore sans-serif font for module items.

This was broke in #84462 by modifying a style that applied both to
searches and to module items (and other tables).

Fixes #85616.
Fixes https://github.com/rust-lang/rust/issues/85545.

r? `@camelid`

3 years agoRollup merge of #85551 - GuillaumeGomez:fix-search-result-overflow, r=jsha
Guillaume Gomez [Mon, 24 May 2021 16:53:35 +0000 (18:53 +0200)]
Rollup merge of #85551 - GuillaumeGomez:fix-search-result-overflow, r=jsha

Fix search results display

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

cc `@dns2utf8`

r? `@jsha`

3 years agoRollup merge of #85271 - th1000s:master, r=JohnTitor
Guillaume Gomez [Mon, 24 May 2021 16:53:29 +0000 (18:53 +0200)]
Rollup merge of #85271 - th1000s:master, r=JohnTitor

Fix indentation in move keyword documentation

See (at the time of writing) the second example code block with `create_fn()` at https://doc.rust-lang.org/std/keyword.move.html

3 years agoAuto merge of #85596 - scottmcm:more-on-unimplemented, r=estebank
bors [Mon, 24 May 2021 15:24:38 +0000 (15:24 +0000)]
Auto merge of #85596 - scottmcm:more-on-unimplemented, r=estebank

Extend `rustc_on_implemented` to improve more `?` error messages

`_Self` could match the generic definition; this adds that functionality for matching the generic definition of type parameters too.

Your advice welcome on the wording of all these messages, and which things belong in the message/label/note.

r? `@estebank`

3 years agoupdate Miri
Ralf Jung [Mon, 24 May 2021 15:17:45 +0000 (17:17 +0200)]
update Miri

3 years agoremove cfg(bootstrap)
Pietro Albini [Thu, 6 May 2021 11:36:07 +0000 (13:36 +0200)]
remove cfg(bootstrap)

3 years agoBootstrap: skip rustdoc fingerprint for building docs.
Eric Huss [Tue, 27 Apr 2021 22:08:14 +0000 (15:08 -0700)]
Bootstrap: skip rustdoc fingerprint for building docs.

3 years agobootstrap from 1.54.0 beta
Pietro Albini [Thu, 6 May 2021 07:58:32 +0000 (09:58 +0200)]
bootstrap from 1.54.0 beta

3 years agoMake `thir_check_unsafety` itself responsible for checking gate
LeSeulArtichaut [Mon, 24 May 2021 13:09:33 +0000 (15:09 +0200)]
Make `thir_check_unsafety` itself responsible for checking gate

3 years agoAdd comments about stealing THIR in `mir_build`
LeSeulArtichaut [Mon, 24 May 2021 13:05:20 +0000 (15:05 +0200)]
Add comments about stealing THIR in `mir_build`

3 years agoAuto merge of #85626 - lnicola:rust-analyzer-2021-05-24, r=jonas-schievink
bors [Mon, 24 May 2021 12:43:47 +0000 (12:43 +0000)]
Auto merge of #85626 - lnicola:rust-analyzer-2021-05-24, r=jonas-schievink

:arrow_up: rust-analyzer

3 years agoReplace more "NULL" with "null"
LeSeulArtichaut [Mon, 24 May 2021 10:59:33 +0000 (12:59 +0200)]
Replace more "NULL" with "null"

3 years ago:arrow_up: rust-analyzer
Laurențiu Nicola [Mon, 24 May 2021 10:56:09 +0000 (13:56 +0300)]
:arrow_up: rust-analyzer

3 years agoAuto merge of #85601 - klensy:padint-example-fix, r=dtolnay
bors [Mon, 24 May 2021 10:02:55 +0000 (10:02 +0000)]
Auto merge of #85601 - klensy:padint-example-fix, r=dtolnay

fix pad_integral example

pad_integral's parameter `is_nonnegative - whether the original integer was either positive or zero`, but in example it checked as `self.nb > 0`, so it previously printed `-0` for `format!("{}", Foo::new(0)`, what is wrong.

3 years agoAuto merge of #85515 - jedel1043:fix-85480, r=petrochenkov
bors [Mon, 24 May 2021 05:39:07 +0000 (05:39 +0000)]
Auto merge of #85515 - jedel1043:fix-85480, r=petrochenkov

Fix ast pretty printing for anonymous types

Fixes #85480.

3 years agoRestore sans-serif font for module items.
Jacob Hoffman-Andrews [Mon, 24 May 2021 05:28:19 +0000 (22:28 -0700)]
Restore sans-serif font for module items.

This was broke in #84462 by modifying a style that applied both to
searches and to module items (and other tables).

3 years agoAdd test for pretty printing anonymous types
jedel1043 [Fri, 21 May 2021 16:45:55 +0000 (11:45 -0500)]
Add test for pretty printing anonymous types

3 years agoFix ast expanded printing for anonymous types
jedel1043 [Thu, 20 May 2021 15:06:11 +0000 (10:06 -0500)]
Fix ast expanded printing for anonymous types

3 years agoAuto merge of #85611 - rust-lang:array-mod-doc, r=jyn514
bors [Mon, 24 May 2021 01:53:53 +0000 (01:53 +0000)]
Auto merge of #85611 - rust-lang:array-mod-doc, r=jyn514

Update std::array module doc header

This line is very outdated; not only are traits implemented on arrays of arbitrary length, those implementations are documented on the primitive type, not in this module.

3 years agoAuto merge of #85606 - 12101111:link_modifiers, r=petrochenkov
bors [Sun, 23 May 2021 22:06:53 +0000 (22:06 +0000)]
Auto merge of #85606 - 12101111:link_modifiers, r=petrochenkov

remove native_link_modifiers from the list of incomplete features.

These features are fully implemented and not incomplete.
The tracking issue of them is https://github.com/rust-lang/rust/issues/81490.
The implement PR is https://github.com/rust-lang/rust/pull/83507.

3 years agoUpdate std::array module doc header
bstrie [Sun, 23 May 2021 19:55:27 +0000 (15:55 -0400)]
Update std::array module doc header

Extremely outdated; not only are traits implemented on arrays of arbitrary length, those implementations are documented on the primitive type, not in this module.

3 years agoAuto merge of #85554 - 12101111:fix-dedup-native-libs, r=petrochenkov
bors [Sun, 23 May 2021 19:42:19 +0000 (19:42 +0000)]
Auto merge of #85554 - 12101111:fix-dedup-native-libs, r=petrochenkov

native lib: defer the duplicate check after relevant_lib check.

https://github.com/rust-lang/rust/pull/84794 break code using conditional-compilation with `#[link]` attributes.

```rust
#[cfg(target_env = "musl")]
cfg_if::cfg_if! {
    if #[cfg(any(target_feature = "crt-static", feature = "llvm-libunwind"))] {
        #[link(name = "unwind", kind = "static", modifiers = "-bundle")]
        extern "C" {}
    } else {
        #[link(name = "unwind", cfg(feature = "system-llvm-libunwind"))]
        #[link(name = "gcc_s", cfg(not(feature = "system-llvm-libunwind")))]
        extern "C" {}
    }
}

```

3 years agoAuto merge of #85602 - GuillaumeGomez:donthide-inherent-impls, r=jsha
bors [Sun, 23 May 2021 17:13:51 +0000 (17:13 +0000)]
Auto merge of #85602 - GuillaumeGomez:donthide-inherent-impls, r=jsha

Don't hide inherent implementations by default

Fixes a regression introduced in #85575.

r? `@jsha`

3 years agoremove native_link_modifiers from the list of incomplete features.
12101111 [Sun, 23 May 2021 16:36:55 +0000 (00:36 +0800)]
remove native_link_modifiers from the list of incomplete features.

3 years agoReplace Local::new(1) with CAPTURE_STRUCT_LOCAL
Paul Trojahn [Fri, 21 May 2021 19:01:27 +0000 (21:01 +0200)]
Replace Local::new(1) with CAPTURE_STRUCT_LOCAL

3 years agoAuto merge of #85479 - Stupremee:render-Self_as-type-casts, r=CraftSpider
bors [Sun, 23 May 2021 14:54:14 +0000 (14:54 +0000)]
Auto merge of #85479 - Stupremee:render-Self_as-type-casts, r=CraftSpider

rustdoc: render `<Self as X>::Y` type casts properly

Rustdoc didn't render any `<Self as X>` casts which causes invalid code inside the documentation. This is fixed by this PR by checking if the target type `X` is different from `Self`, and if so, it will render a typecast.

Resolves #85454

3 years agoExtend rustc_on_implemented to improve a ?-on-ControlFlow error message
Scott McMurray [Sun, 23 May 2021 06:47:12 +0000 (23:47 -0700)]
Extend rustc_on_implemented to improve a ?-on-ControlFlow error message

3 years agoDon't hide inherent implementations by default
Guillaume Gomez [Sun, 23 May 2021 12:33:50 +0000 (14:33 +0200)]
Don't hide inherent implementations by default

3 years agoAuto merge of #85599 - RalfJung:immut-allocs, r=oli-obk
bors [Sun, 23 May 2021 12:05:47 +0000 (12:05 +0000)]
Auto merge of #85599 - RalfJung:immut-allocs, r=oli-obk

fix deallocation of immutable allocations

As part of https://github.com/rust-lang/miri/pull/1814, I realized that we currently allow deallocating immutable allocations. This PR fixes that, and also adds some new APIs that are required to still support the existing Miri backtrace support.

r? `@oli-obk`

3 years agofix pad_integral example
klensy [Sun, 23 May 2021 11:48:16 +0000 (14:48 +0300)]
fix pad_integral example

3 years agofix comment
Ralf Jung [Sun, 23 May 2021 11:26:51 +0000 (13:26 +0200)]
fix comment

Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
3 years ago(try to) fix cranelift
Ralf Jung [Sun, 23 May 2021 10:44:05 +0000 (12:44 +0200)]
(try to) fix cranelift

3 years agosupport creating mutable allocations from byte slices
Ralf Jung [Sun, 23 May 2021 10:03:39 +0000 (12:03 +0200)]
support creating mutable allocations from byte slices

3 years agoavoid redundant immutability check
Ralf Jung [Sun, 23 May 2021 09:55:31 +0000 (11:55 +0200)]
avoid redundant immutability check

3 years agoreject deallocation of read-only allocations
Ralf Jung [Sun, 23 May 2021 09:53:23 +0000 (11:53 +0200)]
reject deallocation of read-only allocations

3 years agoAuto merge of #85490 - CDirkx:fix-vxworks, r=dtolnay
bors [Sun, 23 May 2021 05:40:18 +0000 (05:40 +0000)]
Auto merge of #85490 - CDirkx:fix-vxworks, r=dtolnay

Fix `vxworks`

Some PRs made the `vxworks` target not build anymore. This PR fixes that:

- #82973: copy `ExitStatusError` implementation from `unix`.
- #84716: no `libc::chroot` available on `vxworks`, so for now don't implement `os::unix::fs::chroot`.

3 years agoAuto merge of #85594 - Dylan-DPC:rollup-40sgqgg, r=Dylan-DPC
bors [Sun, 23 May 2021 03:24:27 +0000 (03:24 +0000)]
Auto merge of #85594 - Dylan-DPC:rollup-40sgqgg, r=Dylan-DPC

Rollup of 6 pull requests

Successful merges:

 - #84758 (MSVC: Avoid using jmp stubs for dll function imports)
 - #85288 (add an example to explain std::io::Read::read returning 0 in some cases)
 - #85334 (Add doc aliases to `unit`)
 - #85525 (Fix my mailmap entry)
 - #85571 (Remove surplus prepend LinkedList fn)
 - #85575 (Fix auto-hide for implementations and implementors.)

Failed merges:

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

3 years agoRollup merge of #85575 - jsha:fix-toggle-settings, r=GuillaumeGomez
Dylan DPC [Sun, 23 May 2021 01:23:47 +0000 (03:23 +0200)]
Rollup merge of #85575 - jsha:fix-toggle-settings, r=GuillaumeGomez

Fix auto-hide for implementations and implementors.

This sets their toggles to be closed in the HTML (matching the default
setting), and opens them if the setting indicates to do so.

This distinguishes between implementations and implementors based on
being descendants of certain named elements.

Demo https://hoffman-andrews.com/rust/fix-toggle-settings/std/io/trait.Read.html#implementors
and https://hoffman-andrews.com/rust/fix-toggle-settings/std/string/struct.String.html#trait-implementations

Fixes #85411

r? `@GuillaumeGomez`

3 years agoRollup merge of #85571 - workingjubilee:reverse-prepend, r=Amanieu
Dylan DPC [Sun, 23 May 2021 01:23:47 +0000 (03:23 +0200)]
Rollup merge of #85571 - workingjubilee:reverse-prepend, r=Amanieu

Remove surplus prepend LinkedList fn

This nightly library feature provides a function on `LinkedList<T>` that is identical to `fn append` with a reversed order of arguments. Observe this diff against the `fn append` doctest:
```diff
+#![feature(linked_list_prepend)]
 fn main() {
    use std::collections::LinkedList;
    let mut list1 = LinkedList::new();
    list1.push_back('a');
    let mut list2 = LinkedList::new();
    list2.push_back('b');
    list2.push_back('c');

-    list1.append(&mut list2);
+    list2.prepend(&mut list1);

-    let mut iter = list1.iter();
+    let mut iter = list2.iter();
     assert_eq!(iter.next(), Some(&'a'));
     assert_eq!(iter.next(), Some(&'b'));
     assert_eq!(iter.next(), Some(&'c'));
     assert!(iter.next().is_none());

-    assert!(list2.is_empty());
+    assert!(list1.is_empty());
 }
```

As this has received no obvious request to stabilize it, nor does it have a tracking issue, and was left on nightly and the consensus seems to have been to deprecate it in this pre-1.0 PR in 2014, https://github.com/rust-lang/rust/pull/20356, I propose simply removing it.

3 years agoRollup merge of #85525 - camelid:fix-mailmap, r=Mark-Simulacrum
Dylan DPC [Sun, 23 May 2021 01:23:46 +0000 (03:23 +0200)]
Rollup merge of #85525 - camelid:fix-mailmap, r=Mark-Simulacrum

Fix my mailmap entry

r? `@Mark-Simulacrum`

3 years agoRollup merge of #85334 - r00ster91:patch-8, r=dtolnay
Dylan DPC [Sun, 23 May 2021 01:23:41 +0000 (03:23 +0200)]
Rollup merge of #85334 - r00ster91:patch-8, r=dtolnay

Add doc aliases to `unit`

I think it makes sense for `unit` to have the same doc aliases as `tuple` does.

3 years agoRollup merge of #85288 - Geal:clarify-std-io-read, r=dtolnay
Dylan DPC [Sun, 23 May 2021 01:23:37 +0000 (03:23 +0200)]
Rollup merge of #85288 - Geal:clarify-std-io-read, r=dtolnay

add an example to explain std::io::Read::read returning 0 in some cases

I have always found the explanation about `Read::read` returning 0 to indicate EOF but not indefinitely, so here's more info using Linux as example. I can also add example code if necessary

3 years agoRollup merge of #84758 - ChrisDenton:dllimport, r=dtolnay
Dylan DPC [Sun, 23 May 2021 01:23:34 +0000 (03:23 +0200)]
Rollup merge of #84758 - ChrisDenton:dllimport, r=dtolnay

MSVC: Avoid using jmp stubs for dll function imports

Windows import libraries contain two symbols for every function: `__imp_FunctionName` and `FunctionName` (where `FunctionName` is the name of the function to be imported).

`__imp_FunctionName` contains the address of the imported function. This will be filled in by the Windows executable loader at runtime. `FunctionName` contains a jmp stub that simply jumps to the address given by `__imp_FunctionName`. E.g. it's a function that solely contains a single jmp instruction:

```asm
jmp __imp_FunctionName
```

When using an external DLL function in Rust, by default the linker will link to FunctionName, causing a bit of indirection at runtime. In Microsoft's C++ it's possible to instead tell it to insert calls to the address in `__imp_FunctionName` by using the  `__declspec(dllimport)` attribute. In Rust it's possible to get effectively the same behaviour using the `#[link]` attribute on `extern` blocks.

----

The second commit also merges multiple `extern` blocks into one block. This is because otherwise Rust will currently create duplicate linker arguments for each block. In this case having duplicates shouldn't matter much other than the noise when displaying the linker command.

3 years agoAuto merge of #81601 - jyn514:llvm-on-demand, r=Mark-Simulacrum
bors [Sun, 23 May 2021 00:40:48 +0000 (00:40 +0000)]
Auto merge of #81601 - jyn514:llvm-on-demand, r=Mark-Simulacrum

Move llvm submodule updates to rustbuild

This enables better caching, since LLVM is only updated when needed, not
whenever x.py is run. Before, bootstrap.py had to use heuristics to
guess if LLVM would be needed, and updated the module more often than
necessary as a result.

This syncs the LLVM submodule only just before building the compiler, so
people working on the standard library never have to worry about it.
Example output:

```
Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Updating submodule src/llvm-project
Submodule 'src/llvm-project' (https://github.com/rust-lang/llvm-project.git) registered for path 'src/llvm-project'
Submodule path 'src/llvm-project': checked out 'f9a8d70b6e0365ac2172ca6b7f1de0341297458d'
```

Implements https://github.com/rust-lang/rust/issues/76653#issuecomment-770265169. This could be easily extended to other submodules, like `rust-by-example` and `rustc-dev-guide`, which aren't needed for cargo's workspace resolution.

3 years agoMove llvm submodule updates to rustbuild
Joshua Nelson [Sun, 31 Jan 2021 17:20:30 +0000 (12:20 -0500)]
Move llvm submodule updates to rustbuild

This enables better caching, since LLVM is only updated when needed, not
whenever x.py is run. Before, bootstrap.py had to use heuristics to
guess if LLVM would be needed, and updated the module more often than
necessary as a result.

This syncs the LLVM submodule only just before building the compiler, so
people working on the standard library never have to worry about it.
Example output:

```
Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Updating submodule src/llvm-project
Submodule 'src/llvm-project' (https://github.com/rust-lang/llvm-project.git) registered for path 'src/llvm-project'
Submodule path 'src/llvm-project': checked out 'f9a8d70b6e0365ac2172ca6b7f1de0341297458d'
```

- Don't try to update the LLVM submodule when using system LLVM

  Previously, this would try to update LLVM unconditionally. Now the
  submodule is only initialized if `llvm-config` is not set.

- Don't update LLVM submodule in dry runs

  This prevents the following test failures:

  ```
  running 17 tests
  fatal: invalid gitfile format: /checkout/src/llvm-project/.git
  test builder::tests::defaults::build_cross_compile ... FAILED

  ---- builder::tests::defaults::build_default stdout ----
  thread 'main' panicked at 'command did not execute successfully: "git" "rev-parse" "HEAD"
  expected success, got: exit code: 128', src/build_helper/lib.rs:139:9
  ```

- Try running git without --progress if it fails the first time

  This avoids having to do version detection to see if --progress is
  supported or not.

- Don't try to update submodules when the source repository isn't managed by git

- Update LLVM submodules that have already been checked out

- Only check for whether the submodule should be updated in lib.rs; update
it unconditionally in native.rs

3 years agoAuto merge of #85578 - RalfJung:alloc-mem-extra, r=oli-obk
bors [Sat, 22 May 2021 20:04:52 +0000 (20:04 +0000)]
Auto merge of #85578 - RalfJung:alloc-mem-extra, r=oli-obk

CTFE get_alloc_extra_mut: also provide ref to MemoryExtra

This would let me use mutable references in more places in Stacked Borrows, avoiding some `RefCell` overhead. :)

r? `@oli-obk`

3 years agoAuto merge of #85078 - RalfJung:const_fn_unsize, r=oli-obk
bors [Sat, 22 May 2021 17:38:15 +0000 (17:38 +0000)]
Auto merge of #85078 - RalfJung:const_fn_unsize, r=oli-obk

stabilize const_fn_unsize

I will post a stabilization report and ask for FCP in https://github.com/rust-lang/rust/issues/64992.
This PR is for the implementation side of stabilization.

r? `@oli-obk`
Fixes https://github.com/rust-lang/rust/issues/64992

3 years agoFix auto-hide for implementations and implementors.
Jacob Hoffman-Andrews [Sat, 22 May 2021 04:24:03 +0000 (21:24 -0700)]
Fix auto-hide for implementations and implementors.

This sets their toggles to be closed in the HTML (matching the default
setting), and opens them if the setting indicates to do so.

This distinguishes between implementations and implementors based on
being descendants of certain named elements.

3 years agoAuto merge of #85514 - GuillaumeGomez:upgrade-minifer-version, r=Mark-Simulacrum
bors [Sat, 22 May 2021 14:54:45 +0000 (14:54 +0000)]
Auto merge of #85514 - GuillaumeGomez:upgrade-minifer-version, r=Mark-Simulacrum

Upgrade minifier version to 0.0.41

3 years agoAdd test for search result resize width
Guillaume Gomez [Sat, 22 May 2021 14:41:26 +0000 (16:41 +0200)]
Add test for search result resize width

3 years agoHandle typeck errors properly
LeSeulArtichaut [Sat, 22 May 2021 13:40:26 +0000 (15:40 +0200)]
Handle typeck errors properly

3 years agoRemove some errors in UI tests
LeSeulArtichaut [Sat, 15 May 2021 09:42:10 +0000 (11:42 +0200)]
Remove some errors in UI tests
As we now need to run THIR unsafeck before MIR build, errors in unsafeck can cause the compilation to be aborted earlier.

3 years agoMake the THIR unsafeck use the `thir_body` query
LeSeulArtichaut [Thu, 13 May 2021 21:36:19 +0000 (23:36 +0200)]
Make the THIR unsafeck use the `thir_body` query

3 years agoSet desc class on the div instead of the span to simplify CSS
Guillaume Gomez [Sat, 22 May 2021 14:05:20 +0000 (16:05 +0200)]
Set desc class on the div instead of the span to simplify CSS

3 years agoMobile description width: 100%
Stefan Schindler [Sat, 22 May 2021 09:05:17 +0000 (09:05 +0000)]
Mobile description width: 100%

3 years agoAdd padding to mobile layout and fix width issue on both
Stefan Schindler [Sat, 22 May 2021 09:01:33 +0000 (09:01 +0000)]
Add padding to mobile layout and fix width issue on both

3 years agoPrepar to remove deep nesting
Stefan Schindler [Fri, 21 May 2021 21:54:49 +0000 (23:54 +0200)]
Prepar to remove deep nesting

3 years agoImplement staggered mobile layout
Stefan Schindler [Fri, 21 May 2021 21:11:06 +0000 (23:11 +0200)]
Implement staggered mobile layout

3 years agoCTFE get_alloc_extra_mut: also provide ref to MemoryExtra
Ralf Jung [Sat, 22 May 2021 13:20:20 +0000 (15:20 +0200)]
CTFE get_alloc_extra_mut: also provide ref to MemoryExtra

3 years agoMake THIR building a stealable query
LeSeulArtichaut [Sun, 4 Apr 2021 16:42:17 +0000 (18:42 +0200)]
Make THIR building a stealable query

3 years agoMove THIR structure definitions to `rustc_middle`
LeSeulArtichaut [Sun, 4 Apr 2021 00:24:02 +0000 (02:24 +0200)]
Move THIR structure definitions to `rustc_middle`

3 years agoAdd test for deduplicate native lib in linking
12101111 [Sat, 22 May 2021 11:51:26 +0000 (19:51 +0800)]
Add test for deduplicate native lib in linking

3 years agoAuto merge of #85557 - hyd-dev:abi, r=RalfJung
bors [Sat, 22 May 2021 11:49:13 +0000 (11:49 +0000)]
Auto merge of #85557 - hyd-dev:abi, r=RalfJung

Add `rustc_mir::interpret::Machine::enforce_abi()`

To specify whether to skip the [ABI](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_target/abi/enum.Abi.html) check for function calls, so that we could test unwinding out of a `extern "C"` function call in Miri by disabling the check: https://github.com/rust-lang/miri/pull/1776#discussion_r633698382

I have tested that it works in Miri with a `-Zmiri-disable-abi-check` command line flag.

3 years agoAdd default implementation for `enforce_abi()`
hyd-dev [Sat, 22 May 2021 11:04:28 +0000 (19:04 +0800)]
Add default implementation for `enforce_abi()`

3 years agoconst_fn_unsize: check that the cast behaves correctly
Ralf Jung [Sat, 8 May 2021 14:36:39 +0000 (16:36 +0200)]
const_fn_unsize: check that the cast behaves correctly

3 years agostabilize const_fn_unsize
Ralf Jung [Sat, 8 May 2021 14:28:29 +0000 (16:28 +0200)]
stabilize const_fn_unsize

3 years agoAuto merge of #85568 - GuillaumeGomez:search-result-extra-info, r=jsha
bors [Sat, 22 May 2021 07:07:38 +0000 (07:07 +0000)]
Auto merge of #85568 - GuillaumeGomez:search-result-extra-info, r=jsha

Search result extra info

The CSS rule was not updated when we updated the search result, this fixes it:

Before:
![Screenshot from 2021-05-21 22-56-17](https://user-images.githubusercontent.com/3050060/119197314-d31a4e80-ba87-11eb-863a-bc0b3de3bfb2.png)

After:
![Screenshot from 2021-05-21 22-54-53](https://user-images.githubusercontent.com/3050060/119197227-b54ce980-ba87-11eb-9f43-c10803ca1b90.png)

r? `@jsha`

3 years agoAuto merge of #85531 - luqmana:flip-gc, r=petrochenkov
bors [Sat, 22 May 2021 04:42:36 +0000 (04:42 +0000)]
Auto merge of #85531 - luqmana:flip-gc, r=petrochenkov

Swap TargetOptions::linker_is_gnu default from false to true and update targets as appropriate.

#85274 gated the `--gc-sections` flag on targets that specified `linker_is_gnu` to stop us from passing it to incompatible linkers. But that had the unintended effect of the flag no longer being passed on targets for which it is valid and hence caused a regression in binary size. Given that most `ld`-style linkers are GNU compatible, this change flips our default for `linker_is_gnu` from false to true. That also means updating the targets that relied on the previous default:
* Apple
* Illumos
* L4Re (not sure about this one)
* MSVC
* NvtPtx
* Solaris

Fixes #85519

3 years agoAuto merge of #85505 - flip1995:clippyup, r=Manishearth
bors [Sat, 22 May 2021 01:59:57 +0000 (01:59 +0000)]
Auto merge of #85505 - flip1995:clippyup, r=Manishearth

Update Clippy

Bi-weekly Clippy update

r? `@Manishearth`

3 years agoRemove surplus prepend LinkedList fn
Jubilee Young [Fri, 21 May 2021 23:05:07 +0000 (16:05 -0700)]
Remove surplus prepend LinkedList fn

Originally committed to Rust in 2013, it is identical to append
with a reversed order of arguments.

3 years agoAdd test for search result keyword extra info
Guillaume Gomez [Fri, 21 May 2021 20:53:50 +0000 (22:53 +0200)]
Add test for search result keyword extra info

3 years agoFix display for primitive and keyword extra info
Guillaume Gomez [Fri, 21 May 2021 20:53:31 +0000 (22:53 +0200)]
Fix display for primitive and keyword extra info

3 years agoAuto merge of #85560 - GuillaumeGomez:rollup-8k90rc7, r=GuillaumeGomez
bors [Fri, 21 May 2021 19:17:22 +0000 (19:17 +0000)]
Auto merge of #85560 - GuillaumeGomez:rollup-8k90rc7, r=GuillaumeGomez

Rollup of 4 pull requests

Successful merges:

 - #85506 (Reset "focusedByTab" field when doing another search)
 - #85548 (Remove dead toggle JS code)
 - #85550 (facepalm: operator precedence fail on my part.)
 - #85555 (Check for more things in THIR unsafeck)

Failed merges:

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

3 years agoRollup merge of #85555 - LeSeulArtichaut:thir-unsafeck, r=nikomatsakis
Guillaume Gomez [Fri, 21 May 2021 18:06:09 +0000 (20:06 +0200)]
Rollup merge of #85555 - LeSeulArtichaut:thir-unsafeck, r=nikomatsakis

Check for more things in THIR unsafeck

Reunion of #85306, #85381 and #85419 with conflicts resolved.
r? `@nikomatsakis`

3 years agoRollup merge of #85550 - pnkfelix:fix-max-rss-division-on-mac, r=Mark-Simulacrum
Guillaume Gomez [Fri, 21 May 2021 18:06:08 +0000 (20:06 +0200)]
Rollup merge of #85550 - pnkfelix:fix-max-rss-division-on-mac, r=Mark-Simulacrum

facepalm: operator precedence fail on my part.

This bug was only visible on mac. Also, print_step_rusage is a relatively new
internal feature, that is not heavily used, and has no tests. All of these
factors contributed to how this went uncaught this long. Thanks to Josh Triplett
for pointing it out!

3 years agoRollup merge of #85548 - GuillaumeGomez:remove-dead-js, r=jsha
Guillaume Gomez [Fri, 21 May 2021 18:06:07 +0000 (20:06 +0200)]
Rollup merge of #85548 - GuillaumeGomez:remove-dead-js, r=jsha

Remove dead toggle JS code

Explanations on how I got there: I randomly saw `adjustToggle` while browsing through code, checked where it was called, put a `debugger;` instruction in it and checked on all pages while playing with settings and toggles. The breakpoint was never triggered. I then looked at `collapseNonInherent` (its grand-parent). In there, the breakpoint was triggered so I look at what was being done and in fact... nothing. So I simply removed it all, re-ran the tests and play with the UI. Everything is working as expected.

Better double check in case I forgot to check a case though, but if nothing has been left out, then it's a great cleanup once again. :)

r? ``@jsha``

3 years agoRollup merge of #85506 - GuillaumeGomez:reset-focusedByTab, r=jsha
Guillaume Gomez [Fri, 21 May 2021 18:06:06 +0000 (20:06 +0200)]
Rollup merge of #85506 - GuillaumeGomez:reset-focusedByTab, r=jsha

Reset "focusedByTab" field when doing another search

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

The problem was simply that we forget to reset the `focusedByTab` field, which was still referring to removed DOM elements.

r? ``@jsha``

3 years agoCheck for use of mutable/extern statics in THIR unsafeck
LeSeulArtichaut [Sun, 16 May 2021 22:29:54 +0000 (00:29 +0200)]
Check for use of mutable/extern statics in THIR unsafeck