mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
![]() 9321: Inline generics in const and function trait completions r=Veykril a=RDambrosio016 This PR does a couple of things: - moves path_transform from ide_assists to ide_db to be shared by both assists and completions - when completing a const or a function for a trait, it will "inline" any generics in those associated items instead of leaving the generic's name. For example: ```rust trait Foo<T> { const BAR: T; fn foo() -> T; } struct Bar; impl Foo<u32> for Bar { // autocompletes to this fn foo() -> u32; // and not this (old) fn foo() -> T; // also works for associated consts and where clauses const BAR: u32 = /* */ } ``` Currently this does not work for const generics, because `PathTransform` does not seem to account for them. If this should work on const generics too, `PathTransform` will need to be changed. However, it is uncommon to implement a trait only for a single const value, so this isnt a huge concern. Co-authored-by: rdambrosio <rdambrosio016@gmail.com> |
||
---|---|---|
.. | ||
base_db | ||
cfg | ||
flycheck | ||
hir | ||
hir_def | ||
hir_expand | ||
hir_ty | ||
ide | ||
ide_assists | ||
ide_completion | ||
ide_db | ||
ide_diagnostics | ||
ide_ssr | ||
mbe | ||
parser | ||
paths | ||
proc_macro_api | ||
proc_macro_srv | ||
proc_macro_test | ||
profile | ||
project_model | ||
rust-analyzer | ||
stdx | ||
syntax | ||
test_utils | ||
text_edit | ||
toolchain | ||
tt | ||
vfs | ||
vfs-notify |