Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 6 pull requests #129092

Merged
merged 20 commits into from
Aug 14, 2024
Merged

Rollup of 6 pull requests #129092

merged 20 commits into from
Aug 14, 2024

Commits on Aug 12, 2024

  1. do not use the global solver cache for proof trees

    doing so requires overwriting global cache entries and
    generally adds significant complexity to the solver. This is
    also only ever done for root goals, so it feels easier to wrap
    the `evaluate_canonical_goal` in an ordinary query if
    necessary.
    lcnr committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    7b86c98 View commit details
    Browse the repository at this point in the history
  2. expand fuzzing support

    this allows us to only sometimes disable the global cache.
    lcnr committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    51338ca View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e87157b View commit details
    Browse the repository at this point in the history
  4. tracing: debug to trace

    lcnr committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    9308401 View commit details
    Browse the repository at this point in the history
  5. move behavior out of shared fn

    lcnr committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    e83eacd View commit details
    Browse the repository at this point in the history
  6. merge impl blocks

    lcnr committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    0c75c08 View commit details
    Browse the repository at this point in the history
  7. split provisional cache and stack lookup

    this makes it easier to maintain and modify going forward.
    There may be a small performance cost as we now need to
    access the provisional cache *and* walk through the stack
    to detect cycles. However, the provisional cache should be
    mostly empty and the stack should only have a few elements
    so the performance impact is likely minimal.
    
    Given the complexity of the search graph maintainability
    trumps linear performance improvements.
    lcnr committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    f860873 View commit details
    Browse the repository at this point in the history
  8. Explicitly specify type parameter on FromResidual impls in stdlib.

    To work around coherence issue. Also adds regression test.
    zachs18 committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    1b6df71 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. Configuration menu
    Copy the full SHA
    0aa17a4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    850bcbd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5df13af View commit details
    Browse the repository at this point in the history
  4. stabilize asm_const

    folkertdev committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    8419c09 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. Configuration menu
    Copy the full SHA
    342b374 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8557b56 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#128570 - folkertdev:stabilize-asm-const, r=…

    …Amanieu
    
    Stabilize `asm_const`
    
    tracking issue: rust-lang#93332
    
    reference PR: rust-lang/reference#1556
    
    this will probably require some CI wrangling (and a rebase), so let's get that over with even though the final required PR is not merged yet.
    
    r? `@ghost`
    jieyouxu authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    196d256 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#128828 - lcnr:search-graph-11, r=compiler-e…

    …rrors
    
    `-Znext-solver` caching
    
    This PR has two major changes while also fixing multiple issues found via fuzzing.
    
    The main optimization is the ability to not discard provisional cache entries when popping the highest cycle head the entry depends on. This fixes the hang in Fuchsia with `-Znext-solver=coherence`.
    
    It also bails if the result of a fixpoint iteration is ambiguous, even without reaching a fixpoint. This is necessary to avoid exponential blowup if a coinductive cycle results in ambiguity, e.g. due to unknowable candidates in coherence.
    
    Updating stack entries pretty much exclusively happens lazily now, so `fn check_invariants` ended up being mostly useless and I've removed it. See https://gist.github.com/lcnr/8de338fdb2685581e17727bbfab0622a for the invariants we would be able to assert with it.
    
    For a general overview, see the in-process update of the relevant rustc-dev-guide chapter: https://hackmd.io/1ALkSjKlSCyQG-dVb_PUHw
    
    r? ```@compiler-errors```
    jieyouxu authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    59ad2ae View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#128954 - zachs18:fromresidual-no-default, r…

    …=scottmcm
    
    Explicitly specify type parameter on FromResidual for Option and ControlFlow.
    
    ~~Remove type parameter default `R = <Self as Try>::Residual` from `FromResidual`~~ _Specify default type parameter on `FromResidual` impls in the stdlib_ to work around rust-lang#99940 / rust-lang#87350 ~~as mentioned in rust-lang#84277 (comment).
    
    This does not completely fix the issue, but works around it for `Option` and `ControlFlow` specifically (`Result` does not have the issue since it already did not use the default parameter of `FromResidual`).
    
    ~~(Does this need an ACP or similar?)~~ ~~This probably needs at least an FCP since it changes the API described in [the RFC](rust-lang/rfcs#3058). Not sure if T-lang, T-libs-api, T-libs, or some combination (The tracking issue is tagged T-lang, T-libs-api).~~ This probably doesn't need T-lang input, since it is not changing the API of `FromResidual` from the RFC? Maybe needs T-libs-api FCP?
    jieyouxu authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    049b3e5 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#129059 - compiler-errors:subtyping-correct-…

    …type, r=lcnr
    
    Record the correct target type when coercing fn items/closures to pointers
    
    Self-explanatory. We were previously not recording the *target* type of a coercion as the output of an adjustment. This should remedy that.
    
    We must also modify the function pointer casts in MIR typeck to use subtyping, since those broke since rust-lang#118247.
    
    r? lcnr
    jieyouxu authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    2200910 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#129071 - Zalathar:sysroot-unstable, r=jieyouxu

    Port `run-make/sysroot-crates-are-unstable` to rmake
    
    I already have a more elaborate draft at rust-lang#126231 that tries to port the underlying Python script to rmake, but there's no need for the removal of Makefiles to be held up on complex tasks like that, so this PR simply takes the trivial Makefile and converts it into a trivial rmake recipe.
    
    Part of rust-lang#121876.
    
    r? ``@jieyouxu``
    jieyouxu authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    7472d1b View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#129088 - Jaic1:fix-doc, r=GuillaumeGomez

    Make the rendered html doc for rustc better
    
    This PR adds `|` to make the html doc of [`rustc_error::Level`](https://doc.rust-lang.org/1.80.0/nightly-rustc/rustc_errors/enum.Level.html) rendered better. Previsouly it looks good in the source code, but not rendered correctly in the html doc.
    
    r? `@GuillaumeGomez`
    jieyouxu authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    4d8c0b3 View commit details
    Browse the repository at this point in the history