Commit graph

122347 commits

Author SHA1 Message Date
ivmarkov
459eaa6bae STD support for the ESP-IDF framework 2021-08-10 12:09:00 +03:00
Yuki Okushi
b7b0291147
Move some UI tests to more suitable subdirs 2021-08-10 13:34:05 +09:00
Stefan Schindler
c17628be18 Implement summarised results 2021-08-10 00:47:05 +02:00
Stefan Schindler
eca2b3be3d Switch to stderr for failed tests 2021-08-10 00:47:05 +02:00
Stefan Schindler
e540aa08b4 Review by @GuillaumeGomez
Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com>
2021-08-10 00:47:04 +02:00
Stefan Schindler
40136e1969 Implement sequential execution 2021-08-10 00:47:04 +02:00
Stefan Schindler
a1daa8d984 Capture outputs and show output when debug flag is passed 2021-08-10 00:47:04 +02:00
Stefan Schindler
c4eefc3be1 Run rustdoc-gui tests in parallel 2021-08-10 00:47:04 +02:00
Esteban Kuber
f3021b3561 Use smaller spans when suggesting method call disambiguation 2021-08-09 16:47:09 +00:00
Mara Bos
260f9b9e91 Link to edition guide instead of issues for 2021 lints. 2021-08-09 17:45:01 +02:00
Jan-Erik Rediger
cb19d836dc Proper table row formatting in platform support
Also moves the target into alphabetical order
2021-08-09 16:09:47 +02:00
bors
ae90dcf020 Auto merge of #85357 - Andy-Python-Programmer:aarch64_uefi_target, r=petrochenkov
Add `aarch64-unknown-uefi` target

This pull request adds the `aarch64-unknown-uefi` target.
2021-08-09 13:16:51 +00:00
Laurențiu Nicola
d323063aa4 ⬆️ rust-analyzer 2021-08-09 13:48:36 +03:00
Esteban Küber
f93cbedade Do not ICE on HIR based WF check when involving lifetimes
Fix #87549.
2021-08-09 07:01:35 +00:00
unknown
44b81fb8fc
Add the aarch64-unknown-uefi target
* This commit adds the aarch64-unknown-uefi target and also adds it into
the supported targets list under the tier-3 target table.
* Uses the small code model by default

Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2021-08-09 16:49:04 +10:00
bors
7b52ad00cb Auto merge of #87619 - 12101111:fix-native_link_modifiers_bundle, r=petrochenkov
Fix feature gate checking of static-nobundle and native_link_modifiers

Feature native_link_modifiers_bundle don't need feature static-nobundle
to work.

Also check the feature gates when using native_link_modifiers from command line options. Current nighly compiler don't check those feature gate.

```
> touch lib.rs
> rustc +nightly lib.rs -L /usr/lib -l static:+bundle=dl --crate-type=rlib
> rustc +nightly lib.rs -L /usr/lib -l dylib:+as-needed=dl --crate-type=dylib -Ctarget-feature=-crt-static
> rustc +nightly lib.rs -L /usr/lib -l static:-bundle=dl --crate-type=rlib
error[E0658]: kind="static-nobundle" is unstable
  |
  = note: see issue #37403 <https://github.com/rust-lang/rust/issues/37403> for more information
  = help: add `#![feature(static_nobundle)]` to the crate attributes to enable

error: aborting due to previous error

For more information about this error, try `rustc --explain E0658`.

```

First found this in https://github.com/rust-lang/rust/pull/85600#discussion_r676612655
2021-08-09 03:59:30 +00:00
Klim Tsoutsman
a4af0401dd
Clarify terms in rustdoc book
Change code blocks to Rust
2021-08-09 08:50:46 +10:00
bors
74a11c63f8 Auto merge of #87235 - poliorcetics:issue-87217-fn-quali-order, r=nagisa
Improve diagnostics for wrongly ordered keywords in function declaration

Fix #87217

`@rustbot` label A-diagnostics T-compiler
2021-08-08 22:28:01 +00:00
bors
442e627bee Auto merge of #87697 - GuillaumeGomez:add-e0784, r=nagisa
Assign E0784 error code for union expression errors
2021-08-08 16:40:14 +00:00
12101111
d935a14f4c
Fix feature gate checking of static-nobundle and native_link_modifiers 2021-08-08 21:46:40 +08:00
bors
4e886d6876 Auto merge of #87827 - eddyb:wrapperless-mem-replace, r=m-ou-se
Avoid using the `copy_nonoverlapping` wrapper through `mem::replace`.

This is a much simpler way to achieve the pre-#86003 behavior of `mem::replace` not needing dynamically-sized `memcpy`s (at least before inlining), than re-doing #81238 (which needs #86699 or something similar).

I didn't notice it until recently, but `ptr::write` already explicitly avoided using the wrapper, while `ptr::read` just called the wrapper (and was the reason for us observing any behavior change from #86003 in Rust-GPU).

<hr/>

The codegen test I've added fails without the change to `core::ptr::read` like this (ignore the `v0` mangling, I was using a worktree with it turned on by default, for this):
```llvm
       13: ; core::intrinsics::copy_nonoverlapping::<u8>
       14: ; Function Attrs: inlinehint nonlazybind uwtable
       15: define internal void `@_RINvNtCscK5tvALCJol_4core10intrinsics19copy_nonoverlappinghECsaS4X3EinRE8_25mem_replace_direct_memcpy(i8*` %src, i8* %dst, i64 %count) unnamed_addr #0 {
       16: start:
       17:  %0 = mul i64 %count, 1
       18:  call void `@llvm.memcpy.p0i8.p0i8.i64(i8*` align 1 %dst, i8* align 1 %src, i64 %0, i1 false)
not:17      !~~~~~~~~~~~~~~~~~~~~~                                                                     error: no match expected
       19:  ret void
       20: }
```
With the `core::ptr::read` change, `core::intrinsics::copy_nonoverlapping` doesn't get instantiated and the test passes.

<hr/>

r? `@m-ou-se` cc `@nagisa` (codegen test) `@oli-obk` / `@RalfJung` (miri diagnostic changes)
2021-08-08 13:11:09 +00:00
Klim Tsoutsman
9a784894ee
Fix heading colours in Ayu theme
Closes #87828 
The issue seems to stem from #87210 where code headings were changed from a heading containing code to a heading with the `code-header` class. `rustdoc.css` was updated, but `ayu.css` was missed.
2021-08-08 22:35:51 +10:00
Eduard-Mihai Burtescu
a1d014bdbc Avoid using the copy_nonoverlapping wrapper through mem::replace. 2021-08-08 13:59:36 +03:00
bors
c4c2986c49 Auto merge of #87815 - BoxyUwU:cec-generics-of-ice, r=eddyb
encode `generics_of` for fields and ty params

Fixes #87674
Fixes #87603

ICE was caused by calling `generics_of` on a `DefId` without any `generics_of` results. This was happening when we call `generics_of` on parent `DefId`s of an unevaluated const when we evaluate it.

r? `@lcnr`
2021-08-08 07:15:48 +00:00
bors
798446fe06 Auto merge of #87772 - npmccallum:naked_abi, r=Amanieu
Move naked function ABI check to its own lint

This check was previously categorized under the lint named
`UNSUPPORTED_NAKED_FUNCTIONS`. That lint is future incompatible and will
be turned into an error in a future release. However, as defined in the
Constrained Naked Functions RFC, this check should only be a warning.
This is because it is possible for a naked function to be implemented in
such a way that it does not break even the undefined ABI. For example, a
`jmp` to a `const`.

Therefore, this patch defines a new lint named
`UNDEFINED_NAKED_FUNCTION_ABI` which contains just this single check.
Unlike `UNSUPPORTED_NAKED_FUNCTIONS`, `UNDEFINED_NAKED_FUNCTION_ABI`
will not be converted to an error in the future.

rust-lang/rfcs#2774
rust-lang/rfcs#2972
2021-08-07 23:24:15 +00:00
Ellen
5f61271e38 fmt 2021-08-07 20:55:37 +01:00
bors
399ab4601b Auto merge of #87851 - JohnTitor:rollup-odvmr47, r=JohnTitor
Rollup of 6 pull requests

Successful merges:

 - #87744 (Add x.py option to --force-rerun compiletest tests)
 - #87789 (Make vec-shrink-panic test compatible with v0 mangling)
 - #87833 (Fix typo -- "The" -> "They")
 - #87834 (Fix small typo)
 - #87838 (Document that fs::read_dir skips . and ..)
 - #87842 (Fix intra doc link in hidden doc of Iterator::__iterator_get_unchecked)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-08-07 18:21:04 +00:00
Ellen
d777cb84e2 less opt in const param of 2021-08-07 18:44:36 +01:00
Yuki Okushi
08f56b7bdb
Rollup merge of #87834 - camelid:span-typo, r=CraftSpider
Fix small typo

The closing backtick was outside the closing bracket,
which is why the intra-doc link wasn't working.
2021-08-08 01:13:43 +09:00
Yuki Okushi
6ddbf9ec3c
Rollup merge of #87833 - m-rsha:patch-1, r=Aaron1011
Fix typo -- "The" -> "They"

I was reading through source code to try to learn more about the language and how to make the most of it when I ran into a small typo, so I figured I'd offer up a fix! I'm pretty new now, but hopefully I can offer up more substantial changes later. :D
2021-08-08 01:13:43 +09:00
Yuki Okushi
dc78ee0c80
Rollup merge of #87789 - tmiasko:panik, r=Mark-Simulacrum
Make vec-shrink-panic test compatible with v0 mangling

The v0 mangling includes an instantiating crate in a mangled name,
which crates a false positive match for a word `panic`.
Rename crate name / test case to avoid the issue.
2021-08-08 01:13:42 +09:00
Yuki Okushi
e862383dbb
Rollup merge of #87744 - Smittyvb:xpy-test-force-rerun, r=Mark-Simulacrum
Add x.py option to --force-rerun compiletest tests

This can be used like `./x.py test src/test/ui/abi/ --force-rerun`, and is useful when verifying that newly blessed tests don't change between test runs (such as due to being dependent on the current time or memory layout or RNG), without needing to change the test file or find the right file in `build` to remove.
2021-08-08 01:13:41 +09:00
Ralf Jung
a22aa61d5f update Miri 2021-08-07 17:46:45 +02:00
Erik Desjardins
585e4ae6e1 Run RemoveZsts at mir-opt-level=1
Effectively reverts commit 6960bc9696.
2021-08-07 11:20:46 -04:00
Noah Lev
35122393fd
Fix small typo
The closing backtick was outside the closing bracket,
which is why the intra-doc link wasn't working.
2021-08-06 16:43:55 -07:00
await Marsha
4235d93434
Fix typo -- "The" -> "They"
I was reading through source code to try to learn more about the language and how to make the most of it when I ran into a small typo, so I figured I'd offer up a fix! I'm pretty new now, but hopefully I can offer up more substantial changes later. :D
2021-08-06 18:40:36 -05:00
bors
5ad7389bdd Auto merge of #87822 - JohnTitor:rollup-kxojii0, r=JohnTitor
Rollup of 7 pull requests

Successful merges:

 - #85807 (bootstrap: Disable initial-exec TLS model on powerpc)
 - #87761 (Fix overflow in rustc happening if the `err_count()` is reduced in a stage.)
 - #87775 (Add hint for unresolved associated trait items if the trait has a single item)
 - #87779 (Remove special case for statement `NodeId` assignment)
 - #87787 (Use `C-unwind` ABI for `__rust_start_panic` in `panic_abort`)
 - #87809 (Fix typo in the ptr documentation)
 - #87816 (Sync rustc_codegen_cranelift)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-08-06 18:23:14 +00:00
Yuki Okushi
8ee962f88e
Rollup merge of #87775 - Kobzol:single-associated-item-hint, r=oli-obk
Add hint for unresolved associated trait items if the trait has a single item

This PR introduces a special-cased hint for unresolved trait items paths. It is shown if:
- the path was not resolved to any existing trait item
- and no existing trait item's name was reasonably close with regard to edit distance
- and the trait only has a single item in the corresponding namespace

I didn't know where I should put tests, therefore so far I just managed to bless two existing tests. I would be glad for hints where should tests for a hint like this be created, how should they be named (with reference to the original issue?) and what tests should I create (is it enough to test it just for types? or create separate tests also for functions and constants?).

It could also be turned into a machine applicable suggestion I suppose.

This is my first `rustc` PR, so please go easy on me :)

Fixes: https://github.com/rust-lang/rust/issues/87638
2021-08-07 01:46:33 +09:00
Yuki Okushi
352ad62265
Rollup merge of #85807 - glaubitz:powerpc-disable-initial-exec-tls, r=Mark-Simulacrum
bootstrap: Disable initial-exec TLS model on powerpc

Fixes #81334.
2021-08-07 01:46:31 +09:00
bors
24380a60f5 Auto merge of #87784 - rusticstuff:bootstrap_config_overflow_checks, r=Mark-Simulacrum
Add config.toml options for enabling overflow checks in rustc and std

The names are `overflow-checks` and `overflow-checks-std` and they work similar to  `debug-assertions` and `debug-assertions-std`. Once added we can measure how big the performance impact actually is and maybe enable them for CI tests.

Enabling them already makes two ui tests fail:
```
failures:
    [ui] ui/parser/item-free-const-no-body-semantic-fail.rs
    [ui] ui/parser/item-free-static-no-body-semantic-fail.rs
```
(See #84219 and #87761.)
2021-08-06 15:35:01 +00:00
Ellen
8ff2eccd80 uwu 2021-08-06 15:17:21 +01:00
Ellen
9a5fc0d911 *sprinkles some dust everywhere* 2021-08-06 14:55:53 +01:00
Ellen
2c004a2287 encode generics_of of fields and ty params 2021-08-06 14:20:59 +01:00
Hans Kratz
2f7095389d Add options for enabling overflow checks in rustc and std.
The options are `overflow-checks` and `overflow-checks-std`
defaulting to false.
2021-08-06 14:03:53 +02:00
Oli Scherer
7af445dc15 bless some nll tests 2021-08-06 11:06:34 +00:00
Oli Scherer
092e9ccd8a Point to the value instead of the TAIT declaration for obligation failures 2021-08-06 10:42:05 +00:00
Oli Scherer
20371b94f6 Immediately register new opaque types in the global list.
Previously each opaque type instantiation would create new inference vars, even for the same opaque type/substs combination. Now there is a global map in InferCtxt that gets filled whenever we encounter an opaque type.
2021-08-06 10:39:08 +00:00
Oli Scherer
c091b5c84c Remove a useless feature gateing
With the planned lazy TAIT system, this will not really make sense anymore anyway.
2021-08-06 10:25:18 +00:00
Jakub Beránek
d0d4947775
Add hint for unresolved associated trait items if the trait has a single item 2021-08-06 11:31:52 +02:00
bors
1f94abcda6 Auto merge of #87808 - JohnTitor:rollup-qqp79xs, r=JohnTitor
Rollup of 9 pull requests

Successful merges:

 - #87561 (thread set_name haiku implementation.)
 - #87715 (Add long error explanation for E0625)
 - #87727 (explicit_generic_args_with_impl_trait: fix min expected number of generics)
 - #87742 (Validate FFI-safety warnings on naked functions)
 - #87756 (Add back -Zno-profiler-runtime)
 - #87759 (Re-use std::sealed::Sealed in os/linux/process.)
 - #87760 (Promote `aarch64-apple-ios-sim` to Tier 2)
 - #87770 (permit drop impls with generic constants in where clauses)
 - #87780 (alloc: Use intra doc links for the reserve function)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-08-06 05:02:35 +00:00