| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Update Clippy
r? `@Manishearth`
One day late. Sorry forgot about it yesterday :|
|
|
Rollup of 6 pull requests
Successful merges:
- #107789 (Avoid exposing type parameters and implementation details sourced from macro expansions)
- #107836 (Handle properly when there is no crate attrs)
- #107839 (avoid duplicating the RUSTC_LOG env var name)
- #107866 (Allow wasi-libc to initialize its environment variables lazily.)
- #107876 (create symlink only for non-windows operating systems)
- #107882 (Cleanup typos in en_US/borrowck.ftl)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
r=compiler-errors
Cleanup typos in en_US/borrowck.ftl
Noticed these while opening https://github.com/rust-lang/rust/pull/107881.
|
|
create symlink only for non-windows operating systems
Follow up on #107834
It's my first time using the #cfg attribute. Did I use it correctly?
Thank you!
|
|
r=workingjubilee
Allow wasi-libc to initialize its environment variables lazily.
Use `__wasilibc_get_environ()` to read the environment variable list from wasi-libc instead of using `environ`. `environ` is a global variable which effectively requires wasi-libc to initialize the environment variables eagerly, and `__wasilibc_get_environ()` is specifically designed to be an alternative that lets wasi-libc intiailize its environment variables lazily.
This should have the side effect of fixing at least some of the cases of #107635.
|
|
avoid duplicating the RUSTC_LOG env var name
We also have the env var name here:
https://github.com/rust-lang/rust/blob/c40919b7a75f93ed7ef040361e82c656d246d41e/compiler/rustc_driver_impl/src/lib.rs#L1247-L1251
Redundantly having this name twice doesn't seem great. Looks like `rustc_log::init_rustc_env_logger` is dead code anyway.
r? `@oli-obk`
|
|
Handle properly when there is no crate attrs
Fixes #107822
r? `@oli-obk`
|
|
Avoid exposing type parameters and implementation details sourced from macro expansions
Fixes #107745.
~~I would like to **request some guidance** for this issue, because I don't think this is a good fix (a band-aid at best).~~
### The Problem
The code
```rust
fn main() {
println!("{:?}", []);
}
```
gets desugared into (`rustc +nightly --edition=2018 issue-107745.rs -Z unpretty=hir`):
```rust
#[prelude_import]
use std::prelude::rust_2018::*;
#[macro_use]
extern crate std;
fn main() {
{
::std::io::_print(<#[lang = "format_arguments"]>::new_v1(&["",
"\n"], &[<#[lang = "format_argument"]>::new_debug(&[])]));
};
}
```
so the diagnostics code tries to be as specific and helpful as possible, and I think it finds that `[]` needs a type parameter and so does `new_debug`. But since `[]` doesn't have an origin for the type parameter definition, it points to `new_debug` instead and leaks the internal implementation detail since all `[]` has is an type inference variable.
### ~~The Bad Fix~~
~~This PR currently tries to fix the problem by bypassing the generated function `<#[lang = "format_argument"]>::new_debug` to avoid its generic parameter (I think it is auto-generated from the argument `[_; 0]`?) from getting collected as an `InsertableGenericArg`. This is problematic because it also prevents the help from getting displayed.~~
~~I think this fix is not ideal and hard-codes the format generated code pattern, but I can't think of a better fix. I have tried asking on Zulip but no responses there yet.~~
|
|
|
|
|
|
|
|
Fix CLI of clippy_dev
Clap was updated in rust-lang/rust-clippy#10270, which broke the command line of clippy_dev. This swaps out contains_id, which now returns always true in the places it was used with get_flag.
r? `@xFrednet`
This should also fix https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/.60cargo.20dev.20setup.20intellij.60.20is.20degraded/near/325770850
changelog: none
|
|
Clap was updated in rust-lang/rust-clippy#10270, which broke the command
line of clippy_dev. This swaps out contains_id, which now returns always
true in the places it was used with get_flag.
|
|
Rustup
r? `@ghost`
changelog: none
|
|
|
|
|
|
|
|
Introduce `ReError`
CC #69314
r? `@nagisa`
|
|
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- #107043 (Support `true` and `false` as boolean flag params)
- #107831 (Query refactoring)
- #107841 (Handled snap curl issue inside Rust)
- #107852 (rustdoc: remove unused fn parameter `tab`)
- #107861 (Sync release notes for 1.67.1)
- #107863 (Allow multiple candidates with same response in new solver)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
r=jackh726
Allow multiple candidates with same response in new solver
Treat >1 candidates as *not* ambiguous if they return the same response.
|
|
Sync release notes for 1.67.1
Closes #107859.
|
|
rustdoc: remove unused fn parameter `tab`
|
|
Handled snap curl issue inside Rust
|
|
Query refactoring
Just some cleanups I found when learning about the query system.
Best reviewed one commit at a time.
r? `@oli-obk`
|
|
Support `true` and `false` as boolean flag params
Implements [MCP 577](https://github.com/rust-lang/compiler-team/issues/577).
|
|
Fix implied outlives bounds logic for projections
The logic here is subtly wrong. I put a bit of an explanation in a767d7b5165cea8ee5cbe494a4a636c50ef67c9c.
TL;DR: we register outlives predicates to be proved, because wf code normalizes projections (from the unnormalized types) to type variables. This causes us to register those as constraints instead of implied. This was "fine", because we later added that implied bound in the normalized type, and delayed registering constraints. When I went to cleanup `free_region_relations` to *not* delay adding constraints, this bug was uncovered.
cc. `@aliemjay` because this caused your test failure in #99832 (I only realized as I was writing this)
r? `@nikomatsakis`
|
|
Use `__wasilibc_get_environ()` to read the environment variable list
from wasi-libc instead of using `environ`. `environ` is a global
variable which effectively requires wasi-libc to initialize the
environment variables eagerly, and `__wasilibc_get_environ()` is
specifically designed to be an alternative that lets wasi-libc
intiailize its environment variables lazily.
This should have the side effect of fixing at least some of the cases
of #107635.
|
|
normalization
|
|
|
|
|
|
Add `-Z instrument-xray` flag
Implement MCP https://github.com/rust-lang/compiler-team/issues/561, adding `-Z instrument-xray` flag which enables XRay instrumentation in LLVM.
|
|
|
|
Rollup of 6 pull requests
Successful merges:
- #107648 (unused-lifetimes: don't warn about lifetimes originating from expanded code)
- #107655 (rustdoc: use the same URL escape rules for fragments as for examples)
- #107659 (test: snapshot for derive suggestion in diff files)
- #107786 (Implement some tweaks in the new solver)
- #107803 (Do not bring trait alias supertraits into scope)
- #107815 (Disqualify `auto trait` built-in impl in new solver if explicit `impl` exists)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Disqualify `auto trait` built-in impl in new solver if explicit `impl` exists
|
|
eggyal:do_not_bring_trait_alias_supertraits_into_scope, r=compiler-errors
Do not bring trait alias supertraits into scope
Fixes #107747
cc #41517
|
|
Implement some tweaks in the new solver
I've been testing the new solver on some small codebases, and these are a few small changes I've needed to make.
The most "controversial" here is implementing `trait_candidate_should_be_dropped_in_favor_of`, which I just implemented to always return false. This surprisingly allows some code to compile, without us having to actually decide on any semantics yet.
r? `@rust-lang/initiative-trait-system-refactor`
|
|
test: snapshot for derive suggestion in diff files
fixed #107649
|
|
rustdoc: use the same URL escape rules for fragments as for examples
Carries over improvements from #107284
|
|
unused-lifetimes: don't warn about lifetimes originating from expanded code
previously, we would warn like this:
````
warning: lifetime parameter `'s` never used
--> /tmp/unusedlif/code.rs:6:62
|
5 | #[derive(Clone)]
| - help: elide the unused lifetime
6 | struct ShimMethod4<T: Trait2 + 'static>(pub &'static dyn for<'s> Fn(&'s mut T::As));
| ^^
|
= note: requested on the command line with `-W unused-lifetimes`
````
Fixes #104432
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sync rustc_codegen_cranelift
* Couple of bugfixes
* A significant runtime perf improvement
* Implemented sym and const support for inline asm
* Improved self profile integration
r? `@ghost`
`@rustbot` label +A-codegen +A-cranelift +T-compiler
|