diff options
author | Florian Diebold <[email protected]> | 2019-09-25 20:41:17 +0100 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2019-09-25 20:41:17 +0100 |
commit | c35ef5013c3223986ae5111a3720ef8e85c80efc (patch) | |
tree | 807f32992732a74c591f6a8c85aff354ebea09c6 /crates/ra_hir/src/code_model.rs | |
parent | 5704485063bad82e651c8e68f4fa2d333bfdf152 (diff) |
Resolve trait associated items
E.g. `Default::default` or `<Foo as Default>::default`.
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r-- | crates/ra_hir/src/code_model.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index 9fecba63d..20413cb3d 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs | |||
@@ -1055,3 +1055,13 @@ pub enum AssocItem { | |||
1055 | // require not implementing From, and instead having some checked way of | 1055 | // require not implementing From, and instead having some checked way of |
1056 | // casting them, and somehow making the constructors private, which would be annoying. | 1056 | // casting them, and somehow making the constructors private, which would be annoying. |
1057 | impl_froms!(AssocItem: Function, Const, TypeAlias); | 1057 | impl_froms!(AssocItem: Function, Const, TypeAlias); |
1058 | |||
1059 | impl From<AssocItem> for crate::generics::GenericDef { | ||
1060 | fn from(item: AssocItem) -> Self { | ||
1061 | match item { | ||
1062 | AssocItem::Function(f) => f.into(), | ||
1063 | AssocItem::Const(c) => c.into(), | ||
1064 | AssocItem::TypeAlias(t) => t.into(), | ||
1065 | } | ||
1066 | } | ||
1067 | } | ||