diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-10-10 15:34:05 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2019-10-10 15:34:05 +0100 |
commit | 19cc85bf0af04167cd75dcb5fdc40bcdfe51f3e0 (patch) | |
tree | 356a3b29a03f6343b8aa14d548ba40efaabbd963 /crates/ra_hir/src/nameres/raw.rs | |
parent | 62acb9f233ec7aef5463146fd14c02d46cf8e9c1 (diff) | |
parent | b36b8970ccefa7c98f827caebf6dda71ff3d99c4 (diff) |
Merge #1985
1985: simplify a bit r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_hir/src/nameres/raw.rs')
-rw-r--r-- | crates/ra_hir/src/nameres/raw.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/crates/ra_hir/src/nameres/raw.rs b/crates/ra_hir/src/nameres/raw.rs index 623b343c4..5f93f920f 100644 --- a/crates/ra_hir/src/nameres/raw.rs +++ b/crates/ra_hir/src/nameres/raw.rs | |||
@@ -121,14 +121,20 @@ impl Index<Macro> for RawItems { | |||
121 | } | 121 | } |
122 | 122 | ||
123 | // Avoid heap allocation on items without attributes. | 123 | // Avoid heap allocation on items without attributes. |
124 | pub(super) type Attrs = Option<Arc<[Attr]>>; | 124 | type Attrs = Option<Arc<[Attr]>>; |
125 | 125 | ||
126 | #[derive(Debug, PartialEq, Eq, Clone)] | 126 | #[derive(Debug, PartialEq, Eq, Clone)] |
127 | pub(super) struct RawItem { | 127 | pub(super) struct RawItem { |
128 | pub(super) attrs: Attrs, | 128 | attrs: Attrs, |
129 | pub(super) kind: RawItemKind, | 129 | pub(super) kind: RawItemKind, |
130 | } | 130 | } |
131 | 131 | ||
132 | impl RawItem { | ||
133 | pub(super) fn attrs(&self) -> &[Attr] { | ||
134 | self.attrs.as_ref().map_or(&[], |it| &*it) | ||
135 | } | ||
136 | } | ||
137 | |||
132 | #[derive(Debug, PartialEq, Eq, Clone, Copy)] | 138 | #[derive(Debug, PartialEq, Eq, Clone, Copy)] |
133 | pub(super) enum RawItemKind { | 139 | pub(super) enum RawItemKind { |
134 | Module(Module), | 140 | Module(Module), |