aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Initial implementation of view-hir commandPhil Ellison2020-12-2810-1/+145
|
* Merge #7050bors[bot]2020-12-272-20/+36
|\ | | | | | | | | | | | | | | | | | | 7050: Ignore third punct when matching for 2-composite punct in mbe r=jonas-schievink a=edwin0cheng Fixes #6692 Co-authored-by: Edwin Cheng <[email protected]>
| * Ignore third punct in 2-composite punctEdwin Cheng2020-12-272-20/+36
| |
* | Merge #6820bors[bot]2020-12-278-19/+52
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6820: Pass the crate environment to proc macros r=jonas-schievink a=jonas-schievink In theory, fixes https://github.com/rust-analyzer/rust-analyzer/issues/6696. This seems to result in these obscure crashes for some reason: ``` thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value', /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:75:51 stack backtrace: 0: rust_begin_unwind at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/panicking.rs:483 1: core::panicking::panic_fmt at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:85 2: core::panicking::panic at /rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:50 3: core::option::Option<T>::unwrap at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:383 4: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:75 5: proc_macro::bridge::client::BridgeState::with::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:291 6: std::thread::local::LocalKey<T>::try_with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:272 7: std::thread::local::LocalKey<T>::with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:248 8: proc_macro::bridge::client::BridgeState::with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:290 9: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:329 10: proc_macro::bridge::client::run_client::{{closure}}::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:375 11: proc_macro::bridge::scoped_cell::ScopedCell<T>::set::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:80 12: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:75 13: proc_macro::bridge::scoped_cell::ScopedCell<T>::set at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/scoped_cell.rs:80 14: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:325 15: std::thread::local::LocalKey<T>::try_with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:272 16: std::thread::local::LocalKey<T>::with at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:248 17: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:325 18: proc_macro::bridge::client::run_client::{{closure}} at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:370 19: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:308 20: std::panicking::try::do_call at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:381 21: __rust_try 22: std::panicking::try at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:345 23: std::panic::catch_unwind at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:382 24: proc_macro::bridge::client::run_client at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:369 25: proc_macro::bridge::client::Client<fn(proc_macro::TokenStream) .> proc_macro::TokenStream>::expand1::run at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro/src/bridge/client.rs:410 26: proc_macro_srv::proc_macro::bridge::server::run_server 27: proc_macro_srv::dylib::Expander::expand 28: proc_macro_srv::ProcMacroSrv::expand 29: proc_macro_srv::cli::run 30: rust_analyzer::main ``` Co-authored-by: Jonas Schievink <[email protected]>
| * Pass crate environment to proc macrosJonas Schievink2020-12-276-9/+42
| |
| * Move TokenExpander to base_db and rename itJonas Schievink2020-12-274-12/+12
|/ | | | It's only used to break the dependency to proc_macro_api
* Merge #7047bors[bot]2020-12-274-8/+44
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7047: Add force_show_panics flag for proc-macro bridge r=jonas-schievink a=edwin0cheng https://github.com/rust-lang/rust/pull/75082 and https://github.com/rust-lang/rust/pull/76292 added a new flag in `proc_macro::Bridge` such that the ABI was changed. These ABI changing are the reason of some weird panics which caused #6880 and maybe related to the panic mentioned in #6820. These changes are landed on rust stable 1.48 so I think it is okay to apply it now. fixes #6880 r @jonas-schievink Co-authored-by: Edwin Cheng <[email protected]>
| * Add force_show_panics flagEdwin Cheng2020-12-274-8/+44
| |
* | Merge #7043bors[bot]2020-12-266-120/+69
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7043: Simplify assists resolution API r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Simplify assists resolution APIAleksey Kladov2020-12-266-120/+69
|/ / | | | | | | | | | | Assist vs UnresolvedAssist split doesn't really pull its weight. This is especially bad if we want to include `Assist` as a field of diagnostics, where we'd have to make the thing generic.
* | Merge #7038bors[bot]2020-12-252-14/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | 7038: Fix type typo in add_missing_impl_members doc r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | Fix type typo in add_missing_impl_members docLukas Wirth2020-12-252-14/+18
| | |
* | | Merge #7036bors[bot]2020-12-251-1/+39
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7036: Don't split path separators apart in doctest runnables r=Veykril a=Veykril Fixes #7035 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Don't split path separators apart in doctest runnablesLukas Wirth2020-12-251-1/+39
| |/ /
* | | Merge #7032bors[bot]2020-12-241-43/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7032: Simplify more r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Simplify moreAleksey Kladov2020-12-241-43/+22
|/ / /
* | | Merge #7031bors[bot]2020-12-241-35/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7031: Simplify r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | SimplifyAleksey Kladov2020-12-241-35/+7
|/ / /
* | | Merge #7030bors[bot]2020-12-2421-14/+142
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7030: Support labels in reference search r=matklad a=Veykril Implements general navigation for labels, goto def, rename and gives labels their own semantic highlighting class. Fixes #6966 Co-authored-by: Lukas Wirth <[email protected]>
| * | | Support labels in reference searchLukas Wirth2020-12-2421-14/+142
| |/ /
* | | Merge #7029bors[bot]2020-12-241-3/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7029: Flush stdout when clearing the progress bar r=lnicola a=lnicola To prevent this from happening: ``` Database loaded 496.24ms, 288mi Crates in this dir: 1 Total modules found: 14 Total declarations: 159 Total functions: 122 Item Collection: 6.02s, 61846mi 122/122 100% processing: archive::sizeTotal expressions: 6592 Expressions of unknown type: 4 (0%) Expressions of partially unknown type: 104 (1%) Type mismatches: 3 Inference: 1.03s, 8622mi Total: 7.05s, 70468mi ``` Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | | Flush stdout when clearing the progress barLaurențiu Nicola2020-12-241-3/+5
| | | |
* | | | Merge #7028bors[bot]2020-12-242-14/+14
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7028: pit-of-success API for unresolved code actions r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | pit-of-success API for unresolved code actionsAleksey Kladov2020-12-242-14/+14
| | | | |
* | | | | Merge #7021bors[bot]2020-12-249-68/+167
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7021: Track labels in the HIR r=matklad a=Veykril Groundwork for #6966 Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Track labels in the HIRLukas Wirth2020-12-249-68/+167
| | | | |
* | | | | Merge #7027bors[bot]2020-12-243-2/+66
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7027: Fix macro_rules not accepting brackets or parentheses r=matklad,lnicola a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Fix macro_rules not accepting brackets or parenthesesLukas Wirth2020-12-243-2/+66
| |/ / / /
* | | | | Merge #7026bors[bot]2020-12-241-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7026: chore: update coc-rust-analyzer inlay hints support r=lnicola a=fannheyward coc-rust-analyzer now supports inlay hints for variables and method chaining. Co-authored-by: Heyward Fann <[email protected]>
| * | | | | Update manual.adocHeyward Fann2020-12-241-1/+1
|/ / / / /
* | | | | Merge #7020bors[bot]2020-12-237-11/+76
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7020: Implement const pat and expr inference r=flodiebold a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Implement const block inferenceLukas Wirth2020-12-235-6/+25
| | | | | |
| * | | | | Implement const pat inferenceLukas Wirth2020-12-234-5/+51
| |/ / / /
* | | | | Merge #7022bors[bot]2020-12-232-3/+16
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7022: Prevent multiple incorrect case diagnostics in functions r=lnicola a=unexge Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6970 Co-authored-by: unexge <[email protected]>
| * | | | Prevent multiple incorrect case diagnostics in functionsunexge2020-12-232-3/+16
|/ / / /
* | | | Merge #7009bors[bot]2020-12-235-6/+92
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7009: Implement workspace/willRenameFiles for single-level file moves r=matklad a=kjeremy Automatically rename modules during file rename if they're in the same directory. Fixes #6780 Co-authored-by: Jeremy Kolb <[email protected]>
| * | | | Implement workspace/willRenameFiles for single-level file movesJeremy Kolb2020-12-235-6/+92
|/ / / / | | | | | | | | | | | | Renames modules during file rename if they're in the same directory.
* | | | Merge #7019bors[bot]2020-12-233-1/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7019: Try serde_path_to_error for LSP InitializeParams r=matklad a=lnicola Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | | | Try serde_path_to_error for LSP InitializeParamsLaurențiu Nicola2020-12-233-1/+12
| | | | |
* | | | | Merge #7016bors[bot]2020-12-234-20/+28
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7016: Bump deps r=flodiebold a=lnicola Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | | | | Bump depsLaurențiu Nicola2020-12-231-4/+4
| | | | | |
| * | | | | Bump chalkLaurențiu Nicola2020-12-233-13/+21
| | | | | |
| * | | | | Bump rustc_lexerLaurențiu Nicola2020-12-232-3/+3
| |/ / / /
* | | | | Merge #7018bors[bot]2020-12-231-61/+58
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7018: Cleanup handle_code_action r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Make code more directAleksey Kladov2020-12-231-27/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Push control flow outwards, as per https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/style.md#preconditions * Don't re-do the work, pass-in the arguments
| * | | | Make code more understandableAleksey Kladov2020-12-231-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid mutation of snapshot's config -- that's spooky action at a distance. Instead, copy it over to a local variable. This points out a minor architecture problem, which we won't fix right away. Various `ide`-level config structs, like `AssistConfig`, are geared towards one-shot use when calling a specific methods. On the other hand, the large `Config` struct in `rust-analyzer` is a long-term config store. The fact that `Config` stores `AssistConfig` is accidental -- a better design would probably be to just store `ConfigData` inside `Config` and create various `Config`s on the fly out of it.
| * | | | Rename for clarityAleksey Kladov2020-12-231-46/+46
| |/ / /
* | | | Merge #7010bors[bot]2020-12-2313-7/+172
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7010: Update ungrammar for const block patterns r=matklad a=Veykril Fixes #6848 Adds const blocks and const block patterns to the AST and parses them. Blocked on https://github.com/rust-analyzer/ungrammar/pull/17/, will merge that PR there once this one gets the OK so I can remove the local ungrammar dependency path and fix the Cargo.lock. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Remove local ungrammar dependencyLukas Wirth2020-12-233-4/+4
| | | | |
| * | | | Parse const effect blockLukas Wirth2020-12-234-2/+38
| | | | |