aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Give ‘unsafe’ semantic token modifier to unsafe traitsAramis Razzaghipour2021-05-235-3/+20
|
*-. Merge #8936 #8939bors[bot]2021-05-234-20/+38
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8936: fix: Improve nightly downloads with better local state management r=matklad a=SomeoneToIgnore When any nightly is downloaded, we store its GitHub release id in the local cache and never invalidate that cache. Due to this, it was possible to do the following sequence: * have the nightly locally * downgrade the extension to any stable version * observe that despite the `"rust-analyzer.updates.channel": "nightly",` setting, no nightly updates are happening * on the next day, the actual update happens (given the new nightly is released) Since it's impossible to install nightly version directly through the VSCode marketplace, any fiddling with dev version results in the same situation: one have to wait for the next nightly release to happen in order to restore the nightly. This PR * invalidates the cache eagerly during bootstrap if the current plugin is not nightly * enforces the release id check for nightly versions only * fixes the `ctx.globalStoragePath` deprecated API usage Hopefully, it also helps mysterious non-updated plugins that we encounter from time to time, but hard to tell for sure. 8939: internal: disable debug symbols due to failing windows build r=matklad a=matklad bors r+ 🤖 Co-authored-by: Kirill Bulatov <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| | * internal: disable debug symbols due to failing windows buildAleksey Kladov2021-05-231-1/+6
| | | | | | | | | | | | See https://github.com/rust-lang/rust/issues/85598
| * | More style fixesKirill Bulatov2021-05-232-16/+19
| | |
| * | Style fixKirill Bulatov2021-05-232-12/+11
| | |
| * | Don't use a deprecated accessorKirill Bulatov2021-05-231-1/+1
| | |
| * | Better releaseId namingKirill Bulatov2021-05-232-12/+11
| | |
| * | Remove nightly release id from local storage for stable extensionsKirill Bulatov2021-05-232-1/+6
| | |
| * | Download nightly extension when configured and run from stable extension versionKirill Bulatov2021-05-231-3/+10
| |/
* | Merge #8938bors[bot]2021-05-234-15/+118
|\ \ | |/ |/| | | | | | | | | | | 8938: internal: Fix #8931 r=flodiebold a=flodiebold - and add some better checking for similar bugs Co-authored-by: Florian Diebold <[email protected]>
| * Paper over #8931 a bit moreFlorian Diebold2021-05-232-2/+4
| | | | | | | | | | | | | | | | | | The problem was the skipping of binders in `resolve_method_call_as_callable`; this still doesn't use the _correct_ substitution, but at least it doesn't return a type with free variables in it. Fixes #8931.
| * Add test for #8931 and better checkingFlorian Diebold2021-05-233-13/+114
| |
* | Merge #8935bors[bot]2021-05-231-0/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 8935: docs(manual): Add rust-tools.nvim to nvim-lsp r=matklad a=simrat39 I'm not sure what to write there but this seems fine https://github.com/simrat39/rust-tools.nvim/issues/16 Co-authored-by: sim <[email protected]>
| * | docs(manual): Add rust-tools.nvim to nvim-lspsim2021-05-231-0/+2
|/ /
* | Merge #8932bors[bot]2021-05-232-34/+342
|\ \ | |/ |/| | | | | | | | | | | | | | | 8932: internal: even prettier itemtrees r=jonas-schievink a=jonas-schievink Extends the ItemTree pretty printer to handle all `Path`s, and to print generic parameters and where-clauses. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Render where clauses and more generic paramsJonas Schievink2021-05-232-34/+155
| |
| * Pretty-print generic parametersJonas Schievink2021-05-232-22/+99
| |
| * ItemTree: pretty-print all pathsJonas Schievink2021-05-222-9/+119
|/
* Merge #8926bors[bot]2021-05-221-19/+1
|\ | | | | | | | | | | | | | | 8926: internal: Drop uncompressed release artifacts and those following the old naming convention r=matklad a=lnicola Closes #6996 Co-authored-by: Laurențiu Nicola <[email protected]>
| * Drop uncompressed release artifacts and those following the old naming ↵Laurențiu Nicola2021-05-221-19/+1
| | | | | | | | convention
* | Merge #8927bors[bot]2021-05-221-0/+1
|\ \ | |/ |/| | | | | | | | | | | | | 8927: internal: try enabling debug info for releases r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * internal: try enabling debug info for releasesAleksey Kladov2021-05-221-0/+1
|/ | | | | We now compress releases, so let's check if debug info is light enough to actually ship to users. Getting line numbers back would be helpful!
* Merge #8924bors[bot]2021-05-222-22/+5
|\ | | | | | | | | | | | | | | 8924: Add last remaining module docstring r=flodiebold a=flodiebold That was easier than expected. Co-authored-by: Florian Diebold <[email protected]>
| * Add last remaining module docstringFlorian Diebold2021-05-222-22/+5
|/
* Merge #8923bors[bot]2021-05-2222-36/+13
|\ | | | | | | | | | | | | | | | | 8923: Add even more docs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Add even more docsAleksey Kladov2021-05-2222-36/+13
| |
* | Merge #8922bors[bot]2021-05-2220-40/+72
|\| | | | | | | | | | | | | | | | | 8922: Add more docs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Add more docsAleksey Kladov2021-05-2220-40/+72
| |
* | Merge #8868bors[bot]2021-05-228-282/+192
|\| | | | | | | | | | | | | | | 8868: internal: replace AstTransformer with mutable syntax trees r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * use more precise nameAleksey Kladov2021-05-223-12/+7
| |
| * internal: replace AstTransformer with mutable syntax treesAleksey Kladov2021-05-226-208/+123
| |
* | Merge #8921bors[bot]2021-05-221-1/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8921: Resolve any lifetime variables to 'static after inference r=flodiebold a=flodiebold Chalk's unification can sometimes create lifetime variables, which we currently don't really deal with, but at least we don't want to leak them outside of inference. Should fix #8919. Co-authored-by: Florian Diebold <[email protected]>
| * | Resolve any lifetime variables to 'static after inferenceFlorian Diebold2021-05-221-1/+13
| |/ | | | | | | | | | | | | | | Chalk's unification can sometimes create lifetime variables, which we currently don't really deal with, but at least we don't want to leak them outside of inference. Should fix #8919.
* | Merge #8901bors[bot]2021-05-222-27/+75
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 8901: fix: `fill_match_arms` hangs on a tuple of large enums r=matklad a=iDawer + Lazy computation of missing arms. + Convenience function to test lazy computation: `ide_assists::tests::check_assist_unresolved`. Fixes #8835 Co-authored-by: Dawer <[email protected]>
| * Test `fill_match_arms` for lazy computation.Dawer2021-05-212-3/+38
| | | | | | | | This also adds `ide_assists::tests::check_assist_unresolved` function.
| * fix: `fill_match_arms` hangs on a tuple of large enumsDawer2021-05-201-2/+14
| |
| * Compute missing arms lazily.Dawer2021-05-201-23/+24
| |
* | Merge #8918bors[bot]2021-05-222-9/+39
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8918: fix: fix hang caused by non-unique attribute IDs r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8905 (again) bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Work around non-unique AttrIdsJonas Schievink2021-05-222-9/+39
|/ /
* | Merge #8916bors[bot]2021-05-2215-3/+925
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8916: ItemTree pretty-printing r=jonas-schievink a=jonas-schievink This adds a printer for `ItemTree` contents, and a few tests to ensure that `ItemTree` lowering works like we expect it to. It also adds a new "Debug ItemTree" command that can be used to see the `ItemTree` of the currently open file. The pretty-printed output is usually close enough to Rust syntax that we can even use Rust syntax highlighting. This is similar to the old `ItemTree` tests we had, but produces significantly more readable output, so these should actually carry their weight. Co-authored-by: Jonas Schievink <[email protected]>
| * | Use `.rs` file ending to get syntax highlightingJonas Schievink2021-05-211-1/+1
| | |
| * | Update lsp-extensions.mdJonas Schievink2021-05-211-2/+18
| | |
| * | Add a "Debug ItemTree" LSP requestJonas Schievink2021-05-219-0/+108
| | |
| * | Add an ItemTree pretty-printerJonas Schievink2021-05-213-0/+780
| | |
| * | impl Display for AttrInput/ImportAliasJonas Schievink2021-05-212-1/+19
|/ /
* | Merge #8914bors[bot]2021-05-213-20/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8914: internal: remove `StructDefKind` r=jonas-schievink a=jonas-schievink The `Fields` enum already encodes this, so `StructDefKind` is redundant. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Remove `StructDefKind`Jonas Schievink2021-05-213-20/+4
|/ /
* | Merge #8856bors[bot]2021-05-2123-1077/+1206
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8856: Use Chalk for unification r=flodiebold a=flodiebold - use Chalk's unification, get rid of our own `unify` - rewrite coercion to not use unification internals and to be more analogous to rustc - fix various coercion bugs - rewrite handling of obligations, since the old hacky optimization where we noted when an inference variable changes wasn't possible anymore - stop trying to deeply resolve types all the time during inference, instead only do it shallowly where necessary Co-authored-by: Florian Diebold <[email protected]>
| * | Clean up visibilitiesFlorian Diebold2021-05-211-10/+10
| | |
| * | Some remaining cleanupsFlorian Diebold2021-05-213-18/+13
| | |