| Age | Commit message (Collapse) | Author | Lines |
|
extend `simplify_type`
might cause a slight perf inprovement and imo more accurately represents what types there are.
considering that I was going to use this in #85048 it seems like we might need this in the future anyways :shrug:
|
|
|
|
fix clippy::single_char_pattern perf findings
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The spans no longer overlap, so we no longer need to specialize the
output depending on whether they would.
|
|
|
|
suggestion
Keep the `HirId` of `.await`ed expressions so in the case of a `fn` call
on on a sync `fn`, we can suggest maybe turning it into an `async fn`.
|
|
|
|
|
|
Keep track of the origin of a `T: Future` obligation when caused by an
`.await` expression.
Address #66731.
|
|
Eliminate ConstnessAnd again
Closes #91489.
Closes #89432.
Reverts #91491.
Reverts #89450.
r? `@spastorino`
|
|
Deduplicate projection sub-obligations
|
|
|
|
|
|
This reverts commit ff2439b7b9bafcfdff86b7847128014699df8442, reversing
changes made to 2a9e0831d6603d87220cedd1b1293e2eb82ef55c.
|
|
* Point at RHS of associated type in obligation span
* Point at `impl` assoc type on projection error
* Reduce verbosity of recursive obligations
* Point at source of binding lifetime obligation
* Tweak "required bound" note
* Tweak "expected... found opaque (return) type" labels
* Point at set type in impl assoc type WF errors
|
|
Remove redundant [..]s
|
|
|
|
|
|
Rollup of 4 pull requests
Successful merges:
- #90529 (Skip reborrows in AbstractConstBuilder)
- #91437 (Pretty print empty blocks as {})
- #91450 (Don't suggest types whose inner type is erroneous)
- #91535 (Stabilize `-Z emit-future-incompat` as `--json future-incompat`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Skip reborrows in AbstractConstBuilder
Fixes https://github.com/rust-lang/rust/issues/90455
Temporary fix to prevent confusing diagnostics that refer to implicit borrows and derefs until we allow borrows and derefs on constant expressions.
r? `@oli-obk`
|
|
|
|
|
|
Keep spans for generics in `#[derive(_)]` desugaring
Keep the spans for generics coming from a `derive`d Item, so that errors
and suggestions have better detail.
Fix #84003.
|
|
* Annotate `derive`d spans from the user's code with the appropciate context
* Add `Span::can_be_used_for_suggestion` to query if the underlying span
at the users' code
|
|
This reverts commit 18bb8c61a975fff6424cda831ace5b0404277145, reversing
changes made to d9baa361902b172be716f96619b909f340802dea.
|
|
Rollup of 12 pull requests
Successful merges:
- #89954 (Fix legacy_const_generic doc arguments display)
- #91321 (Handle placeholder regions in NLL type outlive constraints)
- #91329 (Fix incorrect usage of `EvaluatedToOk` when evaluating `TypeOutlives`)
- #91364 (Improve error message for incorrect field accesses through raw pointers)
- #91387 (Clarify and tidy up explanation of E0038)
- #91410 (Move `#![feature(const_precise_live_drops)]` checks earlier in the pipeline)
- #91435 (Improve diagnostic for missing half of binary operator in `if` condition)
- #91444 (disable tests in Miri that take too long)
- #91457 (Add additional test from rust issue number 91068)
- #91460 (Document how `last_os_error` should be used)
- #91464 (Document file path case sensitivity)
- #91466 (Improve the comments in `Symbol::interner`.)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Fix incorrect usage of `EvaluatedToOk` when evaluating `TypeOutlives`
A global predicate is not guarnatenteed to outlive all regions.
If the predicate involves late-bound regions, then it may fail
to outlive other regions (e.g. `for<'b> &'b bool: 'static` does not
hold)
We now only produce `EvaluatedToOk` when a global predicate has no
late-bound regions - in that case, the ony region that can be present
in the type is 'static
|
|
r=jackh726
Reduce boilerplate around infallible folders
Further to https://github.com/rust-lang/rust/pull/91230#issuecomment-981059666
r? `@jackh726`
|
|
|
|
|
|
Rollup of 4 iffy pull requests
Successful merges:
- #89234 (Disallow non-c-like but "fieldless" ADTs from being casted to integer if they use arbitrary enum discriminant)
- #91045 (Issue 90702 fix: Stop treating some crate loading failures as fatal errors)
- #91394 (Bump stage0 compiler)
- #91411 (Enable svh tests on msvc)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Bump stage0 compiler
r? `@pietroalbini` (or anyone else)
|
|
Cleanup: Eliminate ConstnessAnd
This is almost a behaviour-free change and purely a refactoring. "almost" because we appear to be using the wrong ParamEnv somewhere already, and this is now exposed by failing a test using the unstable `~const` feature.
We most definitely need to review all `without_const` and at some point should probably get rid of many of them by using `TraitPredicate` instead of `TraitRef`.
This is a continuation of https://github.com/rust-lang/rust/pull/90274.
r? `@oli-obk`
cc `@spastorino` `@ecstatic-morse`
|
|
|
|
|
|
Use `get_diagnostic_name` more
|
|
|
|
|
|
|
|
TraitPredicate instead
|
|
same information
|
|
|
|
for it
This breaks a ~const test that will be fixed in a follow up commit of this PR
|