aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r--crates/ra_hir/src/code_model.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs
index dad1c93c4..c58170d02 100644
--- a/crates/ra_hir/src/code_model.rs
+++ b/crates/ra_hir/src/code_model.rs
@@ -773,13 +773,17 @@ impl Const {
773 773
774#[derive(Debug, Clone, PartialEq, Eq)] 774#[derive(Debug, Clone, PartialEq, Eq)]
775pub struct ConstData { 775pub struct ConstData {
776 pub(crate) name: Name, 776 pub(crate) name: Option<Name>,
777 pub(crate) type_ref: TypeRef, 777 pub(crate) type_ref: TypeRef,
778} 778}
779 779
780impl ConstData { 780impl ConstData {
781 pub fn name(&self) -> &Name { 781 pub fn name(&self) -> Option<&Name> {
782 &self.name 782 self.name.as_ref()
783 }
784
785 pub fn is_unnamed(&self) -> bool {
786 self.name.is_none()
783 } 787 }
784 788
785 pub fn type_ref(&self) -> &TypeRef { 789 pub fn type_ref(&self) -> &TypeRef {
@@ -804,7 +808,7 @@ impl ConstData {
804} 808}
805 809
806fn const_data_for<N: NameOwner + TypeAscriptionOwner>(node: &N) -> Arc<ConstData> { 810fn const_data_for<N: NameOwner + TypeAscriptionOwner>(node: &N) -> Arc<ConstData> {
807 let name = node.name().map(|n| n.as_name()).unwrap_or_else(Name::missing); 811 let name = node.name().map(|n| n.as_name());
808 let type_ref = TypeRef::from_ast_opt(node.ascribed_type()); 812 let type_ref = TypeRef::from_ast_opt(node.ascribed_type());
809 let sig = ConstData { name, type_ref }; 813 let sig = ConstData { name, type_ref };
810 Arc::new(sig) 814 Arc::new(sig)