rust-analyzer/crates
bors[bot] 2cbe8a4c4b
Merge #3263
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 <florian.diebold@freiheit.com>
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-02-22 12:31:30 +00:00
..
ra_arena Switch to variant-granularity field type inference 2019-11-25 00:12:36 +03:00
ra_assists Add remove_mut assist 2020-02-19 12:44:54 +01:00
ra_cargo_watch Update versions 2020-02-18 16:12:40 +02:00
ra_cfg Update versions 2020-02-18 16:12:40 +02:00
ra_db Update versions 2020-02-18 16:12:40 +02:00
ra_fmt Update versions 2020-02-18 16:12:40 +02:00
ra_hir Don't store deriveable Module info in NameDefinition 2020-02-19 14:32:22 +01:00
ra_hir_def Merge #3260 2020-02-22 11:25:09 +00:00
ra_hir_expand Update versions 2020-02-18 16:12:40 +02:00
ra_hir_ty Shorten some code 2020-02-22 13:15:54 +01:00
ra_ide Merge #3260 2020-02-22 11:25:09 +00:00
ra_ide_db Merge NameDefinition and NameKind 2020-02-19 14:56:22 +01:00
ra_mbe ra_mbe: Remove explicit type annotation 2020-02-22 13:14:46 +02:00
ra_parser Fix dat comment 2020-02-22 14:16:13 +02:00
ra_prof Make backtrace optional 2020-02-19 16:28:25 +01:00
ra_project_model Update versions 2020-02-18 16:12:40 +02:00
ra_syntax Fix a crash with non-ascii whitespace in doc-comments 2020-02-19 13:13:29 +09:00
ra_text_edit Update versions 2020-02-18 16:12:40 +02:00
ra_tt Update versions 2020-02-18 16:12:40 +02:00
rust-analyzer Remove unused placeholder 2020-02-21 18:33:45 +08:00
test_utils Update versions 2020-02-18 16:12:40 +02:00