| Age | Commit message (Collapse) | Author | Lines |
|
|
|
We want to refer to `crate::plumbing::try_load_from_disk` in the const, but hard-coding it in
rustc_queries, where we don't yet know the crate this macro will be called in, seems kind of hacky.
Do it in query_impl instead.
|
|
This is not only simpler, but removes a generic function and unwrap.
I have hope it will see compile time and bootstrap time improvements.
|
|
Instead, define a single function, parameterized only by the return type.
|
|
|
|
This uses exactly the same types for query results as `typeck`, which doesn't have custom code.
It's not clear to me why this code exists (it goes back even before queries used a proc macro),
but it compiles fine without the custom loader. Remove it for simplicity.
|
|
|
|
In practice, it was only ever used with `ArenaCacheSelector`. Change it to a single boolean
`arena_cache` rather than allowing queries to specify an arbitrary type.
|
|
Rollup of 5 pull requests
Successful merges:
- #101475 (Use futex-based locks and thread parker on Hermit)
- #101492 (Suggest adding array lengths to references to arrays if possible)
- #101495 (Compile spin_loop_hint as pause on x86 even without sse2 enabled)
- #101529 (Fix the example code and doctest for Formatter::sign_plus)
- #101600 (rustdoc: simplify the codeblock tooltip)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
rustdoc: simplify the codeblock tooltip
**https://github.com/rust-lang/rust/pull/101593 needs merged first**
This PR moves the tooltip into example-wrap, simplifying several overly-complex aspects of how these tooltips work:
* The mousover javascript can be removed, because hovering example-wrap can style the tooltip inside.
* The sibling selecor can be removed, because hovering the tooltip also hovers the wrapper, which can hover the codeblock itself.
* The relative positioning of the `<li>` tag, which was added in https://github.com/rust-lang/rust/commit/e861efd9f9ca45c1048a256812dfe8faffbb1367 to fix the positioning of the code tooltip, can now be removed, because example-wrap itself already has relative positioning.
|
|
Fix the example code and doctest for Formatter::sign_plus
The provided example to the `sign_plus` method on `fmt` was broken, it displays the `-` sign twice for negative numbers.
This pull request should fix the issue by `.abs()` ing the number so that the negative sign appears only once. It is just one possible solution to the issue, not sure if it's the best. However, this one will behave as expected when combined with fill and alignment operators.
|
|
Compile spin_loop_hint as pause on x86 even without sse2 enabled
The x86 `pause` instruction was introduced with sse2, but because it is encoded as `rep nop`, it works just fine on cpu's without sse2 support. It just doesn't do anything.
|
|
TaKO8Ki:suggest-adding-array-length-to-ref-to-array, r=oli-obk
Suggest adding array lengths to references to arrays if possible
ref: https://github.com/rust-lang/rust/pull/100590#pullrequestreview-1096851146
|
|
Use futex-based locks and thread parker on Hermit
[Hermit now has futex syscalls](https://github.com/hermitcore/libhermit-rs/pull/534), which means Hermit can share the well-tested and performant locks and thread parker used on Linux.
Ping `@mkroening,` `@stlankes`
r? `@m-ou-se`
|
|
This commit moves the tooltip into example-wrap, simplifying allowing several
overly-complex things to be fixed:
* The mousover javascript can be removed, because hovering example-wrap can
style the tooltip inside.
* The sibling selecor can be removed, because hovering the tooltip also
hovers the wrapper, which can hover the codeblock itself.
* The relative positioning of the `<li>` tag, which was added in
e861efd9f9ca45c1048a256812dfe8faffbb1367 to fix the positioning of the code
tooltip, can now be removed, because example-wrap itself already has
relative positioning.
|
|
|
|
Update LLVM used in x86 CI dist builds to `15.0.0`
LLVM 15.0.0 has been released, so we can use it in CI builds. We need (at least) LLVM 15 for BOLT, and we regularly update to most recent stable versions. It would also be good to first see the perf. effect of upgrading by itself, to have a better baseline for BOLT.
r? `@Mark-Simulacrum`
|
|
Rollup of 6 pull requests
Successful merges:
- #99207 (Enable eager checks for memory sanitizer)
- #101253 (fix the suggestion of format for asm_sub_register)
- #101450 (Add `const_extern_fn` to 1.62 release notes.)
- #101556 (Tweak future opaque ty pretty printing)
- #101563 (Link UEFI target documentation from target list)
- #101593 (Cleanup themes (tooltip))
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Cleanup themes (tooltip)
No changes in the UI. I used this opportunity to unify the dark theme with the others for the alpha parameter though.
r? `@notriddle`
|
|
Link UEFI target documentation from target list
#99760 added UEFI target documentation, but forgot to link it from the main target list.
|
|
Tweak future opaque ty pretty printing
1. The `Return` type of a generator doesn't need to be a lang item just for diagnostic printing of types
2. We shouldn't suppress the `Output = Ty` of a opaque future if the type is a int or float var.
|
|
Add `const_extern_fn` to 1.62 release notes.
Adds #95346 which did not get tagged with relnotes.
Closes #101443
|
|
fix the suggestion of format for asm_sub_register
modified: compiler/rustc_typeck/src/check/intrinsicck.rs
modified: src/test/ui/asm/bad-template.aarch64_mirunsafeck.stderr
modified: src/test/ui/asm/bad-template.aarch64_thirunsafeck.stderr
modified: src/test/ui/asm/bad-template.x86_64_mirunsafeck.stderr
modified: src/test/ui/asm/bad-template.x86_64_thirunsafeck.stderr
modified: src/test/ui/asm/type-check-1.rs
modified: src/test/ui/asm/type-check-1.stderr
modified: src/test/ui/asm/x86_64/type-check-3.stderr
|
|
Enable eager checks for memory sanitizer
Fixes #99179
|
|
Initial implementation of return-position `impl Trait` in traits
* Create a new item kind, called `ImplTraitPlaceholder`, which is used to lower `ast::TyKind::ImplTrait` in trait method returns.
* This item is the child of the trait method, which simplifies the way we calculate bounds and stuff.
* Use the def-id of this type to construct a projection type that we use during astconv for the return type of the trait method signature.
* Implement logic to normalize this `ImplTraitPlaceholder` projection type when we know its concrete impl (this is pretty limited currently, but really there are no other selection candidates that make sense -- for now!)
* Check that the `impl Trait`'s bounds are satisfied on the concrete type provided in the impl.
This is obviously nowhere near complete, but I wanted to at least get some initial support landed so we can start playing around with it.
What works:
* async fn in trait and RPITIT, including multiple `impl Trait`s and `impl Trait` nested in associated type bindings, like `impl Future<Output = impl Sized>`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reimplement `carrying_add` and `borrowing_sub` for signed integers.
As per the discussion in #85532, this PR reimplements `carrying_add` and `borrowing_sub` for signed integers.
It also adds unit tests for both unsigned and signed integers, emphasing on the behaviours of the methods.
|
|
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- #101423 (Fix hermit warnings)
- #101499 (Introduce lowering_arena to avoid creating AST nodes on the fly)
- #101530 (llvm-wrapper: adapt for LLVM API changes)
- #101554 (rustdoc: remove unused CSS `#implementations-list > h3 > span.in-band`)
- #101580 (rustdoc: remove unused CSS `div.impl-items > div`)
- #101584 (rustdoc: remove no-op CSS `#settings-menu { padding: 0 }`)
- #101587 (Make `Debug` impl for `Term` useful)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Make `Debug` impl for `Term` useful
because `Term { ptr: 78942378998734298342, maker: PhantomData, }` does not excel at communicating the necessary information
|
|
rustdoc: remove no-op CSS `#settings-menu { padding: 0 }`
This CSS was added in 5e01ba36c9f1037c4cf3e7421413fc6c41f85d05, and served to override CSS right above it that set a 5px padding for several kinds of buttons in the same toolbar:
https://github.com/rust-lang/rust/blob/5e01ba36c9f1037c4cf3e7421413fc6c41f85d05/src/librustdoc/html/static/css/rustdoc.css#L1400-L1409
The CSS that it overrode is still there, but now it only applies to `#settings-menu > a`, so there's nothing to override.
https://github.com/rust-lang/rust/blob/24d69920201563f0ee7b530f1cda0f171b205cc2/src/librustdoc/html/static/css/rustdoc.css#L1445-L1454
|
|
r=GuillaumeGomez
rustdoc: remove unused CSS `div.impl-items > div`
This was added in 9077d540da944c41678a7129e04e7fc5d7e38582 to override the style on `<div>` tags that were acting as headers. These `<div>` tags were replaced with `<section>` tags in 32f62607c3142dfc9eb56a0bd72dee298ca43358, but this CSS was probably already redundant even then (the headers had already been replaced with real `<h3>` and `<h4>` tags in 76a3b609d0b93c5d8da5e4e3db37bd03e5cb1c30).
|