Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-expand/src/mod_path.rs')
| -rw-r--r-- | crates/hir-expand/src/mod_path.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/crates/hir-expand/src/mod_path.rs b/crates/hir-expand/src/mod_path.rs index af59733b9f..05e8c585c9 100644 --- a/crates/hir-expand/src/mod_path.rs +++ b/crates/hir-expand/src/mod_path.rs @@ -12,12 +12,13 @@ use crate::{ }; use base_db::CrateId; use either::Either; +use smallvec::SmallVec; use syntax::{ast, AstNode}; #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct ModPath { pub kind: PathKind, - segments: Vec<Name>, + segments: SmallVec<[Name; 1]>, } #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] @@ -41,13 +42,13 @@ impl ModPath { } pub fn from_segments(kind: PathKind, segments: impl IntoIterator<Item = Name>) -> ModPath { - let segments = segments.into_iter().collect::<Vec<_>>(); + let segments = segments.into_iter().collect(); ModPath { kind, segments } } /// Creates a `ModPath` from a `PathKind`, with no extra path segments. pub const fn from_kind(kind: PathKind) -> ModPath { - ModPath { kind, segments: Vec::new() } + ModPath { kind, segments: SmallVec::new_const() } } pub fn segments(&self) -> &[Name] { |