| Age | Commit message (Collapse) | Author | Lines |
|
This reverts commit 008d5130b7dce96693cd9c39cd5e71d9dc73bd5b.
|
|
This reverts commit cc2686c1a9cf9a9e089f669d9d179812618008a7.
|
|
This reverts commit ecae5a8b33abfa7b084aa0bd29d47f5b98ea2527.
|
|
This reverts commit b82c5ceba8cfb595f3556593fb3eb9cd03b1fb5c.
|
|
This reverts commit b24723a5c74ab4881539bb97c7608c147f07c25e.
|
|
This reverts commit 536ac471c47f06fd53daa651424ea5a78189491c.
|
|
searching for the completion item to resolve"
This reverts commit fa46a9e2b605de60b11a29f5951e650c3c0f5089.
|
|
This reverts commit f0db79f31ada049bf490c8f27be7443f45460f09.
|
|
environment"
This reverts commit 33ac202904e7820268b71b3280a7d2590378e3b9.
|
|
This reverts commit 4454fa998c9da1f1eee1602c8e8cd2732505c104.
|
|
|
|
borrow_deref_ref: do not trigger on `&raw` references
changelog: [`borrow_deref_ref`]: do not trigger on `&raw` references
Fix #13584
|
|
r=llogiq
Change the category of `manual_is_power_of_two` to `pedantic`
Fixes #13547.
The value being checked might be a bit flag, suggesting `is_power_of_two` for it would make the code unreadable.
changelog: [`manual_is_power_of_two`]: Change the category to `pedantic`
|
|
(cherry picked from commit 94579ff9301fcee893cd0c4ad9284ab5ef51e6cd)
|
|
This is the "smartcase" behavior, described by vim and dtolnay.
(cherry picked from commit 32500aa8e0f23029c0fa69235d19f770106c016f)
|
|
|
|
the completion item to resolve
|
|
(cherry picked from commit 728315df79d19562b7be11011b54d20406abd1f4)
|
|
|
|
(cherry picked from commit a365aebdf03872722b8c78bdeb62c43851f0c72f)
|
|
|
|
These files have important role for compiler builds, so include them
in the "if-unchanged" rustc logic.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
(cherry picked from commit 6e6cbdd2df0ae5a025c458d95a4c84df1b6af092)
|
|
|
|
Special case error message for a `build-fail` test that failed check build
A `build-fail` test requires that a check build (roughly `--emit=metadata`, no codegen) succeeds but fails later. Previously, if its check build failed, the user will see the error message
```
error: test compilation failed although it shouldn't!
```
which is confusing. Because the test is `build-fail`, we want the test compilation to fail! This error message doesn't account for the difference between a check build and a complete build, so let's special case the error message for a `build-fail` test whose check build failed to instead say
```
error: `build-fail` test is required to pass check build, but check build failed
```
Fixes #130894.
|
|
switch unicode-data bitsets back to 'static'
Back in https://github.com/rust-lang/rust/pull/101401, these were changed to `const` to make some functions `const fn`. However, `@dtolnay` was [not happy](https://github.com/rust-lang/rust/issues/101400#issuecomment-1742500968) about this. Meanwhile, `const fn` can access immutable statics like these, so we can change this back.
Part of https://github.com/rust-lang/rust/issues/101400.
|
|
compiletest: Move debugger setup code out of `lib.rs`
These functions contain a few hundred lines of code for dealing with debuggers (for `debuginfo` tests), and don't really belong in the crate root.
Moving them out to their own module makes `lib.rs` easier to follow.
|
|
Error on trying to use revisions in `run-make` tests
Currently, `run-make` tests do not support revisions.
|
|
compiletest: Remove the one thing that was checking a directive's `original_line`
This special handling of `ignore-tidy*` was introduced during the migration to `//`@`` directives (#120881), and has become unnecessary after the subsequent removal of the legacy directive check (#131392).
|
|
|
|
|
|
|
|
force "HEAD" for non-CI and `git_upstream_merge_base` for CI environment
When rust-lang/rust is configured as remote, some of the git logic (for tracking changed files) that uses get_closest_merge_commit starts to produce annoying results as the upstream branch becomes outdated quickly (since it isn't updated with git pull). We can rely on HEAD for non-CI environments as we specifically treat bors commits as merge commits, which also exist on upstream. As for CI environments, we should use `git_upstream_merge_base` to correctly track modified files as bors commits may be in `HEAD` but not yet on the upstream remote.
This is also an alternative fix for https://github.com/rust-lang/rust/issues/129528 since https://github.com/rust-lang/rust/pull/131331 reverts the previous fix attempts.
|
|
Enable sanitizers for loongarch64-unknown-*
Enable sanitizers for `loongarch64-unknown-linux-{gnu,musl,ohos}` targets.
|
|
Stabilize `const_option`
This makes the following API stable in const contexts:
```rust
impl<T> Option<T> {
pub const fn as_mut(&mut self) -> Option<&mut T>;
pub const fn expect(self, msg: &str) -> T;
pub const fn unwrap(self) -> T;
pub const unsafe fn unwrap_unchecked(self) -> T;
pub const fn take(&mut self) -> Option<T>;
pub const fn replace(&mut self, value: T) -> Option<T>;
}
impl<T> Option<&T> {
pub const fn copied(self) -> Option<T>
where T: Copy;
}
impl<T> Option<&mut T> {
pub const fn copied(self) -> Option<T>
where T: Copy;
}
impl<T, E> Option<Result<T, E>> {
pub const fn transpose(self) -> Result<Option<T>, E>
}
impl<T> Option<Option<T>> {
pub const fn flatten(self) -> Option<T>;
}
```
The following functions make use of the unstable `const_precise_live_drops` feature:
- `expect`
- `unwrap`
- `unwrap_unchecked`
- `transpose`
- `flatten`
Fixes: <https://github.com/rust-lang/rust/issues/67441>
|
|
Currently `run-make` tests do not support revisions.
|
|
|
|
|
|
This makes the following API stable in const contexts:
impl<T> Option<T> {
pub const fn as_mut(&mut self) -> Option<&mut T>;
pub const fn expect(self, msg: &str) -> T;
pub const fn unwrap(self) -> T;
pub const unsafe fn unwrap_unchecked(self) -> T;
pub const fn take(&mut self) -> Option<T>;
pub const fn replace(&mut self, value: T) -> Option<T>;
}
impl<T> Option<&T> {
pub const fn copied(self) -> Option<T>
where T: Copy;
}
impl<T> Option<&mut T> {
pub const fn copied(self) -> Option<T>
where T: Copy;
}
impl<T, E> Option<Result<T, E>> {
pub const fn transpose(self) -> Result<Option<T>, E>
}
impl<T> Option<Option<T>> {
pub const fn flatten(self) -> Option<T>;
}
The following functions make use of the unstable
`const_precise_live_drops` feature:
- `expect`
- `unwrap`
- `unwrap_unchecked`
- `transpose`
- `flatten`
Fixes: <https://github.com/rust-lang/rust/issues/67441>
|
|
ismailarilik:handle-potential-query-instability-lint-for-clippy, r=xFrednet
Handle `clippy` cases of `rustc::potential_query_instability` lint
This PR removes `#![allow(rustc::potential_query_instability)]` line from [`src/tools/clippy/clippy_lints/src/lib.rs`](https://github.com/rust-lang/rust/blob/master/src/tools/clippy/clippy_lints/src/lib.rs#L30) and converts `FxHash{Map,Set}` types into `FxIndex{Map,Set}` to suppress lint errors.
A somewhat tracking issue: https://github.com/rust-lang/rust/issues/84447
|
|
make `Step` doc-comments more clear
Aiming to improve complicated `Step` documentation. Once we merge this, I will update [this page](https://rustc-dev-guide.rust-lang.org/building/bootstrapping/how-bootstrap-does-it.html?highlight=Step#synopsis-of--step) too.
|
|
Rollup of 7 pull requests
Successful merges:
- #130870 (Add suggestion for removing invalid path sep `::` in fn def)
- #130954 (Stabilize const `ptr::write*` and `mem::replace`)
- #131233 (std: fix stdout-before-main)
- #131590 (yeet some clones)
- #131596 (mark InterpResult as must_use)
- #131597 (Take a display name for `tool_check_step!`)
- #131605 (`LLVMConstInt` only allows integer types)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Take a display name for `tool_check_step!`
The tool build step already takes a display name, make the tool check step also take a display name to better represent the tool name. I.e. instead of `src/tools/cargo-miri` becoming `cargomiri`, it now becomes `cargo-miri`.
Fixes #131592.
|
|
Update LLVM submodule
Fixes (maybe after beta backport) #131164.
r? nikic
|
|
|
|
|
|
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
When rust-lang/rust is configured as remote, some of the git
logic (for tracking changed files) that uses get_closest_merge_commit
starts to produce annoying results as the upstream branch becomes outdated
quickly (since it isn't updated with git pull). We can rely on HEAD for
non-CI environments as we specifically treat bors commits as merge commits,
which also exist on upstream. As for CI environments, we should use
`git_upstream_merge_base` to correctly track modified files as bors commits
may be in `HEAD` but not yet on the upstream remote.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Flatten redundant test module `run_make_support::diff::tests::tests`
This module is already named `tests`, and is already gated by `#[cfg(test)]`, so there's no need for it to also contain `mod tests`.
r? jieyouxu
|
|
intrinsics fmuladdf{32,64}: expose llvm.fmuladd.* semantics
Add intrinsics `fmuladd{f32,f64}`. This computes `(a * b) + c`, to be fused if the code generator determines that (i) the target instruction set has support for a fused operation, and (ii) that the fused operation is more efficient than the equivalent, separate pair of `mul` and `add` instructions.
https://llvm.org/docs/LangRef.html#llvm-fmuladd-intrinsic
The codegen_cranelift uses the `fma` function from libc, which is a correct implementation, but without the desired performance semantic. I think this requires an update to cranelift to expose a suitable instruction in its IR.
I have not tested with codegen_gcc, but it should behave the same way (using `fma` from libc).
---
This topic has been discussed a few times on Zulip and was suggested, for example, by `@workingjubilee` in [Effect of fma disabled](https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Effect.20of.20fma.20disabled/near/274179331).
|