| Age | Commit message (Collapse) | Author | Lines |
|
Encode def span for `ConstParam`
Fixes #110206
r? ``@petrochenkov``
|
|
Various minor Idx-related tweaks
Nothing particularly exciting here, but a couple of things I noticed as I was looking for more index conversions to simplify.
cc https://github.com/rust-lang/compiler-team/issues/606
r? `@WaffleLapkin`
|
|
Clean up traversal macros
The declarative macros relating to type folding and visiting can be simplified.
r? ``@lcnr``
|
|
Correct default value for default-linker-libraries
This setting is false by default according to rustc code here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_session/src/options.rs#L1236
I tested on a project and confirmed the behavior described. First, with no value, the `-nodefaultlibs` linker flag is present. Setting this to false has no effect, as well. The linker flag still appears. Setting it to true removes the linker flag as expected.
|
|
allow `repr(align = x)` on inherent methods
Discussion: https://github.com/rust-lang/rust/issues/82232#issuecomment-905929314
|
|
lukas-code:why-would-anyone-write-code-like-that-anyway, r=oli-obk
fix false positives for `unused_parens` around unary and binary operations
fix https://github.com/rust-lang/rust/issues/110251
|
|
Migrate diagnostics in `rustc_borrowck`
sorry for making a new PR, [#103559](https://github.com/rust-lang/rust/pull/103559) and [#103960](https://github.com/rust-lang/rust/pull/103960).
I am crawling, joyfully.
|
|
|
|
Remove some suspicious cast truncations
These truncations were added a long time ago, and as best I can tell without a perf justification. And with rust-lang/rust#110410 it has become perf-neutral to not truncate anymore. We worked hard for all these bits, let's use them.
|
|
Rollup of 7 pull requests
Successful merges:
- #110038 (Erase regions when confirming transmutability candidate)
- #110341 (rustdoc: stop passing a title to `replaceState` second argument)
- #110388 (Add a message for if an overflow occurs in `core::intrinsics::is_nonoverlapping`.)
- #110404 (fix clippy::toplevel_ref_arg and ::manual_map)
- #110421 (Spelling librustdoc)
- #110423 (Spelling srcdoc)
- #110433 (Windows: map a few more error codes to ErrorKind)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Windows: map a few more error codes to ErrorKind
NotFound errors:
* `ERROR_INVALID_DRIVE`: The system cannot find the drive specified
* `ERROR_BAD_NETPATH`: The network path was not found
* `ERROR_BAD_NET_NAME`: The network name cannot be found.
InvalidFilename:
* `ERROR_BAD_PATHNAME`: The specified path is invalid.
Source: [System Error Codes (0-499)](https://learn.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-)
|
|
Spelling srcdoc
|
|
Spelling librustdoc
This is split from https://github.com/rust-lang/rust/pull/110392
There's one change to src/tools/rustdoc-gui/tester.js which feels like a reasonable thing to piggy-back here.
|
|
fix clippy::toplevel_ref_arg and ::manual_map
r? ``@Nilstrieb``
|
|
Add a message for if an overflow occurs in `core::intrinsics::is_nonoverlapping`.
|
|
r=GuillaumeGomez
rustdoc: stop passing a title to `replaceState` second argument
As described on [MDN's replaceState page], this parameter is not currently used, and the empty string is "safe against future changes to the method."
[MDN's replaceState page]: https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState
|
|
r=lcnr
Erase regions when confirming transmutability candidate
Fixes an ICE where we call `layout_of` on a type with infer regions.
|
|
Alloc `hir::Lit` in an arena to remove the destructor from `Expr`
This allows allocating `Expr`s into a dropless arena, which is useful for using length prefixed thing slices in HIR, since these can only be allocated in the dropless arena and not in a typed arena.
|
|
|
|
Permit MIR inlining without #[inline]
I noticed that there are at least a handful of portable-simd functions that have no `#[inline]` but compile to an assign + return.
I locally benchmarked inlining thresholds between 0 and 50 in increments of 5, and 50 seems to be the best. Interesting. That didn't include check builds though, ~maybe perf will have something to say about that~.
Perf has little useful to say about this. We generally regress all the check builds, as best as I can tell, due to a number of small codegen changes in a particular hot function in the compiler. Probably this is because we've nudged the inlining outcomes all over, and uses of `#[inline(always)]`/`#[inline(never)]` might need to be adjusted.
|
|
* associated
* collected
* correspondence
* inlining
* into
* javascript
* multiline
* variadic
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
|
Add a backtrace to Allocation, display it in leak reports
This addresses https://github.com/rust-lang/miri/issues/2813
Information like this from diagnostics is indispensable for diagnosing problems that are difficult to reproduce such as https://github.com/rust-lang/miri-test-libstd/actions/runs/4395316008/jobs/7697019211#step:4:770 (which has not been reproduced or diagnosed).
|
|
|
|
NotFound errors:
* `ERROR_INVALID_DRIVE`: The system cannot find the drive specified
* `ERROR_BAD_NETPATH`: The network path was not found
* `ERROR_BAD_NET_NAME`: The network name cannot be found.
InvalidFilename:
* `ERROR_BAD_PATHNAME`: The specified path is invalid.
|
|
Make cargo a workspace
8 commits in 7bf43f028ba5eb1f4d70d271c2546c38512c9875..39116ccc9b420a883a98a960f0597f9cf87414b8
2023-04-10 16:01:41 +0000 to 2023-04-15 20:24:15 +0000
- Make cargo a workspace (rust-lang/cargo#11851)
- Fix flaky not_found_permutations test. (rust-lang/cargo#11976)
- Use restricted Damerau-Levenshtein algorithm (rust-lang/cargo#11963)
- Correct the bug report for `cargo clippy --fix` (rust-lang/cargo#11882)
- Stabilize `cargo logout` (rust-lang/cargo#11950)
- Add more information to HTTP errors to help with debugging. (rust-lang/cargo#11878)
- Use registry.default for login/logout (rust-lang/cargo#11949)
- Change -C to be unstable (rust-lang/cargo#11960)
---
### What does this PR try to resolve?
Making cargo a workspace.
Why doing this?
* `rustc-workspace-hack` is primarily for sharing dependencies between rls and cargo, as rls previously depends on cargo. After rls retired, it is no longer the case sharing dependencies.
* It's q bit painful that cargo needs to deal with some dependency and licensing complexities. For example, #108665 failed because of the interaction bewteen `windows-sys` and `raw-dylib`. It currenctly blocks cargo's feature `-Zgitxodie` from moving forward.
* See rust-lang/cargo#11851
### Benchmark result
I've done a simple benchmark on both keeping or removing entire `rustc-workspace-hack`. It had no significant difference. Both took ~2m30s to finish `./x.py build -j8 src/tools/cargo src/tools/rls src/tools/clippy src/tools/miri src/tools/rustfmt`. Environment info:
```
host: aarch64-apple-darwin
os: Mac OS 13.2.1 [64-bit]
```
A sophisticated benchmark may be needed.
### Additional information
This depends on prior works from `@Muscraft` and `@ehuss.` Credits to them!
|
|
|
|
It is unnecessary to stream cargo JSON output.
|
|
Co-authored-by: Scott Schafer <schaferjscott@gmail.com>
Co-authored-by: Eric Huss <eric@huss.org>
|
|
|
|
We remove `src/tools/cargo` from rust-lang/rust root workspace, but
some underlying mechanism still needs it to be a member. for example,
`./x.py doc`. This little hack make cargo's metadata available by
invoking an extra `cargo metadata` for cargo the package itself.
Co-authored-by: Scott Schafer <schaferjscott@gmail.com>
Co-authored-by: Eric Huss <eric@huss.org>
|
|
After cargo becomes a workspace, no one uses `check_crate_duplicate` to
check if cargo is a dependency anymore.
|
|
This also
* bumps cargo to the latest in rust-lang/cargo.
* adds 0BSD to allowed list of licenses
Co-authored-by: Scott Schafer <schaferjscott@gmail.com>
Co-authored-by: Eric Huss <eric@huss.org>
|
|
* incompatibilities
* invocation
* keywords
* nonexistent
* shakespeare
* the
* toolchain
* transparent
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
|
|
This allows allocating `Expr`s into a dropless arena, which is useful
for using length prefixed thing slices in HIR, since these can only be
allocated in the dropless arena and not in a typed arena. This is
something I'm working on.
|
|
`core::intrinsics::is_nonoverlapping`.
|
|
Co-authored-by: Ralf Jung <post@ralfj.de>
|
|
|
|
Rollup of 4 pull requests
Successful merges:
- #110397 (Move some utils out of `rustc_const_eval`)
- #110398 (use matches! macro in more places)
- #110400 (more clippy fixes: clippy::{iter_cloned_collect, unwarp_or_else_defau…)
- #110402 (Remove the loop in `Align::from_bytes`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
Remove the loop in `Align::from_bytes`
Perf is almost certainly irrelevant, but might as well simplify it, since `trailing_zeros` does exactly what's needed.
|
|
more clippy fixes: clippy::{iter_cloned_collect, unwarp_or_else_defau…
…lt, option_map_or_none}
r? `@Nilstrieb`
|
|
use matches! macro in more places
r? `@Nilstrieb`
|
|
Move some utils out of `rustc_const_eval`
This allows us to get rid of the `rustc_const_eval->rustc_borrowck` dependency edge which was delaying the compilation of borrowck.
The added utils in `rustc_middle` are small and should not affect compile times there.
|
|
|
|
Perf is almost certainly irrelevant, but might as well simplify it, since `trailing_zeros` does exactly what's needed.
|
|
Rollup of 3 pull requests
Successful merges:
- #109665 (Remove `remap_env_constness` in queries)
- #110345 (Remove `TypeSuper{Foldable,Visitable}` impls for `Region`.)
- #110396 (Use lint via `lint_defs` instead of `lints`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Use lint via `lint_defs` instead of `lints`
This gets rid of a blocking dependency edge from `rustc_lint->rustc_analysis->rustc_hir_typeck->rustc_interface`

|
|
r=compiler-errors
Remove `TypeSuper{Foldable,Visitable}` impls for `Region`.
These traits exist so that folders/visitors can recurse into types of interest: binders, types, regions, predicates, and consts. But `Region` is non-recursive and cannot contain other types of interest, so its methods in these traits are trivial.
This commit inlines and removes those trivial methods.
r? `@compiler-errors`
|
|
Remove `remap_env_constness` in queries
This removes some of the complexities with const traits. #88119 used to be caused by this but was fixed by `param_env = param_env.without_const()`.
|
|
option_map_or_none}
|