| Age | Commit message (Collapse) | Author | Lines |
|
[stable] Prepare Rust 1.84.1 point release
- [Fix ICE 132920 in duplicate-crate diagnostics.](https://github.com/rust-lang/rust/pull/133304/)
- [Fix errors for overlapping impls in incremental rebuilds.](https://github.com/rust-lang/rust/pull/133828/)
- [Fix slow compilation related to the next-generation trait solver.](https://github.com/rust-lang/rust/pull/135618/)
- [Fix debuginfo when LLVM's location discriminator value limit is exceeded.](https://github.com/rust-lang/rust/pull/135643/)
- Fixes for building Rust from source:
- [Only try to distribute `llvm-objcopy` if llvm tools are enabled.](https://github.com/rust-lang/rust/pull/134240/)
- [Add Profile Override for Non-Git Sources.](https://github.com/rust-lang/rust/pull/135433/)
- [Resolve symlinks of LLVM tool binaries before copying them.](https://github.com/rust-lang/rust/pull/135585/)
- [Make it possible to use ci-rustc on tarball sources.](https://github.com/rust-lang/rust/pull/135722/)
cc `@rust-lang/release`
r? ghost
|
|
|
|
Previously, bootstrap was using `Config::last_modified_commit` unconditionally to figure
the commit has to download precompiled rustc artifact from CI, which was leading builds to
fail on tarball sources as `Config::last_modified_commit` requires `git` to be present in the project
source. This change makes bootstrap to call `Config::last_modified_commit` only when it's running on
git-managed source and read `git-commit-hash` file otherwise.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
(cherry picked from commit 903cddb392bc9a5bc43194bcbb8b031f2fcc2c56)
|
|
with dummy spans instead of dropping them entirely
Revert most of #133194 (except the test and the comment fixes). Then refix
not emitting locations at all when the correct location discriminator value
exceeds LLVM's capacity.
(cherry picked from commit 45ef92731b637a60cbad7cecf5382361bbf40531)
|
|
(cherry picked from commit 0910173b3558b0ff7e9e160976618cbb55cb6149)
|
|
(cherry picked from commit 94bf8f04f402a2410ab85a6e6b9e542e3942b2a2)
|
|
(cherry picked from commit ebbcfd4e7721aaf3211f0e8d3d6e304400c80f78)
|
|
There is a chance that these tools are being installed from an external LLVM
and we have no control over them. If any of these tools use symlinks, they will
fail during tarball distribution. This change makes copying process to resolve
symlinks just before placing them into the destination path.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
(cherry picked from commit cde58dd5f781c3998d2421132854d2a833937e85)
|
|
(cherry picked from commit 7d806171d00f53a720e6784a878a98cbef5c3d4a)
|
|
(cherry picked from commit 4c6d793c66993a0f5455f35e73a1549d232c3ae5)
|
|
(cherry picked from commit 988f28d442d2e959897e43a239f67d42e0297990)
|
|
(cherry picked from commit 3f089971ffd41af9bfe2b362c1952b8e0809de9e)
|
|
This reverts commit 8a568d9f15453cbfe5d6f45fa5f5bb32e58b93ed.
(cherry picked from commit 764e3e264f69d8af9fa42d86ea36702584dcb36b)
|
|
(cherry picked from commit 91486607e3f89180f33c4b613a955eb293400571)
|
|
Prepare Rust 1.84.0 stable release
Included a backport of https://github.com/rust-lang/rust/issues/135034, and squashed the release notes.
r? `@ghost`
|
|
environment"
This reverts commit 33ac202904e7820268b71b3280a7d2590378e3b9.
|
|
This reverts commit 4454fa998c9da1f1eee1602c8e8cd2732505c104.
|
|
|
|
|
|
When `-Cstrip` was changed to use the bundled rust-objcopy instead of
/usr/bin/strip on OSX, strip-like arguments were preserved.
But strip and objcopy are, while being the same binary, different, they
have different defaults depending on which binary they are.
Notably, strip strips everything by default, and objcopy doesn't strip
anything by default.
Additionally, `-S` actually means `--strip-all`, so debuginfo stripped
everything and symbols didn't strip anything.
We now correctly pass `--strip-debug` and `--strip-all`.
|
|
[beta] backports
- Do not call `extern_crate` on current trait on crate mismatch errors #133585
- Correctly handle comments in attributes in doctests source code #134260
- Correctly document CTFE behavior of is_null and methods that call is_null. #134325
- Make sure we handle `backwards_incompatible_lint` drops appropriately in drop elaboration #134486
- Bump compiler `cc` to 1.2.5 #134505
- Handle `DropKind::ForLint` in coroutines correctly #134575
- docs: inline `std::ffi::c_str` types to `std::ffi` #134791
- docs: inline `alloc::ffi::c_str` types to `alloc::ffi` #134851
r? cuviper
|
|
(cherry picked from commit 11ad6ff3cb3cb3da0040541877c716ddc38ec388)
|
|
(cherry picked from commit fc8a541eaa4b6555d948c382b75677b0e17040fa)
|
|
Rustdoc has no way to show that an item is stable,
but only at a different path. `std::ffi::c_str::NulError` is
not stable, but `std::ffi::NulError` is.
To avoid marking these types as unstable when someone just
wants to follow a link from `CString`, inline them into their
stable paths.
(cherry picked from commit 40b0026a2f1c50e88909f49e8ef8c7ae074f5a9b)
|
|
(cherry picked from commit 42d1a4c48bd2c914f30fc6e97f9a1beda0c97729)
|
|
- `cc` 1.2.4 contains a fix to address [rustc uses wrong build tools
when compiling from MSVC
#133794](https://github.com/rust-lang/rust/issues/133794). See
<https://github.com/rust-lang/cc-rs/releases/tag/cc-v1.2.4>.
- `cc` 1.2.5 contains a fix to also check linking when testing if
certain compiler flags are supported, which fixed an issue that was
causing previous compiler `cc` bumps to fail. See
<https://github.com/rust-lang/cc-rs/releases/tag/cc-v1.2.5>.
Co-authored-by: David Lönnhager <david.l@mullvad.net>
(cherry picked from commit 3775d220af5a666b4239c9fdd1e0184d3df0c7a8)
|
|
(cherry picked from commit 6564403641afde8bf445914ec2996fe7219289ab)
|
|
(cherry picked from commit b5350610608b724a3f152ccd889a78f82860ed69)
|
|
(cherry picked from commit 5e079011eafbb1d5fc779c14c7a29d4a620574f9)
|
|
(cherry picked from commit 2e57394d8004b155c6f74ca4e2a1106dedfcccc4)
|
|
(cherry picked from commit e6efbb210b037b7e921eac6db5ec79d3c241e2b4)
|
|
The "panic in const if CTFE doesn't know the answer" behavior was discussed to be the desired behavior in #74939, and is currently how the function actually behaves.
I intentionally wrote this documentation to allow for the possibility that a panic might not occur even if the pointer is out of bounds, because of #133700 and other potential changes in the future.
(cherry picked from commit 93889172bc6fdb085bccf15e201a7c03d1bdc8e3)
|
|
(cherry picked from commit c367cc3ef5648d5695fdb795cc66edbff88b4ce9)
|
|
(cherry picked from commit 23839853425e8c0c80d0aadb32bf5b4ba1bdf64b)
|
|
(cherry picked from commit 9c4a61ff52a635ef96bd92a2ff1fad4a8bb2ce73)
|
|
(cherry picked from commit de16ed35a326041f619de882dfcead1d02623328)
|
|
(cherry picked from commit 998ff2f0cd2902e86178d35b01ba78fe4633f80b)
|
|
(cherry picked from commit e97e15dea55d61d68732bc030be1a44d8a51a1e9)
|
|
When we encounter an error caused by traits/types of different versions of the same crate, filter out the current crate when collecting spans to add to the context so we don't call `extern_crate` on the `DefId` of the current crate, which is meaningless and ICEs.
Produced output with this filter:
```
error[E0277]: the trait bound `foo::Struct: Trait` is not satisfied
--> y.rs:13:19
|
13 | check_trait::<foo::Struct>();
| ^^^^^^^^^^^ the trait `Trait` is not implemented for `foo::Struct`
|
note: there are multiple different versions of crate `foo` in the dependency graph
--> y.rs:7:1
|
4 | extern crate foo;
| ----------------- one version of crate `foo` is used here, as a direct dependency of the current crate
5 |
6 | pub struct Struct;
| ----------------- this type implements the required trait
7 | pub trait Trait {}
| ^^^^^^^^^^^^^^^ this is the required trait
|
::: x.rs:4:1
|
4 | pub struct Struct;
| ----------------- this type doesn't implement the required trait
5 | pub trait Trait {}
| --------------- this is the found trait
= note: two types coming from two different versions of the same crate are different types even if they look the same
= help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `check_trait`
--> y.rs:10:19
|
10 | fn check_trait<T: Trait>() {}
| ^^^^^ required by this bound in `check_trait`
```
Fix #133563.
(cherry picked from commit 8574f374e2cc27b53c8b81dc4031c59ca3035284)
|
|
[beta] Backport rust-lang/rust-analyzer#18711
rust-lang/rust-analyzer#18711
|
|
|
|
[beta] backports
* Update LLVM to 19.1.5 #133799
r? cuviper
|
|
(cherry picked from commit 605306efeff9b95f137e4f21bbdcf9038da68357)
|
|
[beta] Revert r-a completions breakage
As suggested by `@cuviper` in https://rust-lang.zulipchat.com/#narrow/channel/185405-t-compiler.2Frust-analyzer/topic/Completion.20IDs/near/484770216
Repeats the revert to `stable` https://github.com/rust-lang/rust/pull/133476 using https://patch-diff.githubusercontent.com/raw/rust-lang/rust/pull/133476.diff
cc `@BoxyUwU` `@workingjubilee`
|
|
[beta] bump stage0
bumps stage0 to stable 1.83.0
|
|
|
|
Repeats the revert to `stable` https://github.com/rust-lang/rust/pull/133476
using https://patch-diff.githubusercontent.com/raw/rust-lang/rust/pull/133476.diff
|
|
[beta] Prepare Rust 1.84.0
r? `@ghost`
|
|
|
|
This reverts commit 2316749ca954030afed6145342808a8c1ae29fac.
|