aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #2471bors[bot]2019-12-032-2/+4
|\ | | | | | | | | | | | | | | 2471: Add `ModuleItemsOwner` to `Block` r=matklad a=ice1000 As title Co-authored-by: ice1000 <[email protected]>
| * Add `ModuleItemsOwner` to `Block`ice10002019-12-032-2/+4
| |
* | Merge #2472bors[bot]2019-12-037-4902/+4882
|\ \ | |/ |/| | | | | | | | | | | 2472: Split up ty tests a bit r=matklad a=flodiebold `simple` is a bit of a kitchen sink (and not all of them are really about 'simple' features), suggestions for further divisions there are welcome :smile: Co-authored-by: Florian Diebold <[email protected]>
| * Split up ty tests a bitFlorian Diebold2019-12-037-4902/+4882
|/
* Merge #2469bors[bot]2019-12-0323-112/+69
|\ | | | | | | | | | | | | | | 2469: Replace `ra_hir_expand::either` with crate r=matklad a=ice1000 As title. Co-authored-by: ice1000 <[email protected]>
| * Replace `ra_hir_expand::either` with crateice10002019-12-0323-112/+69
|/
* Merge #2468bors[bot]2019-12-034-7/+65
|\ | | | | | | | | | | | | | | | | 2468: Fix #2467 r=flodiebold a=flodiebold The stand-alone `unify` requires that the type doesn't contain any type variables. So we can't share the code here for now (without more refactoring)... Co-authored-by: Florian Diebold <[email protected]>
| * Fix #2467Florian Diebold2019-12-034-7/+65
|/ | | | | The stand-alone `unify` requires that the type doesn't contain any type variables. So we can't share the code here for now (without more refactoring)...
* Merge #2465bors[bot]2019-12-033-127/+219
|\ | | | | | | | | | | | | | | 2465: Extract built-in trait implementations to separate module r=matklad a=flodiebold This untangles the builtin logic from the Chalk translation. Co-authored-by: Florian Diebold <[email protected]>
| * Extract built-in trait implementations to separate moduleFlorian Diebold2019-12-033-127/+219
| | | | | | | | This untangles the builtin logic from the Chalk translation.
* | Merge #2463bors[bot]2019-12-039-340/+570
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | 2463: More correct method resolution r=flodiebold a=flodiebold This should fix the order in which candidates for method resolution are considered, i.e. `(&Foo).clone()` should now be of type `Foo` instead of `&Foo`. It also checks for inherent candidates that the self type unifies properly with the self type in the impl (i.e. `impl Foo<u32>` methods will only be considered for `Foo<u32>`). To be able to get the correct receiver type to check in the method resolution, I needed the unification logic, so I extracted it to the `unify.rs` module. Should fix #2435. Co-authored-by: Florian Diebold <[email protected]>
| * Make unify pub(crate)Florian Diebold2019-12-031-1/+1
| |
| * Add tests for checking the impl self typeFlorian Diebold2019-12-022-0/+47
| |
| * Refactor a bitFlorian Diebold2019-12-023-77/+74
| |
| * Check receiver type properlyFlorian Diebold2019-12-024-19/+80
| |
| * Extract unification code to unify moduleFlorian Diebold2019-12-026-263/+312
| |
| * Change order of calls to get method candidate order correctFlorian Diebold2019-12-022-39/+115
|/
* Merge #2018bors[bot]2019-12-024-0/+245
|\ | | | | | | | | | | | | | | | | | | 2018: assists: add assist for custom implementation for derived trait r=matklad a=paulolieuthier Please, tell me if something could be more idiomatic or efficient. Fixes #1256. Co-authored-by: Paulo Lieuthier <[email protected]>
| * docs: describe new feature 'add custom impl for derived trait'Paulo Lieuthier2019-11-283-0/+54
| |
| * assists: add assist for custom implementation for derived traitPaulo Lieuthier2019-11-282-0/+191
| |
* | Merge #2462bors[bot]2019-12-021-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 2462: Switch back to npm install r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Switch back to npm installAleksey Kladov2019-12-021-1/+2
| | | | | | | | | | | | Locks like it honors package.lock nowdays
* | | Merge #2457bors[bot]2019-12-021-5/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2457: Clarify installation instructions r=matklad a=fintelia In particular it is necessary to clone the repository before running the other commands. I also removed the `cargo install` side note because it didn't actually work (running the command just produces an error that --package isn't a recognized flag) and added a tldr code block with the list of commands to run. Co-authored-by: Jonathan Behrens <[email protected]>
| * | | Add back corrected `cargo install` commandJonathan Behrens2019-12-011-8/+8
| | | |
| * | | Clarify installation instructionsJonathan Behrens2019-12-011-10/+15
| | | | | | | | | | | | In particular it is necessary to clone the repository before running the other commands. I also removed the `cargo install` side note because it didn't actually work (running the command just produces an error that --package isn't a recognized flag) and added a tldr code block with the list of commands to run.
* | | | Merge #2461bors[bot]2019-12-011-43/+43
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2461: anyhow, libc, syn, cargo_metadata r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | | | Just update some thingsJeremy Kolb2019-12-011-43/+43
|/ / / /
* | | | Merge #2455bors[bot]2019-12-017-32/+139
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2455: Add BuiltinShadowMode r=flodiebold a=edwin0cheng This PR try to fix #1905 by introduce an `BuiltinShadowMode` in name resolving functions. cc @flodiebold Co-authored-by: Edwin Cheng <[email protected]>
| * | | Remove some empty linesEdwin Cheng2019-12-011-2/+0
| | | |
| * | | Use index instead of peekableEdwin Cheng2019-12-011-35/+19
| | | |
| * | | Fix commentEdwin Cheng2019-12-011-2/+1
| | | |
| * | | Add BuiltinShadowModeEdwin Cheng2019-11-307-31/+157
| | | |
* | | | Merge #2451bors[bot]2019-11-308-75/+28
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2451: Use env_logger instead of flexi_logger r=matklad a=AlexanderEkdahl This fixes https://github.com/rust-analyzer/rust-analyzer/issues/2335 - By default only `error` will be printed. From what I can tell this matches the current behaviour. Configured through `RUST_LOG`. - I looked through the optional dependencies for `env_logger`and I have only enabled `human_time`. Without this feature no timestamp will be shown for log messages. - `RA_LOG_DIR` feature is removed This PR adds 2 new dependencies(`env_logger` and `human_time`) and removes 6 dependencies. Co-authored-by: Alexander Ekdahl <[email protected]>
| * | | Remove log dependency from ra_cliAlexander Ekdahl2019-11-302-2/+0
| | | |
| * | | Update READMEAlexander Ekdahl2019-11-301-3/+2
| | | |
| * | | Remove flexi_logger from ra_lsp_serverAlexander Ekdahl2019-11-306-73/+5
| | | |
| * | | Use env_logger in ra_cliAlexander Ekdahl2019-11-303-4/+28
| | | |
* | | | Merge #2453bors[bot]2019-11-308-63/+102
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2453: Handle various cycles r=matklad a=flodiebold - handle `impl Trait<Self> for SomeType`, which is allowed. This necessitated splitting the `impl_ty` query, but I think the result actually makes a lot of code nicer. This should fix #2446. - add recovery for `impl Trait for SomeType<Self>` - add recovery for `type Type = Foo<Type>` - add recovery for cycles in generic param env Co-authored-by: Florian Diebold <[email protected]>
| * | | | Add cycle recovery for type aliasesFlorian Diebold2019-11-303-2/+10
| | | | |
| * | | | Add cycle recovery for generic predicatesFlorian Diebold2019-11-303-8/+10
| | | | |
| * | | | Handle cycles in impl types betterFlorian Diebold2019-11-308-53/+82
|/ / / / | | | | | | | | | | | | | | | | | | | | - impl Trait<Self> for S is allowed - impl Trait for S<Self> is an invalid cycle, but we can add cycle recovery for it in Salsa now
* | | | Merge #2449bors[bot]2019-11-302-3/+51
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2449: Only allow renames to valid identifiers r=matklad a=detrumi Implements #2121 Co-authored-by: Wilco Kusee <[email protected]>
| * | | | Push identifier check to rename functionWilco Kusee2019-11-292-9/+9
| | | | |
| * | | | Test rename for various identifiersWilco Kusee2019-11-291-0/+43
| | | | |
| * | | | Move identifier check to analysisWilco Kusee2019-11-292-12/+9
| | | | |
| * | | | Also allow renaming to underscoreWilco Kusee2019-11-291-1/+3
| | | | |
| * | | | Only allow renames to valid identifiersWilco Kusee2019-11-291-1/+7
| | |/ / | |/| |
* | | | Merge #2445bors[bot]2019-11-297-1/+185
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 2445: Infer range types r=flodiebold a=oxalica Co-authored-by: oxalica <[email protected]>
| * | | Reduce variants of Exproxalica2019-11-293-77/+56
| | | |
| * | | Infer range typesoxalica2019-11-287-4/+209
|/ / /