rust/crates
Aleksey Kladov 5c9f31d4c2 internal: move diagnostics to hir
The idea here is to eventually get rid of `dyn Diagnostic` and
`DiagnosticSink` infrastructure altogether, and just have a `enum
hir::Diagnostic` instead.

The problem with `dyn Diagnostic` is that it is defined in the lowest
level of the stack (hir_expand), but is used by the highest level (ide).

As a first step, we free hir_expand and hir_def from `dyn Diagnostic`
and kick the can up to `hir_ty`, as an intermediate state. The plan is
then to move DiagnosticSink similarly to the hir crate, and, as final
third step, remove its usage from the ide.

One currently unsolved problem is testing. You can notice that the test
which checks precise diagnostic ranges, unresolved_import_in_use_tree,
was moved to the ide layer. Logically, only IDE should have the infra to
render a specific range.

At the same time, the range is determined with the data produced in
hir_def and hir crates, so this layering is rather unfortunate. Working
on hir_def shouldn't require compiling `ide` for testing.
2021-05-25 17:49:59 +03:00
..
base_db Update CrateGraph comment 2021-05-25 00:56:24 +02:00
cfg internal: expose cfg attrs from hir::Crate 2021-05-07 23:50:24 +03:00
flycheck Use package root as cargo check working directory 2021-05-12 19:50:52 -07:00
hir internal: move diagnostics to hir 2021-05-25 17:49:59 +03:00
hir_def internal: move diagnostics to hir 2021-05-25 17:49:59 +03:00
hir_expand internal: move diagnostics to hir 2021-05-25 17:49:59 +03:00
hir_ty internal: move diagnostics to hir 2021-05-25 17:49:59 +03:00
ide internal: move diagnostics to hir 2021-05-25 17:49:59 +03:00
ide_assists add test that it does not create extraneous commas 2021-05-24 22:17:16 +03:00
ide_completion internal: rename hypothetical -> speculative 2021-05-24 22:21:25 +03:00
ide_db Merge #8945 2021-05-23 21:55:51 +00:00
ide_ssr
mbe Fixup 2021-05-24 21:47:01 +02:00
parser Add even more docs 2021-05-22 17:20:22 +03:00
paths
proc_macro_api Disable unaliged feature of object 2021-05-24 16:35:52 +03:00
proc_macro_srv Update test fixtures 2021-05-24 18:18:05 +03:00
proc_macro_test
profile Add more docs 2021-05-22 16:53:47 +03:00
project_model Duplicate dependencies that have multiple DepKinds 2021-05-24 18:31:43 +02:00
rust-analyzer Merge #8942 2021-05-25 02:30:47 +00:00
stdx Don't compare ast::Visibility by stringifying 2021-05-20 17:45:59 +02:00
syntax generate match arms with todo!() as placeholder body 2021-05-24 22:17:16 +03:00
test_utils internal: use API stabilized in 1.52 2021-05-06 20:12:15 +03:00
text_edit
toolchain
tt Add more docs 2021-05-22 16:53:47 +03:00
vfs
vfs-notify