aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Revive cache cleaningAleksey Kladov2020-08-186-42/+98
| | | | | | | The idea here is that, on CI, we only want to cache crates.io dependencies, and not local crates. This keeps the size of the cache low, and also improves performance, as network and moving files on disk (on Windows) can be slow.
* Re-enable mac buildAleksey Kladov2020-08-181-1/+1
|
* Merge #5787bors[bot]2020-08-182-2/+19
|\ | | | | | | | | | | | | | | 5787: Fix missing match arm false positive r=matklad a=CAD97 If the type of the match expression is `{unknown}`, don't do exhaustiveness checks, as it could be an uninhabited type. Co-authored-by: CAD97 <[email protected]>
| * Fix missing match arm false error on unknown typeCAD972020-08-172-4/+2
| |
| * Document missing match arm false positiveCAD972020-08-171-0/+19
|/ | | | | | This should already be guarded against (https://github.com/rust-analyzer/rust-analyzer/blob/d2212a49f6d447a14cdc87a9de2a4844e78b6905/crates/hir_ty/src/diagnostics/expr.rs#L225-L230) but it isn't preventing this false positive for some reason.
*-. Merge #5776 #5780bors[bot]2020-08-174-9/+89
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5776: Fix eslint errors on .eslintrc.js and rollup.config.js r=matklad a=fuafa Eslint complains if these two files does not include in the `tsconfig.json`. ``` Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser. The file does not match your project config: .eslintrc.js. The file must be included in at least one of the projects provided.eslint ``` ![image](https://user-images.githubusercontent.com/20750310/90338269-176d4f80-e01b-11ea-8710-3ea817b235d2.png) 5780: Fixup whitespace when adding missing impl items r=matklad a=jDomantas Generate properly formatted whitespace when adding impl items - with an empty line between items and removing extra whitespace that often appears at the end. This is my first time working on rust analyzer so I'm not very familiar with its internal APIs. If there's a better way to do such syntax tree editing I'd be glad to hear it. Co-authored-by: xiaofa <[email protected]> Co-authored-by: jDomantas <[email protected]>
| | * formatjDomantas2020-08-171-13/+9
| | |
| | * update generated testsjDomantas2020-08-171-2/+1
| | |
| | * fixup whitespace when adding missing impl itemsjDomantas2020-08-142-7/+89
| | |
| * | Fix eslint errors on .eslintrc.js and rollup.config.jsxiaofa2020-08-161-0/+3
| | |
* | | Merge #5782bors[bot]2020-08-175-5/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5782: Fix StatusNotification r=matklad a=vsrs This PR fixes the following: As per specification `params` property in [NotificationMessage ](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#notificationMessage) should be `array | object` while RA uses `"loading" | "ready" | "invalid" | "needsReload"`. Co-authored-by: vsrs <[email protected]>
| * | | Fix StatusNotificationvsrs2020-08-175-5/+22
| | | |
* | | | Merge #5785bors[bot]2020-08-174-33/+45
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5785: Don't make fields private unless you have to r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Don't make fields private unless you have toAleksey Kladov2020-08-174-33/+45
| | | | |
* | | | | Merge #5784bors[bot]2020-08-175-21/+26
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5784: Mention that generated .adocs are generaterd r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Mention that generated .adocs are generaterdAleksey Kladov2020-08-175-21/+26
|/ / / /
* | | | Merge #5766bors[bot]2020-08-161-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5766: Hacky support for fn-like proc macros r=matklad a=jonas-schievink It turns out that this is all that's needed to get something like this working: ```rust #[proc_macro] pub fn function_like_macro(_args: TokenStream) -> TokenStream { TokenStream::from_str("fn fn_success() {}").unwrap() } ``` ```rust function_like_macro!(); fn f() { fn_success(); } ``` The drawback is that it also makes this work, because there is no distinction between different proc macro kinds in the rest of r-a: ```rust #[derive(function_like_macro)] struct S {} fn f() { fn_success(); } ``` Another issue is that it seems to panic, and then panic, when using this on the rustc code base, due to some issue in the inscrutable proc macro bridge code. Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Hacky support for fn-like proc macrosJonas Schievink2020-08-151-3/+3
| | | | |
* | | | | Merge #5778bors[bot]2020-08-163-13/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5778: Chalk 0.23 r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | | | | Chalk 0.23Jeremy Kolb2020-08-163-13/+13
|/ / / / /
* | | | | Merge #5777bors[bot]2020-08-162-3/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5777: Bump rustc_lexer r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | | | | Bump rustc_lexerJeremy Kolb2020-08-162-3/+3
|/ / / / /
* | | | | Merge #5775bors[bot]2020-08-161-2/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5775: Bump chrono r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | | | Update chronoJeremy Kolb2020-08-161-2/+2
|/ / / /
* | | | Merge #5770bors[bot]2020-08-151-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5770: Fix typo in comment r=kjeremy a=rockerBOO Co-authored-by: Dave Lage <[email protected]>
| * | | | Fix typo in commentDave Lage2020-08-151-1/+1
|/ / / /
* | | | Merge #5769bors[bot]2020-08-159-92/+51
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5769: Don't expose hir::Path out of hir r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Don't expose hir::Path out of hirAleksey Kladov2020-08-159-92/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conjecture: it's impossible to use hir::Path *correctly* from an IDE. I am not entirely sure about this, and we might need to add it back at some point, but I have to arguments that convince me that we probably won't: * `hir::Path` has to know about hygiene, which an IDE can't set up properly. * `hir::Path` lacks identity, but you actually have to know identity to resolve it correctly
* | | | | Merge #5768bors[bot]2020-08-152-25/+13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5768: Remove deprecated Path::from_ast r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Remove deprecated Path::from_astAleksey Kladov2020-08-152-25/+13
|/ / / / | | | | | | | | | | | | Long term, we probably should make hir::Path private to hir.
* | | | Merge #5762bors[bot]2020-08-146-3/+51
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5762: Add a proc_macro_test crate r=jonas-schievink a=jonas-schievink This exports all 3 kinds of proc macros and is useful for testing. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Add a proc_macro_test crateJonas Schievink2020-08-146-3/+51
|/ / / | | | | | | | | | This exports all 3 kinds of proc macros and is useful for testing
* | | Merge #5347bors[bot]2020-08-142-14/+30
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5347: Chalk writer integration r=flodiebold a=detrumi ~~This adds a `rust-analyzer dump-chalk` command, similar to analysis-stats, which writes out the whole chalk progam (see [chalk#365](https://github.com/rust-lang/chalk/issues/365) for more info about the .chalk writer)~~ Write out chalk programs in debug output if chalk debugging is active (using `CHALK_DEBUG`). Example output: ``` [DEBUG ra_hir_ty::traits] solve(UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(SeparatorTraitRef(?)) }, binders: [] }, universes: 1 }) => None [INFO ra_hir_ty::traits] trait_solve_query(Implements(fn min<?0.0>(?0.0, ?0.0) -> ?0.0: Deref)) [DEBUG ra_hir_ty::traits] solve goal: UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(SeparatorTraitRef(?)) }, binders: [U0 with kind type] }, universes: 1 } [DEBUG ra_hir_ty::traits::chalk] impls_for_trait Deref [DEBUG ra_hir_ty::traits::chalk] impls_for_trait returned 0 impls [DEBUG ra_hir_ty::traits::chalk] trait_datum Ord [DEBUG ra_hir_ty::traits::chalk] trait Ord = Name(Text("Ord")) [DEBUG ra_hir_ty::traits] chalk program: #[upstream] #[non_enumerable] #[object_safe] trait Ord {} #[upstream] #[non_enumerable] #[object_safe] #[lang(sized)] trait Sized {} fn fn_0<_1_0>(arg_0: _1_0, arg_1: _1_0) -> _1_0 where _1_0: Ord; #[upstream] #[non_enumerable] #[object_safe] trait Deref { type Assoc_1829: Sized; } [DEBUG ra_hir_ty::traits] solve(UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(SeparatorTraitRef(?)) }, binders: [U0 with kind type] }, universes: 1 }) => None [INFO ra_hir_ty::traits] trait_solve_query(Implements(?0.0: Ord)) ``` Co-authored-by: Wilco Kusee <[email protected]>
| * | | Only print chalk programs with CHALK_PRINTWilco Kusee2020-08-141-10/+15
| | | |
| * | | Lookup adt namesWilco Kusee2020-08-141-1/+2
| | | |
| * | | Only use logging db if CHALK_DEBUG is activeWilco Kusee2020-08-141-12/+15
| | | |
| * | | Print chalk programs in debug outputWilco Kusee2020-08-142-12/+19
| | | |
* | | | Merge #5760bors[bot]2020-08-141-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5760: Document xtask has few deps invariant r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Document xtask has few deps invariantAleksey Kladov2020-08-141-0/+1
|/ / / /
* | | | Merge #5759bors[bot]2020-08-143-8/+7
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5759: Rename hypothetical -> speculative r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Rename hypothetical -> speculativeAleksey Kladov2020-08-143-8/+7
|/ / /
* | | Merge #5757bors[bot]2020-08-142-9/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5757: Document the most important CI invariant r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Document the most important CI invariantAleksey Kladov2020-08-142-9/+14
| |/ /
* | | Merge #5756bors[bot]2020-08-141-7/+132
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5756: Sophisticate Windows path encoding r=matklad a=pragmatrix As discussed in #5475, path encoding should be agnostic of the drive letter casing on Windows. Compared to the problem it solves, the code added seems a lot and may introduce other problems. But I've not found a simpler way basing this on the public API surface that Rust offers. Fixes #5484. cc @Emilgardis Co-authored-by: Armin Sander <[email protected]>
| * | Sophisticate Windows path encodingArmin Sander2020-08-141-7/+132
|/ /
* | Merge #5755bors[bot]2020-08-134-16/+39
|\ \ | | | | | | | | | | | | | | | | | | | | | 5755: Make hygiene private to hir r=davidlattimore a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Make hygiene private to hirAleksey Kladov2020-08-134-16/+39
|/ /
* | Merge #5753bors[bot]2020-08-133-59/+65
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 5753: Remove Hygiene from completion r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Remove Hygiene from completionAleksey Kladov2020-08-133-59/+65
| | |
* | | Merge #5752bors[bot]2020-08-132-0/+20
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 5752: display correctly 'impl Trait<T> + Trait<T>' #4814 r=flodiebold a=bnjjj close #4814 Co-authored-by: Benjamin Coenen <[email protected]>