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 5 pull requests #129082

Closed
wants to merge 146 commits into from
Closed

Commits on Jul 28, 2024

  1. Determine toolchain RA on age

    Selects a rust-toolchain declared RA based on its date. The earliest (oldest) RA wins and becomes the one that the workspace uses as a whole.
    
    In terms of precedence:
    
    nightly > stable-with-version > stable
    
    With stable-with-version, we invoke the RA with a `--version` arg and attempt to extract a date. Given the same date as a nightly, the nightly RA will win.
    huntc committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    a22aeb2 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Checks date for any RA

    huntc committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    786ef83 View commit details
    Browse the repository at this point in the history
  2. Further simplifications

    huntc committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    6b4c0e0 View commit details
    Browse the repository at this point in the history
  3. Outdated comment removed

    huntc committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    440b8be View commit details
    Browse the repository at this point in the history
  4. Formatting

    huntc committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    af4a59b View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. Corrected precedence position

    huntc committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    8ca9034 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. Configuration menu
    Copy the full SHA
    44f5392 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cce9da3 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#17763 - ShoyuVanilla:wrap-unit, r=Veykril

    fix: Insert a tail `Ok(())` for expr block instead of wrapping with `Ok`
    
    Fixes rust-lang#17728
    
    When type mismatch is `Result<(), E>, ()` or `Option<()>, ()` and target expr is a block expression, it is more reasonable to insert a wrapped unit - `Ok(())` or `Some(())` - as the tail expression of that block than wrapping the entire block with `Ok` or `Some`
    bors committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    61ebcf6 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. Auto merge of rust-lang#17705 - huntc:resolve-ra, r=Veykril

    feat: Use oldest rustup rust-analyzer when toolchain override is present
    
    Selects a rust-toolchain declared RA based on its date. The earliest (oldest) RA wins and becomes the one that the workspace uses as a whole.
    
    In terms of precedence:
    
    nightly > stable-with-version > stable
    
    With stable-with-version, we invoke the RA with a `--version` arg and attempt to extract a date. Given the same date as a nightly, the nightly RA will win.
    
    Fixes rust-lang#17663
    bors committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    d646f7b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ac2ad4 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#17770 - Veykril:path-try-from, r=Veykril

    internal: Remove AbsPathBuf::TryFrom impl that checks too many things at once
    
    rust-lang/rust-analyzer#16889 (comment)
    bors committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    6da26c1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    07e6f9d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2d8a494 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2024

  1. Configuration menu
    Copy the full SHA
    a95ff26 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fbe7233 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#17789 - ShoyuVanilla:issue-17191, r=Veykril

    fix: Insert a generic arg for `impl Trait` when lowering generic args
    
    Fixes rust-lang#17191
    
    We are not inserting a generic arg when lowering generics like
    ```rust
    fn foo<T: B<impl A>(..) { ... }
    ```
    but when we are lowering predicates we do;
    
    https://github.com/rust-lang/rust-analyzer/blob/aa00ddcf654a35ba0eafe17247cf189958d33182/crates/hir-ty/src/lower.rs#L1697-L1718
    https://github.com/rust-lang/rust-analyzer/blob/aa00ddcf654a35ba0eafe17247cf189958d33182/crates/hir-ty/src/lower.rs#L310
    
    and this mismatch causes index out of bound panic while substituting the predicates
    bors committed Aug 4, 2024
    Configuration menu
    Copy the full SHA
    77fe1cb View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. add msvc note to manual

    jjoeldaniel committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    b6b4e1a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ef7d2c5 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#17795 - Veykril:library-dep-loading, r=Veykril

    feat: Load sysroot library via cargo metadata
    
    See rust-lang#128534, fixes rust-lang/rust-analyzer#7637
    
    Requires a toolchain from 176e545 2024-08-04 or later to work.
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    d84b970 View commit details
    Browse the repository at this point in the history
  4. Simplify FileDelegate

    Veykril committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    2e7db9c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    90803b1 View commit details
    Browse the repository at this point in the history
  6. Newtype ErasedFileAstId

    Veykril committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    cdee65f View commit details
    Browse the repository at this point in the history
  7. Auto merge of rust-lang#17794 - Veykril:source-db-simplify, r=Veykril

    internal: Newtype `ErasedFileAstId`
    
    It wrapping `la_arena::Idx` makes it quite annoying to use
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    6825324 View commit details
    Browse the repository at this point in the history
  8. Simplify

    Veykril authored Aug 5, 2024
    Configuration menu
    Copy the full SHA
    f12aca9 View commit details
    Browse the repository at this point in the history
  9. Auto merge of rust-lang#17784 - Young-Flash:block_with_label, r=Veykril

    feat: support inlay hint for more expr with label
    
    follow up rust-lang/rust-analyzer#17635
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    78dea24 View commit details
    Browse the repository at this point in the history
  10. Auto merge of rust-lang#17793 - jjoeldaniel:msvc-docs, r=Veykril

    docs: add msvc note to manual
    
    Added note for Windows users to have the latest MSVC to minimize setup issues.
    
    Closes rust-lang#4870
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    56fe166 View commit details
    Browse the repository at this point in the history
  11. Auto merge of rust-lang#17799 - Veykril:syntax-bridge, r=Veykril

    Split out syntax-bridge into a separate crate
    
    This functionality is not really tied to mbe macros, so imo it has no place in that crate.
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    9d99d39 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3e809f8 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    92a07b8 View commit details
    Browse the repository at this point in the history
  14. Auto merge of rust-lang#17801 - Veykril:unbrick-metrics, r=Veykril

    minor: Fix metrics not running
    
    `@bors` r+
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    56a7922 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    80c8786 View commit details
    Browse the repository at this point in the history
  16. Auto merge of rust-lang#17775 - ShoyuVanilla:segregate-diags, r=Veykril

    perf: Segregate syntax and semantic diagnostics
    
    Closes rust-lang#17731
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    22f7c08 View commit details
    Browse the repository at this point in the history
  17. Auto merge of rust-lang#17791 - ShoyuVanilla:await-outside-of-async, …

    …r=Veykril
    
    feat: Implement diagnostic for `await` outside of `async`
    
    Closes rust-lang#17781
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    81cbc78 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    314f301 View commit details
    Browse the repository at this point in the history
  19. Reorganize debug.ts

    Veykril committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    d95a4b8 View commit details
    Browse the repository at this point in the history
  20. Auto merge of rust-lang#17771 - Veykril:parallel-vfs-config, r=Veykril

    internal: Load VFS config changes in parallel
    
    Simple attempt to make some progress f or rust-lang/rust-analyzer#17373
    No clue if those atomic orderings are right, though I don't think they are really too relevant either.
    
    A more complete fix would probably need to replace our `ProjectFolders` handling a bit.
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    7dd258a View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    3e23c45 View commit details
    Browse the repository at this point in the history
  22. Auto merge of rust-lang#17772 - Veykril:debug.ts, r=Veykril

    internal: Reorganize debug.ts
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    64cd3da View commit details
    Browse the repository at this point in the history
  23. Auto merge of rust-lang#17802 - Veykril:arg-mismatch-no-ty-mismatch, …

    …r=Veykril
    
    fix: Surpress type mismatches in calls with mismatched arg counts
    
    These tend to get very noisy, hiding the actual problem.
    bors committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    37f7569 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    ad4e815 View commit details
    Browse the repository at this point in the history
  25. Replace "TBD" with more helpful desciptions in published crates' `[…

    …package.description]` fields
    regexident committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    88ea306 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    1635341 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    a22691a View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    cc67602 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    54e68e6 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    ccc4177 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    08d3d44 View commit details
    Browse the repository at this point in the history
  32. Unify package descriptions by adding references to "rust-analyzer"

    With the lack of a README on the individually published library crates and the somewhat cryptic `ra_ap_` prefix it is hard to figure out where those crates belong to, so mentioning "rust-analyzer" feels like auseful hint there.
    regexident committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    e15ffa5 View commit details
    Browse the repository at this point in the history
  33. Replace [package.repository] = "…" of published crates with `[packa…

    …ge.repository.workspace] = true`
    regexident committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    584f954 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. Auto merge of rust-lang#17805 - ShoyuVanilla:issue-17578, r=Veykril

    fix: Panic in path transform with default type parameters
    
    Fixes rust-lang#17578
    bors committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    54362ca View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#17745 - regexident:improve-crate-manifests, r…

    …=Veykril
    
    Improve crate manifests, adding missing `[package.repository]` and `[package.description]` fields
    
    As [discussed on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Could.20we.20add.20repository.20url.20to.20.60ra_ap_.60.20crates.20on.20crates.2Eio.3F/near/455095161).
    
    cc `@Veykril` `@lnicola`
    bors committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    e686ffe View commit details
    Browse the repository at this point in the history
  3. Include vendored crates in StaticIndex

    StaticIndex::compute filters out modules from libraries. This makes an
    exceptions for vendored libraries, ie libraries actually defined inside
    the workspace being indexed.
    
    This aims to solve https://bugzilla.mozilla.org/show_bug.cgi?id=1846041
    In general StaticIndex is meant for code browsers, which likely want to
    index all visible source files.
    nicolas-guichard committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    6c1d83b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ac7c466 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Configuration menu
    Copy the full SHA
    7af01f7 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#17818 - alibektas:hidden_rust_project_json, r…

    …=Veykril
    
    Allow rust-project.json to be hidden
    
    Closes rust-lang#17816
    bors committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    937ef11 View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#17813 - roife:fix-issue-17803, r=Veykril

    fix: tyck for non-ADT types when searching refs for `Self` kw
    
    See https://github.com/rust-lang/rust-analyzer/pull/15864/files/e0276dc5ddc38c65240edb408522bb869f15afb4#r1389848845
    
    For ADTs, to handle `{error}` in generic args, we should to convert them to ADT for comparisons; for others, we can directly compare the types.
    bors committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    0713a47 View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#17809 - nicolas-guichard:index-vendored, r=Ve…

    …ykril
    
    Include vendored crates in StaticIndex
    
    `StaticIndex::compute` filters out modules from libraries. This makes an exceptions for vendored libraries, ie libraries actually defined inside the workspace being indexed.
    
    This aims to solve https://bugzilla.mozilla.org/show_bug.cgi?id=1846041 In general StaticIndex is meant for code browsers, which likely want to index all visible source files.
    bors committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    34cde83 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dbf2c12 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f1f048c View commit details
    Browse the repository at this point in the history
  7. Auto merge of rust-lang#17821 - Veykril:project-model-cleanup, r=Veykril

    internal: Remove unnecessary CfgFlag definition in project-model
    bors committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    359d5b9 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c4809d0 View commit details
    Browse the repository at this point in the history
  9. Auto merge of rust-lang#17823 - Veykril:mod-unconfigured-diag, r=Veykril

    fix: Fix unconfigured diagnostic being attached to the wrong file for modules
    
    Fixes rust-lang/rust-analyzer#17817
    bors committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    6fc5d09 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d366706 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    e7086a3 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3e4632d View commit details
    Browse the repository at this point in the history
  13. Auto merge of rust-lang#17824 - ShoyuVanilla:fix-diags, r=Veykril

    fix: Native diagnostics not working
    
                  This should be a `continue` now
    
    _Originally posted by `@Veykril` in rust-lang/rust-analyzer#17775 (comment)
    
    I've tested the release compile output with IDE in the original PR, but my test workspace had only one `.rs` file 🤦 😢
    bors committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    7614de4 View commit details
    Browse the repository at this point in the history
  14. Auto merge of rust-lang#17825 - Veykril:server-things, r=Veykril

    internal: Offload diagnostics serialization to the task pool
    bors committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    2a6655a View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    1555fd9 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    d8bb3c8 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. Auto merge of rust-lang#17827 - regexident:improve-crate-manifests-co…

    …ntinuation, r=lnicola
    
    Improve crate manifest of 'syntax-bridge', adding missing `[package.repository]` and `[package.description]` fields
    
    This is a follow-up of rust-lang/rust-analyzer#17745, specifically [this comment](rust-lang/rust-analyzer#17745 (comment)) by `@lnicola.`
    
    It refines the manifest of the newly added 'syntax-bridge' crate, adding a `[package.repository]` as `workspace = true` and changes the existing `[package.description]` from "TBD" to a more useful description.
    bors committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    fe4d83c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1114de0 View commit details
    Browse the repository at this point in the history
  3. Split up flycheck module

    Veykril committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    8ff6b2f View commit details
    Browse the repository at this point in the history
  4. Auto merge of rust-lang#17831 - Veykril:flycheck-move-to-rust-analyze…

    …r, r=Veykril
    
    internal: Move and split flycheck crate into rust-analyzer main crate
    
    The crate no longer is about flychecking, it mainly hosts common command process handling shared by flycheck, test explorer and now project discovery. This re-organizes that into the main crate.
    bors committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    8666a71 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ce846da View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#17832 - ShoyuVanilla:issue-17811, r=Veykril

    fix: Panic while rendering function type hint with impl trait arg
    
    Fixes rust-lang#17811
    bors committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    b086040 View commit details
    Browse the repository at this point in the history
  7. Reuse recursion limit as expansion limit

    A configurable recursion limit was introduced by looking at the
    recursion_limit crate attribute. Instead of relying on a global constant
    we will reuse this value for expansion limit as well.
    edevil committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    e6d426e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    077403a View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. Auto merge of rust-lang#17836 - winstxnhdw:sysroot, r=Veykril

    minor: log error when sysroot can't be discovered
    
    Closes rust-lang#17808
    bors committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    bee4926 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    03a7abc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f4b1b4b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    58c614f View commit details
    Browse the repository at this point in the history
  5. Remove unneeded send method

    mo8it committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    7341b88 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    dd90d4e View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2024

  1. Use select_biased

    mo8it committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    35903a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    204fb5b View commit details
    Browse the repository at this point in the history
  3. feat: Implement TAIT

    ShoyuVanilla committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    18b9458 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cbd00f1 View commit details
    Browse the repository at this point in the history
  5. Move some stuff

    Veykril committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    e219ac6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    01262d9 View commit details
    Browse the repository at this point in the history
  7. Auto merge of rust-lang#17849 - Veykril:rust-analyzer-crate, r=Veykril

    internal: Move some main crate stuff
    bors committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    2e0f5f6 View commit details
    Browse the repository at this point in the history
  8. Auto merge of rust-lang#17844 - Veykril:find-path-std-fix, r=Veykril

    fix: Fix find_path not respecting non-std preference config correctly
    
    Fixes rust-lang/rust-analyzer#17840
    bors committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    ec03068 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2024

  1. Fix deadlock

    mo8it committed Aug 11, 2024
    Configuration menu
    Copy the full SHA
    97a6fc6 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. Auto merge of rust-lang#17845 - ShoyuVanilla:tait, r=Veykril

    feat: Implement TAIT and fix ATPIT a bit
    
    Closes rust-lang#16296 (Commented on the issue)
    
    In rust-lang#16852, I implemented ATPIT, but as I didn't discern ATPIT and other non-assoc TAIT, I guess that it has been working for some TAITs.
    
    As the definining usage of TAIT requires it should be appear in the Def body's type(const blocks' type annotations or functions' signatures), this can be done in simlilar way with ATPIT
    
    And this PR also corrects some defining-usage resolution for ATPIT
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    3ef56c2 View commit details
    Browse the repository at this point in the history
  2. Auto merge of rust-lang#17833 - edevil:fix_expansion_limit, r=Veykril

    Reuse recursion limit as expansion limit
    
    A configurable recursion limit was introduced by looking at the recursion_limit crate attribute. Instead of relying on a global constant we will reuse this value for expansion limit as well.
    
    Addresses: rust-lang/rust-analyzer#8640 (comment)
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    12a3d01 View commit details
    Browse the repository at this point in the history
  3. 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
  4. 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
  5. Configuration menu
    Copy the full SHA
    e87157b View commit details
    Browse the repository at this point in the history
  6. 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
  7. 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
  8. 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
  9. 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
  10. Revert "Remove unneeded send method"

    This reverts commit 567bde603cfeedb5cfc44e441578c5416bfc4f35.
    mo8it committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    94bd4da View commit details
    Browse the repository at this point in the history
  11. Add track_caller

    mo8it committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    7586ba6 View commit details
    Browse the repository at this point in the history
  12. Add more track_caller

    mo8it committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    285285d View commit details
    Browse the repository at this point in the history
  13. Use the send method

    mo8it committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    f7c4716 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    3355c78 View commit details
    Browse the repository at this point in the history
  15. Auto merge of rust-lang#17859 - Veykril:rustc_deprecated_safe_2024, r…

    …=Veykril
    
    fix: Correctly support `#[rustc_deprecated_safe_2024]`
    
    Fixes rust-lang/rust-analyzer#17852
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    757b0a5 View commit details
    Browse the repository at this point in the history
  16. Auto merge of rust-lang#17842 - mo8it:crossbeam-channel, r=Veykril

    internal: Optimize the usage of channel senders
    
    Used `Sender` directly instead of a boxed closure. There is no need to use the boxed closure. This also allows the caller to decide to do something other than `unwrap` (not a fan of it BTW).
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    c2d1555 View commit details
    Browse the repository at this point in the history
  17. Auto merge of rust-lang#17843 - mo8it:flycheck, r=Veykril

    internal: Performance optimizations
    
    - Use `Command::arg` directly
    - Avoid the overhead of the `select!` macro when possible
    - Use `select_biased!`
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    7c53ff2 View commit details
    Browse the repository at this point in the history
  18. minor: Bump lockfile

    Veykril committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    69f6138 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    4079447 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    234d383 View commit details
    Browse the repository at this point in the history
  21. Auto merge of rust-lang#17860 - Veykril:publish-libs, r=Veykril

    fix: Fix publish libs workflow
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    563dc1c View commit details
    Browse the repository at this point in the history
  22. Auto merge of rust-lang#17850 - Veykril:rust-analyzer-crate, r=Veykril

    internal: Reply to requests with defaults when vfs is still loading
    
    There is no reason for us to hit the database with queries when we certainly haven't reached a stable state yet. Instead we just reply with default request results until we are in a state where we can do meaningful work. This should save us from wasting resources while starting up at worst, and at best save us from creating query and interning entries that are non-meaningful which ultimately just end up wasting memory.
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    5e753ff View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    696ecea View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    a2b10a3 View commit details
    Browse the repository at this point in the history
  25. Allow new license combination

    Veykril committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    9431039 View commit details
    Browse the repository at this point in the history
  26. Auto merge of rust-lang#17861 - Veykril:bump-lock, r=Veykril

    minor: Bump lockfile
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    bdc0b78 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    1ebd727 View commit details
    Browse the repository at this point in the history
  28. Auto merge of rust-lang#17863 - Veykril:include-diags, r=Veykril

    fix: Resolve included files to their calling modules in IDE layer
    
    Fixes rust-lang/rust-analyzer#17390 at the expense of reporting duplicate diagnostics for modules that have includes in them when both the calling and called file are included.
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    ff63552 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    1b983e3 View commit details
    Browse the repository at this point in the history
  30. Auto merge of rust-lang#17864 - Veykril:lsif, r=Veykril

    fix: Build and run build scripts in lsif command
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    e66f3db View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    3bb7f35 View commit details
    Browse the repository at this point in the history
  32. Auto merge of rust-lang#17865 - ShoyuVanilla:exhaust-block, r=Veykril

    fix: Missing non-exhaustive let diagnostics inside async or unsafe block
    
    The reason that this test doesn't have a pointer deref case is because the following code;
    ```rust
    fn test(ptr: *const Result<i32, !>) {
        unsafe {
            let Ok(_x) = *ptr;
        }
    }
    ```
    is getting a block with no stmts but tail one in here(thus, no diagnostic error),
    https://github.com/rust-lang/rust-analyzer/blob/0daeb5c0b05cfdf2101b0f078c27539099bf38e6/crates/hir-ty/src/diagnostics/expr.rs#L256-L257
    while the following is getting a block with a single stmt without tail 🤔
    ```rust
    fn test(x: Result<i32, &'static !>) {
        let Ok(_y) = x;
    }
    ```
    I'll make a more deep inspection and file this as a new issue
    
    _Originally posted by `@ShoyuVanilla` in rust-lang/rust-analyzer#17853 (comment)
    bors committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    0a336b3 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    81561ff View commit details
    Browse the repository at this point in the history
  34. 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. Auto merge of rust-lang#17867 - ShoyuVanilla:issue-17854, r=Veykril

    fix: Trailing excess comma in "Convert to named struct" assist
    
    Fixes rust-lang#17854
    bors committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    84ac708 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    705a89e View commit details
    Browse the repository at this point in the history
  3. Auto merge of rust-lang#17876 - Veykril:semantics-include-simplify, r…

    …=Veykril
    
    internal: Remove unreachable logic for include token mapping
    
    Turns out rust-lang/rust-analyzer#17863 made this obsolete 🎉
    bors committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    acc2c5d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2097160 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6911d9f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4ea0db9 View commit details
    Browse the repository at this point in the history
  7. Auto merge of rust-lang#17853 - ShoyuVanilla:min-exhaustive-pat, r=Sh…

    …oyuVanilla
    
    feat: `min-exhaustive-patterns`
    
    Resolves rust-lang#17851
    bors committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    00423bb View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ddb8551 View commit details
    Browse the repository at this point in the history
  9. Merge from rust-lang/rust

    lnicola committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    28af7e0 View commit details
    Browse the repository at this point in the history
  10. Auto merge of rust-lang#17880 - lnicola:sync-from-rust, r=lnicola

    minor: sync from downstream
    bors committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    f96e296 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    0aa17a4 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    850bcbd View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5df13af 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. 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``
    matthiaskrgr authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    241f1d5 View commit details
    Browse the repository at this point in the history
  3. 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?
    matthiaskrgr authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    81c4124 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#129054 - lnicola:sync-from-ra, r=lnicola

    Subtree update of `rust-analyzer`
    
    r? `@ghost`
    
    CC `@ShoyuVanilla`
    matthiaskrgr authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    88b3169 View commit details
    Browse the repository at this point in the history
  5. 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
    matthiaskrgr authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    9f46639 View commit details
    Browse the repository at this point in the history
  6. 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`
    matthiaskrgr authored Aug 14, 2024
    Configuration menu
    Copy the full SHA
    cd37a32 View commit details
    Browse the repository at this point in the history