aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/expr
diff options
context:
space:
mode:
authoruHOOCCOOHu <[email protected]>2019-09-11 19:01:07 +0100
committeruHOOCCOOHu <[email protected]>2019-09-15 12:40:32 +0100
commit4926bed42680d329f906be93450bec6b2ba0e99b (patch)
tree455c0bc9d839a18fffda6d018bf41d1c58ebfa52 /crates/ra_hir/src/expr
parent2d79a1ad83cc39075c7c9e3230973013c8c58b17 (diff)
Support path starting with a type
Diffstat (limited to 'crates/ra_hir/src/expr')
-rw-r--r--crates/ra_hir/src/expr/validation.rs14
1 files changed, 5 insertions, 9 deletions
diff --git a/crates/ra_hir/src/expr/validation.rs b/crates/ra_hir/src/expr/validation.rs
index 030ec53a2..c675bf8de 100644
--- a/crates/ra_hir/src/expr/validation.rs
+++ b/crates/ra_hir/src/expr/validation.rs
@@ -8,7 +8,7 @@ use crate::{
8 diagnostics::{DiagnosticSink, MissingFields, MissingOkInTailExpr}, 8 diagnostics::{DiagnosticSink, MissingFields, MissingOkInTailExpr},
9 expr::AstPtr, 9 expr::AstPtr,
10 name, 10 name,
11 path::{PathKind, PathSegment}, 11 path::PathKind,
12 ty::{ApplicationTy, InferenceResult, Ty, TypeCtor}, 12 ty::{ApplicationTy, InferenceResult, Ty, TypeCtor},
13 Adt, Function, Name, Path, 13 Adt, Function, Name, Path,
14}; 14};
@@ -108,14 +108,10 @@ impl<'a, 'b> ExprValidator<'a, 'b> {
108 None => return, 108 None => return,
109 }; 109 };
110 110
111 let std_result_path = Path { 111 let std_result_path = Path::from_simple_segments(
112 kind: PathKind::Abs, 112 PathKind::Abs,
113 segments: vec![ 113 vec![name::STD, name::RESULT_MOD, name::RESULT_TYPE],
114 PathSegment { name: name::STD, args_and_bindings: None }, 114 );
115 PathSegment { name: name::RESULT_MOD, args_and_bindings: None },
116 PathSegment { name: name::RESULT_TYPE, args_and_bindings: None },
117 ],
118 };
119 115
120 let resolver = self.func.resolver(db); 116 let resolver = self.func.resolver(db);
121 let std_result_enum = match resolver.resolve_known_enum(db, &std_result_path) { 117 let std_result_enum = match resolver.resolve_known_enum(db, &std_result_path) {