| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
placement
|
|
|
|
Make `method-not-found-generic-arg-elision.rs` error message not path dependent
Every time I bless `tests/ui/methods/method-not-found-generic-arg-elision.rs`, I get some nonsense "type is too long" + "written to disk" that shows up and have to manually revert because the combination of my rustc repo path + the UI test directory hits the length limit for printing types spilling to disk (since this happens before UI test path sanitization).
The fact that we use a closure in this test doesn't have to do with the UI test, so just box the closure to make the type name smaller and not path dependent.
|
|
`IntoFuture::into_future` is no longer unstable
We don't need to gate the `IntoFuture::into_future` call in `.await` lowering anymore.
``@bors`` rollup
|
|
Migrate `rustc_passes` to translatable diagnostics
cc #100717
|
|
Remove repeated definite articles
|
|
|
|
Restructure and rename std thread_local internals to make it less of a maze
Every time I try to work on std's thread local internals, it feels like I'm trying to navigate a confusing maze made of macros, deeply nested modules, and types with multiple names/aliases. Time to clean it up a bit.
This PR:
- Exports `Key` with its own name (`Key`), instead of `__LocalKeyInner`
- Uses `pub macro` to put `__thread_local_inner` into a (unstable, hidden) module, removing `#[macro_export]`, removing it from the crate root.
- Removes the `__` from `__thread_local_inner`.
- Removes a few unnecessary `allow_internal_unstable` features from the macros
- Removes the `libstd_thread_internals` feature. (Merged with `thread_local_internals`.)
- And removes it from the unstable book
- Gets rid of the deeply nested modules for the `Key` definitions (`mod fast` / `mod os` / `mod statik`).
- Turns a `#[cfg]` mess into a single `cfg_if`, now that there's no `#[macro_export]` anymore that breaks with `cfg_if`.
- Simplifies the `cfg_if` conditions to not repeat the conditions.
- Removes useless `normalize-stderr-test`, which were left over from when the `Key` types had different names on different platforms.
- Removes a seemingly unnecessary `realstd` re-export on `cfg(test)`.
This PR changes nothing about the thread local implementation. That's for a later PR. (Which should hopefully be easier once all this stuff is a bit cleaned up.)
|
|
|
|
|
|
Rollup of 10 pull requests
Successful merges:
- #108760 (Add lint to deny diagnostics composed of static strings)
- #109444 (Change tidy error message for TODOs)
- #110419 (Spelling library)
- #110550 (Suggest deref on comparison binop RHS even if type is not Copy)
- #110641 (Add new rustdoc book chapter to describe in-doc settings)
- #110798 (pass `unused_extern_crates` in `librustdoc::doctest::make_test`)
- #110819 (simplify TrustedLen impls)
- #110825 (diagnostics: add test case for already-solved issue)
- #110835 (Make some region folders a little stricter.)
- #110847 (rustdoc-json: Time serialization.)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
diagnostics: add test case for already-solved issue
Fixes #70082
|
|
pass `unused_extern_crates` in `librustdoc::doctest::make_test`
blocker for https://github.com/rust-lang/rust/pull/106621
|
|
Suggest deref on comparison binop RHS even if type is not Copy
Fixes #110500
|
|
Signed-off-by: cui fliter <imcusg@gmail.com>
|
|
Lower `intrinsics::offset` to `mir::BinOp::Offset`
They're [semantically the same](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.Rvalue.html#variant.BinaryOp), so this means the backends don't need to handle the intrinsic and means fewer MIR basic blocks in pointer arithmetic code.
|
|
|
|
Add regression tests for const-generic inherent associated types
Fixes #109759.
The tests are no longer failing since #96840 which was merged recently (#109410 is no longer necessary for them).
`@rustbot` label F-inherent_associated_types
|
|
Improve tests for #110138
These should live in rustdoc-json, not rustdoc-ui, so we can run assertions, and not just check there's no ICE
CC #100515, as we never document this suite
r? rustdoc
|
|
Replace `yes` command by `while-echo` in test `tests/ui/process/process-sigpipe.rs`
The `yes` command is not available on all platforms.
Fixes #108596.
Inviting `@mvf` as he contributed to this patch. Thanks! This issue has been discussed in https://github.com/rust-lang/rust/pull/106673 but was moved to #108596 to get going.
CC `@gh-tr`
r? `@workingjubilee`
`@rustbot` label +O-neutrino
Notes about the comments https://github.com/rust-lang/rust/pull/106673#discussion_r1117324265:
- The `echo` command is `/proc/boot/echo` (not built-in)
- `/bin/sh` is a symlink to `/proc/boot/ksh`
```sh
# ls -l /bin/sh /proc/boot/ksh /proc/boot/echo
lrwxrwxrwx 1 root root 14 Mar 20 07:52 /bin/sh -> /proc/boot/ksh
-r-xr-xr-x 1 root root 9390 Sep 12 2022 /proc/boot/echo
-r-xr-xr-x 1 root root 308114 Sep 12 2022 /proc/boot/ksh
```
|
|
They're semantically the same, so this means the backends don't need to handle the intrinsic and means fewer MIR basic blocks in pointer arithmetic code.
|
|
Use `?0` notation for ty/ct/int/float/region vars
Aligns the notation for infer vars that T-types and friends most often uses for inference variables with the notation in the compiler (which is kinda a sigil nightmare IMO: `_#`) by adopting `?0` style infer vars.
This mostly affects debug output since verbose infer vars shouldn't show up in user-facing places.
Does this need an MCP? It's debug output, so I'm thinking no, but happy to open one. :thinking:
r? types
|
|
|
|
Fixes #70082
|
|
|
|
Consider polarity in new solver
It's kinda ugly to have a polarity check in all of the builtin impls -- I guess I could consider the polarity at the top of assemble-builtin but that would require adding a polarity fn to `GoalKind`...
:shrug: putting this up just so i dont forget, since it's needed to bootstrap core during coherence (this alone does not allow core to bootstrap though, additional work is needed!)
r? ``@lcnr``
|
|
Signed-off-by: ozkanonur <work@onurozkan.dev>
|
|
Migrate `rustc_hir_analysis` to session diagnostic [Part 4]
Part 4: Finishing `check/mod.rs` file
r? `@compiler-errors`
|
|
Add support for allocators in `LinkedList`
Allows `LinkedList` to use a custom allocator
|
|
Add loongarch64 asm! support
|
|
|
|
|
|
|
|
This reverts commit abc0660118cc95f47445fd33502a11dd448f5968.
|
|
This reverts commit 4b981c26487ebe56de6b3000fcd98713804beefc.
|
|
This reverts commit 4da05e0b88d8b51fc6912da2d0b93edb2780e76b.
|
|
Rollup of 10 pull requests
Successful merges:
- #110480 (Add `known-bug` tests for 11 unsound issues)
- #110539 (Move around `{Idx, IndexVec, IndexSlice}` adjacent code)
- #110590 (Add some tests around (lack of) object safety of associated types and consts)
- #110602 (Ignore src/bootstrap formatting commit in .git-blame-ignore-revs)
- #110667 (pointer-auth-link-with-c: Fix cross compilation.)
- #110681 (drop few unused crates, gate libc under unix for rustc_codegen_ssa)
- #110685 (Some cleanups to DataflowConstProp)
- #110744 (bootstrap: update paths cargo-credential crate)
- #110750 (Add size asserts for MIR `SourceScopeData` & `VarDebugInfo`)
- #110760 (rustdoc: Add regression test for #60522)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
rustdoc: Add regression test for #60522
Fixes https://github.com/rust-lang/rust/issues/60522.
r? `@notriddle`
|
|
pointer-auth-link-with-c: Fix cross compilation.
|
|
Add some tests around (lack of) object safety of associated types and consts
See https://rust-lang.zulipchat.com/#narrow/stream/144729-t-types/topic/.60where.20Self.3ASized.60.20on.20assoc.20types/near/351260928 for some discussion around why this isn't allowed.
We didn't have any tests for these, so I decided to add them now, even if we don't end up doing anything about it.
|
|
r=jackh726
Add `known-bug` tests for 11 unsound issues
r? ``@jackh726``
Should tests for other issues be in separate PRs? Thanks.
Edit: Partially addresses #105107. This PR adds `known-bug` tests for 11 unsound issues:
- #25860
- #49206
- #57893
- #84366
- #84533
- #84591
- #85099
- #98117
- #100041
- #100051
- #104005
|
|
Add mir-opt tests to track MIR quality.
cc `@scottmcm` `@saethlin`
If you have other ideas, please say so.
|
|
r=workingjubilee
allow array-style simd in inline asm
Required for [MCP#621](https://github.com/rust-lang/compiler-team/issues/621) to be implemented.
r? `@workingjubilee`
|
|
|
|
Add `intrinsics::transmute_unchecked`
This takes a whole 3 lines in `compiler/` since it lowers to `CastKind::Transmute` in MIR *exactly* the same as the existing `intrinsics::transmute` does, it just doesn't have the fancy checking in `hir_typeck`.
Added to enable experimenting with the request in <https://github.com/rust-lang/rust/pull/106281#issuecomment-1496648190> and because the portable-simd folks might be interested for dependently-sized array-vector conversions.
It also simplifies a couple places in `core`.
See also https://github.com/rust-lang/rust/pull/108442#issuecomment-1474777273, where `CastKind::Transmute` was added having exactly these semantics before the lang meeting (which I wasn't in) independently expressed interest.
|
|
r=cjgillot,BoxyUwU
Don't create projection ty for const projection
Fixes #110549
|
|
Suggest using integration tests for test crate using own proc-macro
cc #110247
|
|
|