| Age | Commit message (Collapse) | Author | Lines |
|
Make `unconditional_recursion` warning detect recursive drops
Closes #55388
Also closes #50049 unless we want to keep it for the second example which this PR does not solve, but I think it is better to track that work in #57965.
r? `@oli-obk` since you are the mentor for #55388
Unresolved questions:
- [x] There are two false positives that must be fixed before merging (see diff). I suspect the best way to solve them is to perform analysis after drop elaboration instead of before, as now, but I have not explored that any further yet. Could that be an option? **Answer:** Yes, that solved the problem.
`@rustbot` label +T-compiler +C-enhancement +A-lint
|
|
|
|
Rollup of 9 pull requests
Successful merges:
- #113945 (Fix wrong span for trait selection failure error reporting)
- #114351 ([rustc_span][perf] Remove unnecessary string joins and allocs.)
- #114418 (bump parking_lot to 0.12)
- #114434 (Improve spans for indexing expressions)
- #114450 (Fix ICE failed to get layout for ReferencesError)
- #114461 (Fix unwrap on None)
- #114462 (interpret: add mplace_to_ref helper method)
- #114472 (Reword `confusable_idents` lint)
- #114477 (Account for `Rc` and `Arc` when suggesting to clone)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Lots of tiny incremental simplifications of `EmitterWriter` internals
ignore the first commit, it's https://github.com/rust-lang/rust/pull/114088 squashed and rebased, but it's needed to use to use `derive_setters`, as they need a newer `syn` version.
Then this PR starts out with removing many arguments that are almost always defaulted to `None` or `false` and replace them with builder methods that can set these fields in the few cases that want to set them.
After that it's one commit after the other that removes or merges things until everything becomes some very simple trait objects
|
|
|
|
Update lexer emoji diagnostics to Unicode 15.0
This replaces the `unic-emoji-char` dep tree (which hasn't been updated for a while) with `unicode-properties` crate which contains Unicode 15.0 data.
Improves diagnostics for added emoji characters in recent years. (See tests).
cc #101840
cc ``@Manishearth``
|
|
colored and uncolored printing
|
|
|
|
|
|
|
|
Bump syn dependency
r? `@davidtwco` because this affects diagnostics derive diagnostics (yes this sentence is grammatically correct)
|
|
replace atty crate with std's IsTerminal
|
|
|
|
|
|
|
|
|
|
|
|
r=pnkfelix,petrochenkov
Verify that all crate sources are in sync
This ensures that rustc will not attempt to link against a cdylib as if it is a rust dylib when an rlib for the same crate is available. Previously rustc didn't actually check if any further formats of a crate which has been loaded are of the same version and if they are actually valid. This caused a cdylib to be interpreted as rust dylib as soon as the corresponding rlib was loaded. As cdylibs don't export any rust symbols, linking would fail if rustc decides to link against the cdylib rather than the rlib.
Two crates depended on the previous behavior by separately compiling a test crate as both rlib and dylib. These have been changed to capture their original spirit to the best of my ability while still working when rustc verifies that all crates are in sync. It is unlikely that build systems depend on the current behavior and in any case we are taking a lot of measures to ensure that any change to either the source or the compilation options (including crate type) results in rustc rejecting it as incompatible. We merely didn't do this check here for now obsolete perf reasons.
Fixes https://github.com/rust-lang/rust/issues/10786
Fixes https://github.com/rust-lang/rust/issues/82151
Fixes https://github.com/rust-lang/rust/issues/82972
Closes https://github.com/bevy-cheatbook/bevy-cheatbook/issues/114
|
|
|
|
Implement rust-lang/compiler-team#578.
When an ICE is encountered on nightly releases, the new rustc panic
handler will also write the contents of the backtrace to disk. If any
`delay_span_bug`s are encountered, their backtrace is also added to the
file. The platform and rustc version will also be collected.
|
|
Remove clippy_test_deps from Cargo.toml
|
|
"no method" errors on standard library types
The standard library developer can annotate methods on e.g.
`BTreeSet::push` with `#[rustc_confusables("insert")]`. When the user
mistypes `btreeset.push()`, `BTreeSet::insert` will be suggested if
there are no other candidates to suggest.
|
|
0.3.0 and 0.3.1 have an issue and will be yanked. Consequently, std
should switch to 0.3.2.
|
|
Implement a few more rvalue translation to smir
Add the implementation for a few more RValue variants. For now, I simplified the stable version of `RValue::Ref` by removing the notion of Region.
r? `@oli-obk`
|
|
The already-small RLS shim can get a little smaller, and faster to
build, if we drop the serde-derive dependency and decode the one
"method" field it needs manually from `serde_json::Value`.
|
|
- Introduce an Opaque type for adding information that is still
internal to the compiler.
|
|
Add extern declarations and optional dependencies to fix build done
directly via `cargo build`.
|
|
update Miri
|
|
Port PGO/LTO/BOLT optimized build pipeline to Rust
This PR ports the `stage-build.py` PGO/LTO/BOLT optimization script from Python to Rust, to make it easier to use dependencies, and make it a bit more robust. The PR switches both the Linux and Windows dist runners to the Rust script and removes the old Python script.
Funnily enough, the Rust port has less lines of code than the Python script :) I think that clearly shows that the Python script really lacked dependencies.
|
|
|
|
Update rustix
The issue has been fixed.
https://github.com/bytecodealliance/rustix/issues/716
|
|
|
|
Update compiler builtins
cc https://github.com/rust-lang/compiler-builtins/pull/532#discussion_r1249354225
in particular this pulls in https://github.com/rust-lang/compiler-builtins/pull/532 and https://github.com/rust-lang/compiler-builtins/pull/535.
Fixes https://github.com/rust-lang/rust/issues/93166. Fixes https://github.com/rust-lang/git2-rs/issues/706. Fixes https://github.com/rust-lang/rust/issues/109064. Fixes https://github.com/rust-lang/wg-cargo-std-aware/issues/74.
|
|
Revert the lexing of `c"…"` string literals
Fixes \[after beta-backport\] #113235.
Further progress is tracked in #113333.
This PR *manually* reverts parts of #108801 (since a git-revert would've been too coarse-grained & messy)
and git-reverts #111647.
CC `@fee1-dead` (#108801) `@klensy` (#111647)
r? `@compiler-errors`
`@rustbot` label F-c_str_literals beta-nominated
|
|
This pulls in the new `outline-atomics` intrinsics.
|
|
This reverts commit a17561ffc90c900cb7d0e96b00c6381244764ef7.
|
|
Use scoped-tls for SMIR to map between TyCtxt and SMIR datastructures
Fixes #112940
r? `@oli-obk`
|
|
Remove chalk support from the compiler
Removes chalk (`-Ztrait-solver=chalk`) from the compiler and prunes any dead code resulting from this, mainly:
* Remove the chalk compatibility layer in `compiler/rustc_traits/src/chalk`
* Remove the chalk flag `-Ztrait-solver=chalk` and its `TraitEngine` implementation
* Remove `TypeWellFormedFromEnv` (and its many `bug!()` match arms)
* Remove the chalk migration mode from compiletest
* Remove the `chalkify` UI tests (do we want to keep any of these, but migrate them to `-Ztrait-solver=next`??)
Fulfills rust-lang/types-team#93.
r? `@jackh726`
|
|
|
|
The new version was already added to the tree as an indirect dependency
in #113046, but now our direct dependents are using it too.
|
|
The issue has been fixed.
|
|
|
|
Dedup addr2line, miniz_oxide, object in .lock
|
|
The outline-atomics support in compiler_builtins messed up and wasn't limited to linux only.
https://github.com/rust-lang/compiler-builtins/pull/532/files#r1249354225
|
|
See https://github.com/rust-lang/rust/pull/113046#issuecomment-1616094626.
|
|
There's currently a deadlock with tracing when RUSTC_LOG is enabled.
Downgrade tracing-core for now to avoid blocking the other updates.
syns upgrades cause some nontrivial changes in the diagnostics derive tests,
which are best dealt with in another PR.
|
|
Additional deps:
equivalent: indexmap
nu-ansi-term: tracing
overload: nu-ansi-term
|
|
Update Clippy
r? `@Manishearth`
cc `@oli-obk` (for the ui-test changes in de69d556eb5006a21f868b8c12d48f0ef1308a5a and the valtree fix in 0cbe963e51faa7e3e771c1f9cea9aa443a648455)
Fixes https://github.com/rust-lang/rust/issues/102093
This must've been the most involved Clippy sync ever.
|
|
|
|
Update chalk
For #109302
r? jackh726
|