aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Merge #3263bors[bot]2020-02-2210-261/+480
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3263: Implement unsizing coercions using Chalk r=matklad a=flodiebold These are coercions like `&[T; n] -> &[T]`, which are handled by the `Unsize` and `CoerceUnsized` traits. The impls for `Unsize` are all built in to the compiler and require special handling, so we need to provide them to Chalk. This adds the following `Unsize` impls: - `Unsize<[T]> for [T; _]` - `Unsize<dyn Trait> for T where T: Trait` - `Unsize<dyn SuperTrait> for dyn SubTrait` Hence we are still missing the 'unsizing the last field of a generic struct' case. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * Shorten some codeFlorian Diebold2020-02-221-4/+1
| |
| * Rework find_super_trait_path to protect against cyclesFlorian Diebold2020-02-225-23/+74
| |
| * Fix shift_bound_varsFlorian Diebold2020-02-221-3/+3
| | | | | | | | It should only shift free vars (maybe the name isn't the best...)
| * Fix wrong handling of bare `dyn Trait` exposed by canonicalizer fixFlorian Diebold2020-02-221-1/+3
| | | | | | | | | | The self type in the `dyn Trait` trait ref should always be ^0, but we didn't put that in there in the bare case.
| * Add &dyn Trait -> &dyn SuperTrait coercion, and fix &T -> &dyn TraitFlorian Diebold2020-02-224-44/+132
| |
| * Fix handling of binders in canonicalizationFlorian Diebold2020-02-221-64/+35
| | | | | | | | I'm looking forward to getting rid of this in favor of Chalk's implementation.
| * Implement dyn Trait unsizing as wellFlorian Diebold2020-02-225-9/+136
| |
| * Implement unsize coercion using proper trait solvingFlorian Diebold2020-02-225-187/+170
| |
* | Fix dat commentVeetaha2020-02-221-1/+1
| |
* | Merge #3260bors[bot]2020-02-225-68/+55
|\ \ | | | | | | | | | | | | | | | | | | | | | 3260: Refactor how builtins are resolved r=matklad a=flodiebold This fixes autocompletion suggesting e.g. `self::usize`. (I thought we had a bug for that, but I didn't find it.) Co-authored-by: Florian Diebold <[email protected]>
| * | Refactor how builtins are resolvedFlorian Diebold2020-02-215-68/+55
| | | | | | | | | | | | This fixes autocompletion suggesting e.g. self::usize.
* | | ra_mbe: Remove explicit type annotationVeetaha2020-02-221-1/+1
| | |
* | | ra_mbe: added test for malformed token in macro invokationVeetaha2020-02-221-3/+21
| | | | | | | | | | | | | | | There was a panic where lexer returned None on malformed tokens. But now we just ignore tokenization errors in mbe.
* | | ra_mbe: convert_literal now works with malformed tokensVeetaha2020-02-221-2/+3
| |/ |/|
* | Merge #3262bors[bot]2020-02-225-6/+85
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3262: Fix handling of const patterns r=matklad a=flodiebold E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the option variant), not a binding. To determine this, we need to try to resolve the name during lowering. This isn't too hard since we already need to resolve names for macro expansion anyway (though maybe a bit hacky). Fixes #1618. Co-authored-by: Florian Diebold <[email protected]>
| * | Fix handling of const patternsFlorian Diebold2020-02-215-6/+85
| |/ | | | | | | | | | | | | | | | | E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the option variant), not a binding. To determine this, we need to try to resolve the name during lowering. This isn't too hard since we already need to resolve names for macro expansion anyway (though maybe a bit hacky). Fixes #1618.
* | remove unneeded `collect`adamrk2020-02-211-11/+7
| |
* | use Vec::extend instead of Vec::push in loopAdam Bratschi-Kaye2020-02-211-3/+1
| | | | | | | | Co-Authored-By: Laurențiu Nicola <[email protected]>
* | rename module referencesadamrk2020-02-211-0/+112
|/
* Normalize associated types in types coming from ChalkFlorian Diebold2020-02-212-1/+46
| | | | Fixes #3232.
* Remove unused placeholderEdwin Cheng2020-02-211-1/+1
|
* Improve server version infoEdwin Cheng2020-02-211-1/+29
|
* Better errorseAleksey Kladov2020-02-201-2/+2
|
* Fix off by one in onEnterLaurențiu Nicola2020-02-201-1/+14
|
* Merge #3215bors[bot]2020-02-192-6/+34
|\ | | | | | | | | | | | | | | | | | | 3215: Exclude methods from non-parameter types introduced by generic constraints r=flodiebold a=lnicola Fixes #3184. r? @flodiebold Co-authored-by: Laurențiu Nicola <[email protected]>
| * Exclude methods from non-parameter types introduced by generic constraintsLaurențiu Nicola2020-02-192-6/+34
| |
* | Fill missing fields of enum variantsAleksey Kladov2020-02-192-7/+40
| |
* | Merge pull request #3239 from matklad/opt-backtraceAleksey Kladov2020-02-192-1/+2
|\ \ | | | | | | Make backtrace optional
| * | Make backtrace optionalAleksey Kladov2020-02-192-1/+2
| | |
* | | Bump lsp-typeskjeremy2020-02-191-0/+1
|/ /
* | Merge #3236bors[bot]2020-02-198-119/+91
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3236: Merge NameDefinition and NameKind r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Merge NameDefinition and NameKindAleksey Kladov2020-02-198-119/+91
| | |
* | | Merge #3235bors[bot]2020-02-193-53/+55
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3235: Derive visibility as well r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Derive visibility as wellAleksey Kladov2020-02-193-53/+55
| | |
* | | Merge #3234bors[bot]2020-02-194-60/+84
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3234: Don't store deriveable Module info in NameDefinition r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Don't store deriveable Module info in NameDefinitionAleksey Kladov2020-02-194-60/+84
| | |
* | | Extend selection handles commas in tuple patsAleksey Kladov2020-02-191-0/+27
|/ /
* | Merge #3231bors[bot]2020-02-193-0/+51
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3231: Add `remove_mut` assist r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Add `remove_mut` assistAleksey Kladov2020-02-193-0/+51
| | |
* | | Merge #3228bors[bot]2020-02-191-9/+17
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3228: Use proper range for hover on macro arguments r=matklad a=edwin0cheng This PR use `original_range` to remap the range of found syntax node in `hover` and thus it should return the proper text range now. fixed #3000 fixed #3135 Co-authored-by: Edwin Cheng <[email protected]>
| * | Use proper range for hover on macro argumentsEdwin Cheng2020-02-191-9/+17
| |/
* | CleanupShotaro Yamada2020-02-193-7/+3
| |
* | Fix a crash with non-ascii whitespace in doc-commentsShotaro Yamada2020-02-192-2/+19
|/
* Cleanup importsAleksey Kladov2020-02-181-22/+18
|
* Minor simplificationAleksey Kladov2020-02-181-6/+3
|
* Update versionsKirill Bulatov2020-02-1819-80/+85
|
* More manual clippy fixesKirill Bulatov2020-02-1831-154/+137
|
* Run cargo +nightly fix --clippy -Z unstable-optionsKirill Bulatov2020-02-1848-149/+132
|
* Merge #3218bors[bot]2020-02-183-12/+13
|\ | | | | | | | | | | | | | | 3218: Cut some deps r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>