rust/crates
bors[bot] c2d9cca4e4
Merge #1895
1895: Handle associated type shorthand (`T::Item`) (Second attempt) r=flodiebold a=flodiebold

This is only allowed for generic parameters (including `Self` in traits), and
special care needs to be taken to not run into cycles while resolving it,
because we use the where clauses of the generic parameter to find candidates for
the trait containing the associated type, but the where clauses may themselves
contain instances of short-hand associated types.

In some cases this is even fine, e.g. we might have `T: Trait<U::Item>, U:
Iterator`. If there is a cycle, we'll currently panic, which isn't great, but
better than overflowing the stack...

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-09-22 22:01:38 +00:00
..
ra_arena cleanup 2019-08-06 10:57:16 +02:00
ra_assists test for TOODs as well 2019-09-22 23:43:23 +03:00
ra_batch don't break parser error recovery in presence of macros 2019-09-12 12:38:07 +03:00
ra_cli Merge #1862 2019-09-17 21:16:28 +00:00
ra_db introduce hir debugging infra 2019-09-09 12:32:16 +03:00
ra_fmt fix hir for new block syntax 2019-09-02 21:23:19 +03:00
ra_hir Handle projection types from Chalk 2019-09-22 20:08:46 +02:00
ra_ide_api allow compiling ra_ide_api on wasm 2019-09-20 20:39:02 +03:00
ra_lsp_server move fold conversino to conv.rs 2019-09-19 18:27:47 +03:00
ra_mbe remove obsolete TOOD 2019-09-22 23:43:37 +03:00
ra_parser Support loop as argument 2019-09-20 16:35:29 -04:00
ra_prof ⬆️ once_cell 2019-09-01 23:18:15 +03:00
ra_project_model introduce hir debugging infra 2019-09-09 12:32:16 +03:00
ra_syntax Support loop as argument 2019-09-20 16:35:29 -04:00
ra_text_edit
ra_tools test for TOODs as well 2019-09-22 23:43:23 +03:00
ra_tt
ra_vfs_glob add option to disable notify 2019-09-06 17:21:29 +03:00
test_utils translate \n -> \r\n on the way out 2019-08-20 19:53:05 +03:00