| Age | Commit message (Collapse) | Author | Lines |
|
The `<*const T>::guaranteed_*` methods now return an option for the unknown case
cc https://github.com/rust-lang/rust/issues/53020#issuecomment-1236932443
I chose `0` for "not equal" and `1` for "equal" and left `2` for the unknown case so backends can just forward to raw pointer equality and it works ✨
r? `@fee1-dead` or `@lcnr`
cc `@rust-lang/wg-const-eval`
|
|
Rollup of 6 pull requests
Successful merges:
- #101413 (Use RelocModel::Pic for UEFI targets)
- #101595 (Fix ICE report flags display.)
- #101616 (Adapt test for msan message change)
- #101624 (rustdoc: remove unused CSS `#search { position: relative }`)
- #101633 (Rustdoc-Json: Correcty handle intra-doc-links to items without HTML page)
- #101634 (Rustdoc-Json Tests: Use ``@is`` and ``@ismany`` more often.)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Adapt test for msan message change
Similar to rust-lang/rust#100445, this adapts the new test added by rust-lang/rust#99207 to some relatively recent [LLVM changes](https://github.com/llvm/llvm-project/commit/057cabd997aeaef136e1e14f2ee645bd5bb197dd) that removed the function name from msan messages.
Found via our experimental rust + llvm @ HEAD bot:
https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/13347#018321b2-0cc3-4c91-b4db-774477e8b074
`@rustbot` label +llvm-main
|
|
Stabilize raw-dylib for non-x86
This stabilizes the `raw-dylib` and `link_ordinal` features (#58713) for non-x86 architectures (i.e., `x86_64`, `aarch64` and `thumbv7a`):
* Marked the `raw_dylib` feature as `active`.
* Marked the `link_ordinal` attribute as `ungated`.
* Added new errors if either feature is used on x86 targets without the `raw_dylib` feature being enabled.
* Updated tests to only set the `raw_dylib` feature when building for x86.
|
|
|
|
|
|
|
|
Fix code generation of `Rvalue::Repeat` with 128 bit values
Closes #101585.
|
|
update `ParamKindOrd`
https://github.com/rust-lang/rust/pull/90207#discussion_r767160854 :grin:
writing comments "for future prs" sure works well :3
r? `@BoxyUwU`
|
|
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
|
|
|
|
|
|
which verifies that a constant bit width is within 64 bits or fails.
|
|
|
|
|
|
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
|
|
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.
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- #98933 (Opaque types' generic params do not imply anything about their hidden type's lifetimes)
- #101041 (translations(rustc_session): migrates rustc_session to use SessionDiagnostic - Pt. 2)
- #101424 (Adjust and slightly generalize operator error suggestion)
- #101496 (Allow lower_lifetime_binder receive a closure)
- #101501 (Allow lint passes to be bound by `TyCtxt`)
- #101515 (Recover from typo where == is used in place of =)
- #101545 (Remove unnecessary `PartialOrd` and `Ord`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
Recover from typo where == is used in place of =
Fixes #101477
|
|
Adjust and slightly generalize operator error suggestion
(in no particular order)
* Stop passing around a whole extra `ProjectionPredicate`
* Add spaces around `=` in `Trait<..., Output = Ty>` suggestion
* Some code clean-ups, including
* add `lang_item_for_op` to turn a `Op` into a `DefId`
* avoid `SourceMap` because we don't really need to render an expr
* Remove `TypeParamVisitor` in favor of just checking `ty.has_param_types_or_consts` -- this acts a bit differently, but shouldn't cause erroneous suggestions (actually might generalize them a bit)
* We now suggest `Output = Ty` in the `where` clause suggestion when we fail to add `Struct<T>` and `T`.
I can split this out into more PRs if needed, but they're all just miscellaneous generalizations, changes, and nitpicks I saw when messing with this operator code.
|
|
Opaque types' generic params do not imply anything about their hidden type's lifetimes
fixes #97104
cc ```@aliemjay```
|
|
|
|
|
|
Shrink `hir::Ty` and `hir::Pat`
r? `@ghost`
|
|
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
|
|
const_generics: correctly deal with bound variables
removes the hack in `resolve` which was needed because we evaluated constants without caring about their bound variables.
Each commit should be fairly self-contained, even if they build on each other
r? `@jackh726`
|
|
|
|
|
|
|
|
lifetimes
|
|
|
|
Shrink span for bindings with subpatterns.
Bindings with nested patterns (`binding @ pat` syntax) currently point to the full pattern. This PR proposes to shrink the span to stop before the ````@`.``` This makes the diagnostics for move/mutability conflicts clearer, as they not point to the `binding` only, instead of the full pat.
r? ```@estebank```
|
|
This shrinks `hir::Pat` from 88 to 72 bytes.
|
|
This shrinks `hir::Ty` from 72 to 48 bytes.
`visit_lifetime` is added to the HIR stats collector because these types
are now stored in memory on their own, instead of being within other
types.
|
|
|
|
|
|
|
|
|
|
Use niche-filling optimization even when multiple variants have data.
Fixes #46213
|