| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- rust-lang/rust#142098 (Implement `int_format_into` feature)
- rust-lang/rust#143567 (Point to correct argument in Func Call when Self type fails trait bound)
- rust-lang/rust#143570 (consider nested cases for duplicate RPITIT)
- rust-lang/rust#143571 (remove `has_nested` from builtin candidates)
- rust-lang/rust#143586 (Fix wrong cache event query key)
- rust-lang/rust#143589 (const-block-as-pattern: do not refer to no-longer-existing nightly feature)
- rust-lang/rust#143608 (Fix in std::String docs)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Fix in std::String docs
This PR removes the word “else” from the sentence ('something else similar') in the String documentation to improve clarity.
Fixes rust-lang/rust#143579.
|
|
const-block-as-pattern: do not refer to no-longer-existing nightly feature
Surely everyone who used this nightly feature has fixed their code by now. So let's not confused people on stable that try to use a const block as a pattern by referring to some dead nightly feature.
|
|
Fix wrong cache event query key
I messed this up in https://github.com/rust-lang/rust/pull/142978. It is only an issue if someone enables the event manually, which almost no-one does, so it could take a while before we found it :D Luckily I noticed it while re-reading the PR.
r? `@oli-obk`
|
|
remove `has_nested` from builtin candidates
it's no longer necessary
r? types
|
|
consider nested cases for duplicate RPITIT
Fixes rust-lang/rust#143560
r? `@compiler-errors`
cc `@Zoxc`
|
|
Point to correct argument in Func Call when Self type fails trait bound
Fixes rust-lang/rust#143336
When a trait bound fails due to the `Self` type parameter, `adjust_fulfillment_errors` now correctly points to the corresponding function argument instead of incorrectly pointing to other arguments. This is because `Call` may also need to handle the `self` parameter, and not just `MethodCall` needs to be handled, as rust-lang/rust#143336.
r? compiler
|
|
Implement `int_format_into` feature
I took over rust-lang/rust#138338 with `@madhav-madhusoodanan's` approval.
Since https://github.com/rust-lang/rust/pull/136264, a lot of changes happened so I made use of them to reduce the number of changes.
ACP approval: https://github.com/rust-lang/libs-team/issues/546#issuecomment-2707244569
## Associated Issue
- https://github.com/rust-lang/rust/issues/138215
r? `@hanna-kruppe`
|
|
Add `ty_span` query
r? `@compiler-errors`
fixes diagnostic regressions from https://github.com/rust-lang/rust/pull/142030
Also uses the new query in `check_const_item`
|
|
Rollup of 9 pull requests
Successful merges:
- rust-lang/rust#132469 (Do not suggest borrow that is already there in fully-qualified call)
- rust-lang/rust#143340 (awhile -> a while where appropriate)
- rust-lang/rust#143438 (Fix the link in `rustdoc.md`)
- rust-lang/rust#143539 (Regression tests for repr ICEs)
- rust-lang/rust#143566 (Fix `x86_64-unknown-netbsd` platform support page)
- rust-lang/rust#143572 (Remove unused allow attrs)
- rust-lang/rust#143583 (`loop_match`: fix 'no terminator on block')
- rust-lang/rust#143584 (make `Machine::load_mir` infallible)
- rust-lang/rust#143591 (Fix missing words in future tracking issue)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
Fix missing words in future tracking issue
Fixes some sloppy editing on my part.
|
|
make `Machine::load_mir` infallible
it doesn't need to return an `InterpResult`.
|
|
`loop_match`: fix 'no terminator on block'
tracking issue: https://github.com/rust-lang/rust/issues/132306
fixes https://github.com/rust-lang/rust/issues/143435
The argument `block` was not properly closed on an error path.
r? `@bjorn3`
|
|
Remove unused allow attrs
These `#[allow]`s seem to be unused (at least according to `x check`, didn't run `x test` locally). Let's clean them up! 🧹
|
|
Fix `x86_64-unknown-netbsd` platform support page
`x86_64-unknown-netbsd` is Tier 2 with host tools, not Tier 3.
cc `@he32.`
r? compiler
|
|
Regression tests for repr ICEs
Closes https://github.com/rust-lang/rust/issues/143522
Closes https://github.com/rust-lang/rust/issues/143479
Both issues were already (accidentally) fixed in this PR, but having the tests is nice https://github.com/rust-lang/rust/pull/143252
r? `@jdonszelmann`
|
|
Fix the link in `rustdoc.md`
|
|
awhile -> a while where appropriate
|
|
Do not suggest borrow that is already there in fully-qualified call
When encountering `&str::from("value")` do not suggest `&&str::from("value")`.
Fix #132041.
|
|
Allow custom default address spaces and parse `p-` specifications in the datalayout string
Some targets, such as CHERI, use as default an address space different from the "normal" default address space `0` (in the case of CHERI, [200 is used](https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-877.pdf)). Currently, `rustc` does not allow to specify custom address spaces and does not take into consideration [`p-` specifications in the datalayout string](https://llvm.org/docs/LangRef.html#langref-datalayout).
This patch tries to mitigate these problems by allowing targets to define a custom default address space (while keeping the default value to address space `0`) and adding the code to parse the `p-` specifications in `rustc_abi`. The main changes are that `TargetDataLayout` now uses functions to refer to pointer-related informations, instead of having specific fields for the size and alignment of pointers in the default address space; furthermore, the two `pointer_size` and `pointer_align` fields in `TargetDataLayout` are replaced with an `FxHashMap` that holds info for all the possible address spaces, as parsed by the `p-` specifications.
The potential performance drawbacks of not having ad-hoc fields for the default address space will be tested in this PR's CI run.
r? workingjubilee
|
|
Fixes some sloppy editing on my part.
|
|
|
|
Rollup of 11 pull requests
Successful merges:
- rust-lang/rust#143130 (doc(std): clarify `NonZero<T>` usage limitation in doc comment)
- rust-lang/rust#143415 (Get rid of build-powerpc64le-toolchain.sh)
- rust-lang/rust#143464 (Make tests/ui/abi/debug.rs cross-compile)
- rust-lang/rust#143482 (Fix short linker error output)
- rust-lang/rust#143524 (Move `stable_mir` back to its own crate)
- rust-lang/rust#143528 (interpret: rename StackPopCleanup)
- rust-lang/rust#143551 (Dont resolve instance of root in `mir_callgraph_cyclic`)
- rust-lang/rust#143558 (mbe: Refactors and function extractions in `compile_declarative_macro`)
- rust-lang/rust#143563 (std: fix typo in `std::path`)
- rust-lang/rust#143564 (compiler: Deduplicate `must_emit_unwind_tables()` comments)
- rust-lang/rust#143577 (Disable download-rustc for library profile)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
|
|
it doesn't need to return an `InterpResult`.
|
|
|
|
Disable download-rustc for library profile
The feature currently completely breaks `x test` (rust-lang/rust#142505), core functionality of working on the standard library. Therefore it should be disabled by default until that problem is fixed. Having to wait a bit longer for a check build is nothing compared to completely mysterious build errors when testing.
|
|
compiler: Deduplicate `must_emit_unwind_tables()` comments
There is one comment at a call site and one comment in the function definition that are mostly saying the same thing. Fold the call site comment into the function definition comment to reduce duplication.
There are actually some inaccuracies in the comments but let's deduplicate before we address the inaccuracies.
|
|
std: fix typo in `std::path`
I noticed that most of the document used `'` instead of `’`, so I adjusted it.
r? `@ibraheemdev`
|
|
mbe: Refactors and function extractions in `compile_declarative_macro`
These refactors help pave the way for parsing attribute rules.
Best reviewed commit-by-commit.
- **mbe: Simplify compile_declarative_macro by factoring out some variables**
- **mbe: Factor out a helper to check an LHS**
- **mbe: Factor out a helper to check for unexpected EOF in definition**
- **mbe: Clarify comments about error handling in `compile_declarative_macro`**
|
|
Dont resolve instance of root in `mir_callgraph_cyclic`
`Instance::try_resolve` on a default trait body method will always fail, since it's still possible to further substitute. This leads to a cycle, since in `tests/mir-opt/inline_default_trait_body.rs`, both `Trait::a` and `Trait::b` need to consider the other to be cyclical, but since we couldn't resolve a body, we'd just consider *nothing* to be cyclical.
The root instance we care about when computing `mir_callgraph_cyclic` is trivial to compute (it's just `InstanceKind::Item`), so just replace it with a call to `Instance::new_raw`.
r? `@cjgillot` `@oli-obk`
Fixes rust-lang/rust#143534
|
|
interpret: rename StackPopCleanup
The name `StackPopCleanup` stopped making sense a long time ago IMO -- in the common case, it has nothing to do with "cleanup", and everything with where the program should jump next. If we didn't have unwinding this would be just the return block, but given that we do have unwinding I figured maybe "continuation" would be a good name. This comes up in [continuation-passing style](https://en.wikipedia.org/wiki/Continuation-passing_style) and refers to where the program will *continue* when a function is done. So from a PL perspective it is the most fitting term I think -- but it may be too jargony.
r? `@oli-obk` what do you think?
|
|
Move `stable_mir` back to its own crate
We've finished the refactoring, so it's time to move `stable_mir` back to its own crate.
This PR leaves an empty `rustc_internal` module with a `#[deprecated]` attribute in `rustc_smir` to let users know we just moved it to `stable_mir`.
|
|
Fix short linker error output
This PR does 2 things:
- It removes the braces when there's a single element. This is required since brace expansion (at least in bash and zsh) only triggers if there's at least 2 elements.
- It removes the extra `.rlib` suffixes of the elements. See https://github.com/rust-lang/rust/pull/135707#discussion_r2185212393 for context.
Running `cargo +stage1 build` on the following program:
```rust
unsafe extern "C" {
fn foo() -> libc::c_int;
}
fn main() {
let x = unsafe { foo() } as u32;
// println!("{}", data_encoding::BASE64.encode(&x.to_le_bytes()));
}
```
Gives the following diff before and after the PR:
```diff
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib}.rlib
+/tmp/foo/target/debug/deps/liblibc-faf416f178830595.rlib
```
Running on the same program with the additional dependency, we get the following diff:
```diff
-/tmp/foo/target/debug/deps/{liblibc-faf416f178830595.rlib,libdata_encoding-84bb5aadfa9e8839.rlib}.rlib
+/tmp/foo/target/debug/deps/{liblibc-faf416f178830595,libdata_encoding-84bb5aadfa9e8839}.rlib
```
|
|
Make tests/ui/abi/debug.rs cross-compile
Resumption of rust-lang/rust#141979, making the test cross-compile.
|
|
Get rid of build-powerpc64le-toolchain.sh
The dist-powerpc64le-linux-musl runner never actually used the toolchain that the script produced, it instead used the one from crosstool-ng.
The dist-powerpc64le-linux-gnu runner did use it, from what I can tell mainly to get a glibc 2.17 version with ppc64le support backported. Since crosstool-ng has the necessary patches, we can just use crosstool-ng to get an appropriate toolchain. While at it, use kernel 3.10 headers since that's the version documented in platform support for this target.
try-job: dist-powerpc64le-linux-gnu
try-job: dist-powerpc64le-linux-musl
|
|
doc(std): clarify `NonZero<T>` usage limitation in doc comment
Closes rust-lang/rust#142966
This PR clarifies `NonZero<T>` usage limitation in doc comment and fixes a typo.
r? libs
|
|
|
|
Only work-steal in the main loop for rustc_thread_pool
This PR is a replica of <https://github.com/rust-lang/rustc-rayon/pull/12> that only retained work-steal in the main loop for rustc_thread_pool.
r? `@oli-obk`
cc `@SparrowLii` `@Zoxc` `@cuviper`
Updates rust-lang/rust#113349
|
|
The feature currently completely breaks `x test`, core functionality of working on the standard library.
Therefore it should be disabled by default until that problem is fixed.
Having to wait a bit longer for a check build is nothing compared to completely mysterious build errors when testing.
|
|
|
|
|
|
When a trait bound fails due to the Self type parameter, adjust_fulfillment_errors
now correctly points to the corresponding function argument instead of incorrectly
pointing to other arguments.
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
|
|
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
|