aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove resolved FIXMEJonas Schievink2020-12-071-1/+0
|
* Remove dummy ProcMacroClient in favor of OptionJonas Schievink2020-12-075-71/+59
|
* Retain types of proc macros and allow attr. macrosJonas Schievink2020-12-076-22/+30
|
* Make `ProcMacroProcessExpander` privateJonas Schievink2020-12-071-1/+1
|
* ProcMacroProcessExpander: support attribute macrosJonas Schievink2020-12-072-21/+11
|
* Merge #6597bors[bot]2020-12-078-25/+137
|\ | | | | | | | | | | | | | | | | | | 6597: Upgrade Chalk r=flodiebold a=flodiebold Also make overflow depth and max type size configurable through env variables. This can be helpful at least for debugging. Tests currently fail because of rust-lang/chalk#656, so we'll need to wait for the next update to merge this. Co-authored-by: Florian Diebold <[email protected]>
| * Upgrade ChalkFlorian Diebold2020-12-078-25/+137
|/ | | | | | | Also make overflow depth and max type size configurable through env variables. This can be helpful at least for debugging. Fixes #6628.
* Merge #6733bors[bot]2020-12-061-3/+39
|\ | | | | | | | | | | | | | | 6733: Update attributes completion list r=jonas-schievink a=Veykril Might be nice to have them grouped for readability/maintainability similar to how the [reference](https://doc.rust-lang.org/reference/attributes.html#built-in-attributes-index) does it but that would require the use of a `OnceCell` for sorting the entries back after construction. Co-authored-by: Lukas Wirth <[email protected]>
| * Update attributes completion listLukas Wirth2020-12-061-3/+39
| |
* | Merge #6734bors[bot]2020-12-068-119/+1093
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6734: Emit additional diagnostics for hints/help/etc r=lnicola a=jonas-schievink This makes rust-analyzer diagnostics match native rustc diagnostics in the terminal more closely. Unfortunately all of this is a bodge, since we already provide this information to the client in the form of `DiagnosticRelatedInformation`, but at least VS Code chooses such a poor UI for these that they don't help much, as evidenced [here](https://twitter.com/yaahc_/status/1335297260444250112) and in https://github.com/rust-lang/rust/issues/79741. This PR papers over these client UI problems by taking the `DiagnosticRelatedInformation` and turning each one into its own hint-level diagnostic, which makes it show up in the source code. Quick fixes are attached to all resulting diagnostics, which makes them more discoverable. ### Example: "Consider removing this semicolon" ![screenshot-2020-12-06-01:27:29](https://user-images.githubusercontent.com/1786438/101268366-46423980-3762-11eb-9a69-1ff0b1806c2f.png) ![screenshot-2020-12-06-01:27:39](https://user-images.githubusercontent.com/1786438/101268367-46dad000-3762-11eb-81fa-afd234d44f17.png) ![screenshot-2020-12-06-01:27:46](https://user-images.githubusercontent.com/1786438/101268368-46dad000-3762-11eb-9205-4b9bd9f4406d.png) ### Example: "Value used after move" ![screenshot-2020-12-06-01:33:00](https://user-images.githubusercontent.com/1786438/101268447-22332800-3763-11eb-85ce-8c742927a2c8.png) ![screenshot-2020-12-06-01:33:07](https://user-images.githubusercontent.com/1786438/101268448-22cbbe80-3763-11eb-8f16-0590895d8bc6.png) Co-authored-by: Jonas Schievink <[email protected]>
| * Apply suggestions from code reviewJonas Schievink2020-12-062-2/+2
| | | | | | Co-authored-by: Laurențiu Nicola <[email protected]>
| * Update expect testsJonas Schievink2020-12-067-46/+977
| |
| * Emit additional diagnostics for hints/help/etcJonas Schievink2020-12-061-73/+116
|/
* Merge #6726bors[bot]2020-12-042-2/+4
|\ | | | | | | | | | | | | | | 6726: Add slightly more profiling details r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Add slightly more profiling detailsJonas Schievink2020-12-042-2/+4
|/
* Merge #6725bors[bot]2020-12-041-26/+15
|\ | | | | | | | | | | | | | | | | | | | | | | 6725: Don't respawn proc macro server on crash r=jonas-schievink a=jonas-schievink Now the thread managing IPC will exit when the server process crashes instead of respawning it. Closes https://github.com/rust-analyzer/rust-analyzer/issues/6707 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Don't respawn proc macro server on crashJonas Schievink2020-12-041-26/+15
| |
* | Merge #6721bors[bot]2020-12-048-37/+45
|\ \ | |/ |/| | | | | | | | | | | 6721: Use METHOD semantic token type r=kjeremy a=lnicola Closes #6685 Co-authored-by: Laurențiu Nicola <[email protected]>
| * Use METHOD semantic token typeLaurențiu Nicola2020-12-048-37/+45
| |
* | Merge #6724bors[bot]2020-12-041-11/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 6724: Fix `diagnostics` subcommand, look at all modules r=jonas-schievink a=jonas-schievink The `diagnostics` subcommand used to only compute diagnostics for `lib.rs` / the root module of all workspace crates. This fixed it and makes it look at every module. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Fix `diagnostics` subcommand, look at all modulesJonas Schievink2020-12-041-11/+18
| | |
* | | Merge #6723bors[bot]2020-12-042-1/+26
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 6723: Use correct, full substs for self type in impl r=flodiebold a=flodiebold Without arbitrary self types, the self type could never refer to the method type parameters, so this wasn't a problem; but with arbitrary self types, it can. This fixes the crash from #6668; but it doesn't make method resolution work for these methods. Co-authored-by: Florian Diebold <[email protected]>
| * | Use correct, full substs for self type in implFlorian Diebold2020-12-042-1/+26
|/ / | | | | | | | | | | | | | | Without arbitrary self types, the self type could never refer to the method type parameters, so this wasn't a problem; but with arbitrary self types, it can. This fixes the crash from #6668; but it doesn't make method resolution work for these methods.
* | Merge #6722bors[bot]2020-12-041-15/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 6722: Minor proc macro cleanups r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Unwrap `process.stdio()` resultJonas Schievink2020-12-041-4/+1
| | | | | | | | | | | | If this is ever `None` here, that's a bug
| * | Destructure in for loopJonas Schievink2020-12-041-3/+1
| | |
| * | Remove unnecessary `Option`Jonas Schievink2020-12-041-8/+3
|/ /
* | Merge #6715bors[bot]2020-12-031-0/+5
|\ \ | |/ |/| | | | | | | | | | | | | | | 6715: Don't diagnose `#[cfg]` in macros r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6363 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Don't diagnose `#[cfg]` in macrosJonas Schievink2020-12-031-0/+5
|/
* Merge #6713bors[bot]2020-12-032-5/+2
|\ | | | | | | | | | | | | | | | | | | 6713: Make `compile_error!` message match upstream rustc r=jonas-schievink a=jonas-schievink It only consists of the argument passed to it. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Make `compile_error!` message match upstream rustcJonas Schievink2020-12-032-5/+2
|/ | | | It only consists of the argument passed to it
* Merge #6712bors[bot]2020-12-032-8/+18
|\ | | | | | | | | | | | | | | | | | | 6712: Fix proc macro token mapping r=jonas-schievink a=jonas-schievink Diagnostics inside proc macros are currently incorrectly placed at their original offset, but inside the containing file. This fixes that, by allowing the creation of `ExpansionInfo` from non-`macro_rules!` macro invocations. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Fix proc macro token mappingJonas Schievink2020-12-032-8/+18
|/
* Merge #6700bors[bot]2020-12-036-67/+223
|\ | | | | | | | | | | | | | | 6700: More macro diagnostics improvements r=jonas-schievink a=jonas-schievink This threads macro expansion errors through `eager.rs` and the `AsMacroCall` trait, improving macro diagnostics emitted during body lowering. Co-authored-by: Jonas Schievink <[email protected]>
| * Rename `error_sink` to `diagnostic_sink`Jonas Schievink2020-12-031-11/+12
| |
| * Make `compile_error!` lazy and emit a diagnosticJonas Schievink2020-12-033-21/+34
| |
| * Give better diagnostic if `OUT_DIR` is unsetJonas Schievink2020-12-032-9/+20
| |
| * Update/Fix testsJonas Schievink2020-12-031-4/+15
| |
| * Propagate eager expansion errorsJonas Schievink2020-12-033-33/+153
| |
* | Merge #6711bors[bot]2020-12-031-4/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 6711: cargo update: bump libloading to fix a double-free r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | cargo update: bump libloading to fix a double-freekjeremy2020-12-031-4/+4
|/ /
* | Merge #6710bors[bot]2020-12-038-1441/+1419
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 6710: Extract tests module to file in ide_db crate r=matklad a=sasurau4 Helps with #6522 - pass `cargo test` Co-authored-by: Daiki Ihara <[email protected]>
| * | Extract tests module to file in ide_db crateDaiki Ihara2020-12-038-1441/+1419
| |/
* / Document statelessness invariantAleksey Kladov2020-12-031-0/+16
|/
* Merge #6702bors[bot]2020-12-021-2/+2
|\ | | | | | | | | | | | | | | 6702: Bump mio for safety goodness r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * Bump mio for safety goodnesskjeremy2020-12-021-2/+2
|/
* Merge #6701bors[bot]2020-12-021-15/+18
|\ | | | | | | | | | | | | | | | | | | 6701: Don't prime caches when just opening a file r=jonas-schievink a=jonas-schievink Fixes occasional "progress handler already registered" errors. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Don't prime caches when just opening a fileJonas Schievink2020-12-021-15/+18
|/
* Merge #6699bors[bot]2020-12-021-0/+41
|\ | | | | | | | | | | | | | | 6699: Test macro diagnostics in body lowering r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Test macro diagnostics in body loweringJonas Schievink2020-12-021-0/+41
|/