aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2019-09-07 16:47:56 +0100
committerGitHub <[email protected]>2019-09-07 16:47:56 +0100
commit4a89a7c9026dc3df4466f7b10c666186830d38f6 (patch)
treefdf832ba772141368f27d733cd718ee9a599a346 /crates/ra_syntax
parenta73b424e3bcf3e211f87d5a9b175a89231848c6d (diff)
parent8fb3cab76c60fbff5ae6f5984ac07b09b42b742c (diff)
Merge #1786
1786: Various minor trait improvements r=matklad a=flodiebold - lower bounds on trait definition, i.e. super traits - use super traits for associated types - use traits from where clauses and their super traits for method resolution - lower fn-like paths (i.e. `Fn(X, Y) -> Z`) - pass the environment to Chalk in the correct way to make elaboration work, i.e. inferring things like `T: Clone` from `T: Copy`. The clauses need to be wrapped in `FromEnv` clauses for that to work, which I didn't do before. - add some tests for closure inference already Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/ra_syntax')
-rw-r--r--crates/ra_syntax/src/ast/generated.rs6
-rw-r--r--crates/ra_syntax/src/grammar.ron2
2 files changed, 7 insertions, 1 deletions
diff --git a/crates/ra_syntax/src/ast/generated.rs b/crates/ra_syntax/src/ast/generated.rs
index bcf753f78..d274b6fbc 100644
--- a/crates/ra_syntax/src/ast/generated.rs
+++ b/crates/ra_syntax/src/ast/generated.rs
@@ -2312,6 +2312,12 @@ impl PathSegment {
2312 pub fn type_arg_list(&self) -> Option<TypeArgList> { 2312 pub fn type_arg_list(&self) -> Option<TypeArgList> {
2313 AstChildren::new(&self.syntax).next() 2313 AstChildren::new(&self.syntax).next()
2314 } 2314 }
2315 pub fn param_list(&self) -> Option<ParamList> {
2316 AstChildren::new(&self.syntax).next()
2317 }
2318 pub fn ret_type(&self) -> Option<RetType> {
2319 AstChildren::new(&self.syntax).next()
2320 }
2315} 2321}
2316#[derive(Debug, Clone, PartialEq, Eq, Hash)] 2322#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2317pub struct PathType { 2323pub struct PathType {
diff --git a/crates/ra_syntax/src/grammar.ron b/crates/ra_syntax/src/grammar.ron
index 3e6c2d3f3..993e58e64 100644
--- a/crates/ra_syntax/src/grammar.ron
+++ b/crates/ra_syntax/src/grammar.ron
@@ -684,7 +684,7 @@ Grammar(
684 ] 684 ]
685 ), 685 ),
686 "PathSegment": ( 686 "PathSegment": (
687 options: [ "NameRef", "TypeArgList" ] 687 options: [ "NameRef", "TypeArgList", "ParamList", "RetType" ]
688 ), 688 ),
689 "TypeArgList": (collections: [ 689 "TypeArgList": (collections: [
690 ("type_args", "TypeArg"), 690 ("type_args", "TypeArg"),