| Age | Commit message (Collapse) | Author | Lines |
|
pnkfelix:issue-61188-use-visitor-for-structural-match-check, r=nikomatsakis
use visitor for #[structural_match] check
This changes the code so that we recur down the structure of a type of a const (rather than just inspecting at a shallow one or two levels) when we are looking to see if it has an ADT that did not derive `PartialEq` and `Eq`.
Fix #61188
Fix #62307
Cc #62336
|
|
|
|
|
|
We're always indenting by INDENT_UNIT anyway
|
|
|
|
|
|
Also moves it to pp::Printer from PrintState.
|
|
|
|
This enforces that eof() must be called to get the String out, and
generally is better from an API perspective. No users of pretty printing
pre-allocate the buffer.
|
|
|
|
|
|
This also permits sharing the underlying code between pprust and
hir::print.
|
|
There was only one callsite for each and this removes the
unwrap_or_default's on the comments argument
|
|
We always check against the length before indexing anyway.
|
|
|
|
|
|
Miri: Provide pointer forcing methods for MemPlace and Op
These are useful when one wants to to a lot of work with some place or operand and not to int-to-ptr casts all the time. In particular, this is needed to fix some test failures in Miri: we need to normalize before starting a visitor that walks a run-time value, so that we can later be sure (during the visitor walk) that we have a proper `Pointer`.
Also see the Miri side at https://github.com/rust-lang/miri/pull/830.
Cc @eddyb @oli-obk
|
|
Emit warning when trying to use PGO in conjunction with unwinding on …
…Windows.
This reduces the error introduced for #61002 to just a warning.
|
|
Rollup of 9 pull requests
Successful merges:
- #62417 (Fix ICEs when `Self` is used in type aliases)
- #62450 (Raise the default recursion limit to 128)
- #62470 (Prevent shrinking of "crate select" element on Firefox)
- #62515 (cli: make help output for -l and -L consistent)
- #62520 (Regression test for issue 42574.)
- #62526 (normalize use of backticks in compiler messages for libsyntax/feature_gate.rs)
- #62527 (clarify that debug_assert does not completely omits the code)
- #62535 (ci: Configure $CI_JOB_NAME correctly)
- #62541 (Add spastorino for rustc-guide toolstate)
Failed merges:
r? @ghost
|
|
|
|
cli: make help output for -l and -L consistent
|
|
Raise the default recursion limit to 128
The previous limit of 64 is being (just) barely hit by genuine code out there, which is causing issues like https://github.com/rust-lang/rust/issues/62059 to rear their end.
Ideally, we wouldn’t have such arbitrary limits at all, but while we do, it makes a lot of sense to just raise this limit whenever genuine use-cases end up hitting it.
r? @pnkfelix
Fixes https://github.com/rust-lang/rust/issues/62059
|
|
Normalize projections appearing in `impl Trait`
Fixes #60414
This does not try to do the same for `existential type`s (which have the same bug), since that always seems to lead to cycle errors.
|
|
Exit arm scopes
Due to a bug in the HIR CFG construction, borrows for arm scopes were incorrectly leaking into other arms.
This PR also includes some drive-by improvements to `-Zunpretty=hir,identified` that would have been helpful while investigating this.
Closes #62107
|
|
|
|
davidtwco:ice-async-await-out-of-range-substitution, r=nikomatsakis
typeck: merge opaque type inference logic
Fixes #55872. See [relevant Zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/187312-wg-async-foundations/topic/type.20parameter.20out.20of.20range.20.2355872).
r? @nikomatsakis
|
|
|
|
|
|
to go to trait def to double-check.
|
|
|
|
Support stability and deprecation checking for all macros
RELNOTES: Deprecation attributes on macros now have effect.
Fixes https://github.com/rust-lang/rust/issues/34079
Fixes https://github.com/rust-lang/rust/issues/49912
Unblocks https://github.com/rust-lang/rust/pull/62086
Unblocks https://github.com/rust-lang/rust/pull/61000
|
|
|
|
|
|
|
|
|
|
Now that procedural macros no longer link transitively to libsyntax,
this shouldn't be needed any more! This commit is an experiment in
removing all dynamic libraries from rustc except for librustc_driver
itself. Let's see how far we can get with that!
|
|
|
|
|
|
When a match evaluates to false we jump to the next arm, when we do so
we need to make sure that we exit the scope for that arm.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
remove Scalar::is_null_ptr
Comparing pointers should be done more carefully than that. With https://github.com/rust-lang/miri/pull/825, Miri does not need it any more and it is otherwise unused.
|
|
The (almost) culmination of HirIdification
It's finally over.
This PR removes old `FIXME`s and renames some functions so that the `HirId` variant has the shorter name.
All that remains (and rightfully so) is stuff in `resolve`, `save_analysis` and (as far as I can tell) in a few places where we can't replace `NodeId` with `HirId`.
|
|
Improve -Ztime-passes
Two improvements that make `-Ztime-passes` more useful.
r? @Zoxc
|