| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com>
|
|
|
|
|
|
This can append if within the same module a `#[macro_export] macro_rules!`
is declared but also a reexport of itself producing two export of the same
macro in the same module. In that case we only want to document it once.
|
|
|
|
This reverts commit 7a62f29f3171767090949778ce0f161e930706b9.
|
|
|
|
suitable .config file.
|
|
|
|
|
|
Crosstool-ng 1.22 used by those docker dist builds only allows one
mirror for all downloads.
|
|
(cherry picked from commit d7f8a0678012f8a0fa24609345b777af4a6a4c04)
|
|
(cherry picked from commit 8965b5884af5ce22a6b4f263f19f262052d818a5)
|
|
(cherry picked from commit b7cc99142ad0cfe47e2fe9f7a82eaf5b672c0573)
|
|
(cherry picked from commit a1e2c0f0ad9e787b5ff2844112fc2324511adf34)
|
|
(cherry picked from commit 529c35331bb3817e90b5099c33d97aa55ad2713d)
|
|
|
|
The wrapper is installed as `ld` and `ld64` in the `lib\rustlib\<host_target>\bin\gcc-ld`
directory and its sole purpose is to invoke `rust-lld` in the parent directory with
the correct flavor.
(cherry picked from commit 6162fc0c809477529875b294a8ce37ff8737356c)
|
|
(cherry picked from commit d0e2b607de9b3b4e7e6495206a21847201248144)
|
|
(cherry picked from commit 87010206adc0123277d7e355893e83551a28814f)
|
|
Fix Windows LLVM issue.
GitHub image 20210928.2 added LLVM 12.0.1 to the stock image. However, the `lldb` executable doesn't work, it fails with:
> C:/Program Files/LLVM/bin/lldb.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
We probably don't want to start testing LLDB on windows anyways (at least not without intent).
The hacky solution for now is to just delete the system LLVM.
|
|
The backport of #89277 needed adjustment due to another
PR (#87915 - Use smaller spans for some structured suggestions)
causing the test to have a slightly different span.
|
|
r=Mark-Simulacrum
Update Let's Encrypt ROOT CA certificate in dist-(i686|x86_64)-linux docker images
The DST Root CA X3 used by Let's Encrypt has expired ([Let's Encrypt announcement](https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/)). This patch installs the new root certificate (ISRG Root X1) and disables the old one. Disabling the old one is necessary because otherwise curl still fails to download from servers with Let's Encrypt certs even though they are cross-signed.
Fixes #89484.
|
|
Use the correct edition for syntax highlighting doctests
Previously it would unconditionally use edition 2015, which was incorrect.
Helps with https://github.com/rust-lang/rust/issues/89135 in that you can now override the doctest to be 2018 edition instead of being forced to fix the error. This doesn't resolve any of the deeper problems that rustdoc disagrees with most rust users on what a code block is.
cc `@Mark-Simulacrum`
|
|
[rfc 2229] Drop fully captured upvars in the same order as the regular drop code
Currently, with the new 2021 edition, if a closure captures all of the
fields of an upvar, we'll drop those fields in the order they are used
within the closure instead of the normal drop order (the definition
order of the fields in the type).
This changes that so we sort the captured fields by the definition order
which causes them to drop in that same order as well.
Fixes rust-lang/project-rfc-2229#42
r? `@nikomatsakis`
|
|
2229: Mark insignificant dtor in stdlib
I looked at all public [stdlib Drop implementations](https://doc.rust-lang.org/stable/std/ops/trait.Drop.html#implementors) and categorized them into Insigificant/Maybe/Significant Drop.
Reasons are noted here: https://docs.google.com/spreadsheets/d/19edb9r5lo2UqMrCOVjV0fwcSdS-R7qvKNL76q7tO8VA/edit#gid=1838773501
One thing missing from this PR is tagging HashMap as insigificant destructor as that needs some discussion.
r? `@Mark-Simulacrum`
cc `@nikomatsakis`
|
|
Don't use projection cache or candidate cache in intercrate mode
Fixes #88969
It appears that *just* disabling the evaluation cache (in #88994)
leads to other issues involving intercrate mode caching. I suspect
that since we now always end up performing the full evaluation
in intercrate mode, we end up 'polluting' the candidate and projection
caches with results that depend on being in intercrate mode in some way.
Previously, we might have hit a cached evaluation (stored during
non-intercrate mode), and skipped doing this extra work in
intercrate mode.
The whole situation with intercrate mode caching is turning into
a mess. Ideally, we would remove intercrate mode entirely - however,
this might require waiting on Chalk.
|
|
Fix linting when trailing macro expands to a trailing semi
When a macro is used in the trailing expression position of a block
(e.g. `fn foo() { my_macro!() }`), we currently parse it as an
expression, rather than a statement. As a result, we ended up
using the `NodeId` of the containing statement as our `lint_node_id`,
even though we don't normally do this for macro calls.
If such a macro expands to an expression with a `#[cfg]` attribute,
then the trailing statement can get removed entirely. This lead to
an ICE, since we were usng the `NodeId` of the expression to emit
a lint.
Ths commit makes us skip updating `lint_node_id` when handling
a macro in trailing expression position. This will cause us to
lint at the closest parent of the macro call.
|
|
Disable RemoveZsts in generators to avoid query cycles
Querying layout of a generator requires its optimized MIR. Thus
computing layout during MIR optimization of a generator might create a
query cycle. Disable RemoveZsts in generators to avoid the issue
(similar approach is used in ConstProp transform already).
Fixes #88972.
|
|
|
|
(cherry picked from commit 66a19876f73427ecf849dfd90d5618c70c54bd6f)
|
|
(cherry picked from commit 6070763bc7c864a1b70867cef968da5629e821cd)
|
|
(cherry picked from commit 35370a7ba3d52bfe2a6121a0eaccbc240ed9559d)
|
|
This reverts commit 059b68dd677808e14e560802d235ad40beeba71e.
Note that this was manually adjusted to retain some of the refactoring
introduced by commit 059b68dd677808e14e560802d235ad40beeba71e, so that it could
likewise retain the correction introduced in commit
5b4bc05fa57be19bb5962f4b7c0f165e194e3151
(cherry picked from commit 91feb76d133952825e3eb32bed399ec6e4bd9219)
|
|
This reverts commit 8a1dd6918bb686a960ad5ced46a16b5b59668464.
(cherry picked from commit f38ec9ca34c501b2a618178a14fe2a3c9979ddc9)
|
|
This reverts commit d59b1f1ef4be692b67c1ff1b49ec810fd59452cf.
(cherry picked from commit 2041fb1a2dc06237ffb63eff8fcfaa93abf67952)
|
|
This reverts commit 64acb7d92135ae722dfce89f0ca9d7cf6576de66.
(cherry picked from commit 2691a399762149f2c8dd5c3ffc44244b98c37099)
|
|
(cherry picked from commit 214eef043501a896ec375fc831891cf1dc09219f)
|
|
Each pattern in a match arm has its own copy of the match guard in MIR,
with its own temporary, so it has to be dropped before the the guards
are joined to the single copy of the arm.
(cherry picked from commit ad7f109bfaa92f84bbcdbb5d376edfd8e66812fd)
|
|
See https://github.com/rust-lang/rust/issues/88545 for more details
(cherry picked from commit 0bf16af5f331079b1da91849ed0eb083b9b8e5f2)
|
|
The arguments to `span_suggestion` were in the wrong order, so the error
looked like this:
error[E0783]: trait objects without an explicit `dyn` are deprecated
--> src/test/ui/editions/dyn-trait-sugg-2021.rs:10:5
|
10 | Foo::hi(123);
| ^^^ help: <dyn Foo>: `use `dyn``
Now the error looks like this, as expected:
error[E0783]: trait objects without an explicit `dyn` are deprecated
--> src/test/ui/editions/dyn-trait-sugg-2021.rs:10:5
|
10 | Foo::hi(123);
| ^^^ help: use `dyn`: `<dyn Foo>`
This issue was only present in the 2021 error; the 2018 lint was
correct.
(cherry picked from commit 486d79f1243135564931c574ce5cfff946ee3867)
|
|
this also renders them as `_`, which rustdoc previously did not.
(cherry picked from commit 4a915ac8d9f33567b77b23e90557f92860aa6db4)
|
|
backport-of: nothing
|
|
|
|
|
|
|
|
|
|
backport-of: none
|