aboutsummaryrefslogtreecommitdiff
path: root/crates/hir/src/code_model.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-08-25 11:14:45 +0100
committerGitHub <[email protected]>2020-08-25 11:14:45 +0100
commit4f91478e50dc5c2a87235e9be8bd91e3f62de4b4 (patch)
treebf97e30a7e9b806f36fc26c153951181884debfa /crates/hir/src/code_model.rs
parent59c77ff062e2b1668fcfa885a8438c333b4f0875 (diff)
parentb45dd9ef54c668b714c6fc41bc42d415ed772f32 (diff)
Merge #5867
5867: Use the same abstraction for attrs and docs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/hir/src/code_model.rs')
-rw-r--r--crates/hir/src/code_model.rs11
1 files changed, 3 insertions, 8 deletions
diff --git a/crates/hir/src/code_model.rs b/crates/hir/src/code_model.rs
index 94dd7f6f5..e553fc7dc 100644
--- a/crates/hir/src/code_model.rs
+++ b/crates/hir/src/code_model.rs
@@ -1771,6 +1771,7 @@ impl_from!(
1771 1771
1772pub trait HasAttrs { 1772pub trait HasAttrs {
1773 fn attrs(self, db: &dyn HirDatabase) -> Attrs; 1773 fn attrs(self, db: &dyn HirDatabase) -> Attrs;
1774 fn docs(self, db: &dyn HirDatabase) -> Option<Documentation>;
1774} 1775}
1775 1776
1776impl<T: Into<AttrDef>> HasAttrs for T { 1777impl<T: Into<AttrDef>> HasAttrs for T {
@@ -1778,14 +1779,8 @@ impl<T: Into<AttrDef>> HasAttrs for T {
1778 let def: AttrDef = self.into(); 1779 let def: AttrDef = self.into();
1779 db.attrs(def.into()) 1780 db.attrs(def.into())
1780 } 1781 }
1781} 1782 fn docs(self, db: &dyn HirDatabase) -> Option<Documentation> {
1782 1783 let def: AttrDef = self.into();
1783pub trait Docs {
1784 fn docs(&self, db: &dyn HirDatabase) -> Option<Documentation>;
1785}
1786impl<T: Into<AttrDef> + Copy> Docs for T {
1787 fn docs(&self, db: &dyn HirDatabase) -> Option<Documentation> {
1788 let def: AttrDef = (*self).into();
1789 db.documentation(def.into()) 1784 db.documentation(def.into())
1790 } 1785 }
1791} 1786}