From 245c0d85840b3ef6e969e1a6786bdfb5285b0cea Mon Sep 17 00:00:00 2001
From: Ville Penttinen <villem.penttinen@gmail.com>
Date: Sun, 31 Mar 2019 10:39:23 +0300
Subject: [PATCH] Update tests

---
 .../data/parser/err/0024_many_type_parens.txt | 118 +++++++++---------
 .../inline/ok/0048_path_type_with_bounds.rs   |   1 +
 .../inline/ok/0048_path_type_with_bounds.txt  |  63 ++++++++--
 3 files changed, 115 insertions(+), 67 deletions(-)

diff --git a/crates/ra_syntax/tests/data/parser/err/0024_many_type_parens.txt b/crates/ra_syntax/tests/data/parser/err/0024_many_type_parens.txt
index b353a53834d..45fa7059332 100644
--- a/crates/ra_syntax/tests/data/parser/err/0024_many_type_parens.txt
+++ b/crates/ra_syntax/tests/data/parser/err/0024_many_type_parens.txt
@@ -84,28 +84,30 @@ SOURCE_FILE@[0; 240)
           UNDERSCORE@[75; 76)
         COLON@[76; 77)
         WHITESPACE@[77; 78)
-        PATH_TYPE@[78; 121)
-          PATH@[78; 88)
-            PATH_SEGMENT@[78; 88)
-              NAME_REF@[78; 81)
-                IDENT@[78; 81) "Box"
-              TYPE_ARG_LIST@[81; 88)
-                L_ANGLE@[81; 82)
-                TYPE_ARG@[82; 88)
-                  PAREN_TYPE@[82; 88)
-                    L_PAREN@[82; 83)
-                    PATH_TYPE@[83; 87)
-                      PATH@[83; 87)
-                        PATH_SEGMENT@[83; 87)
-                          NAME_REF@[83; 87)
-                            IDENT@[83; 87) "Copy"
-                    R_PAREN@[87; 88)
-                    err: `expected COMMA`
-                    err: `expected R_ANGLE`
-          WHITESPACE@[88; 89)
-          PLUS@[89; 90)
-          WHITESPACE@[90; 91)
-          TYPE_BOUND_LIST@[91; 121)
+        DYN_TRAIT_TYPE@[78; 121)
+          TYPE_BOUND_LIST@[78; 121)
+            TYPE_BOUND@[78; 88)
+              PATH_TYPE@[78; 88)
+                PATH@[78; 88)
+                  PATH_SEGMENT@[78; 88)
+                    NAME_REF@[78; 81)
+                      IDENT@[78; 81) "Box"
+                    TYPE_ARG_LIST@[81; 88)
+                      L_ANGLE@[81; 82)
+                      TYPE_ARG@[82; 88)
+                        PAREN_TYPE@[82; 88)
+                          L_PAREN@[82; 83)
+                          PATH_TYPE@[83; 87)
+                            PATH@[83; 87)
+                              PATH_SEGMENT@[83; 87)
+                                NAME_REF@[83; 87)
+                                  IDENT@[83; 87) "Copy"
+                          R_PAREN@[87; 88)
+                          err: `expected COMMA`
+                          err: `expected R_ANGLE`
+            WHITESPACE@[88; 89)
+            PLUS@[89; 90)
+            WHITESPACE@[90; 91)
             TYPE_BOUND@[91; 99)
               L_PAREN@[91; 92)
               QUESTION@[92; 93)
@@ -254,41 +256,43 @@ SOURCE_FILE@[0; 240)
           UNDERSCORE@[189; 190)
         COLON@[190; 191)
         WHITESPACE@[191; 192)
-        PATH_TYPE@[192; 235)
-          PATH@[192; 215)
-            PATH_SEGMENT@[192; 215)
-              NAME_REF@[192; 195)
-                IDENT@[192; 195) "Box"
-              TYPE_ARG_LIST@[195; 215)
-                L_ANGLE@[195; 196)
-                TYPE_ARG@[196; 215)
-                  PAREN_TYPE@[196; 215)
-                    L_PAREN@[196; 197)
-                    FOR_TYPE@[197; 214)
-                      FOR_KW@[197; 200)
-                      TYPE_PARAM_LIST@[200; 204)
-                        L_ANGLE@[200; 201)
-                        LIFETIME_PARAM@[201; 203)
-                          LIFETIME@[201; 203) "'a"
-                        R_ANGLE@[203; 204)
-                      WHITESPACE@[204; 205)
-                      PATH_TYPE@[205; 214)
-                        PATH@[205; 214)
-                          PATH_SEGMENT@[205; 214)
-                            NAME_REF@[205; 210)
-                              IDENT@[205; 210) "Trait"
-                            TYPE_ARG_LIST@[210; 214)
-                              L_ANGLE@[210; 211)
-                              LIFETIME_ARG@[211; 213)
-                                LIFETIME@[211; 213) "'a"
-                              R_ANGLE@[213; 214)
-                    R_PAREN@[214; 215)
-                    err: `expected COMMA`
-                    err: `expected R_ANGLE`
-          WHITESPACE@[215; 216)
-          PLUS@[216; 217)
-          WHITESPACE@[217; 218)
-          TYPE_BOUND_LIST@[218; 235)
+        DYN_TRAIT_TYPE@[192; 235)
+          TYPE_BOUND_LIST@[192; 235)
+            TYPE_BOUND@[192; 215)
+              PATH_TYPE@[192; 215)
+                PATH@[192; 215)
+                  PATH_SEGMENT@[192; 215)
+                    NAME_REF@[192; 195)
+                      IDENT@[192; 195) "Box"
+                    TYPE_ARG_LIST@[195; 215)
+                      L_ANGLE@[195; 196)
+                      TYPE_ARG@[196; 215)
+                        PAREN_TYPE@[196; 215)
+                          L_PAREN@[196; 197)
+                          FOR_TYPE@[197; 214)
+                            FOR_KW@[197; 200)
+                            TYPE_PARAM_LIST@[200; 204)
+                              L_ANGLE@[200; 201)
+                              LIFETIME_PARAM@[201; 203)
+                                LIFETIME@[201; 203) "'a"
+                              R_ANGLE@[203; 204)
+                            WHITESPACE@[204; 205)
+                            PATH_TYPE@[205; 214)
+                              PATH@[205; 214)
+                                PATH_SEGMENT@[205; 214)
+                                  NAME_REF@[205; 210)
+                                    IDENT@[205; 210) "Trait"
+                                  TYPE_ARG_LIST@[210; 214)
+                                    L_ANGLE@[210; 211)
+                                    LIFETIME_ARG@[211; 213)
+                                      LIFETIME@[211; 213) "'a"
+                                    R_ANGLE@[213; 214)
+                          R_PAREN@[214; 215)
+                          err: `expected COMMA`
+                          err: `expected R_ANGLE`
+            WHITESPACE@[215; 216)
+            PLUS@[216; 217)
+            WHITESPACE@[217; 218)
             TYPE_BOUND@[218; 224)
               L_PAREN@[218; 219)
               PATH_TYPE@[219; 223)
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.rs
index 215210e277a..4bb0f63b739 100644
--- a/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.rs
@@ -1 +1,2 @@
 fn foo() -> Box<T + 'f> {}
+fn foo() -> Box<dyn T + 'f> {}
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.txt
index a0110f5553a..6faf4d3b9c4 100644
--- a/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.txt
@@ -1,4 +1,4 @@
-SOURCE_FILE@[0; 27)
+SOURCE_FILE@[0; 58)
   FN_DEF@[0; 26)
     FN_KW@[0; 2)
     WHITESPACE@[2; 3)
@@ -19,15 +19,17 @@ SOURCE_FILE@[0; 27)
             TYPE_ARG_LIST@[15; 23)
               L_ANGLE@[15; 16)
               TYPE_ARG@[16; 22)
-                PATH_TYPE@[16; 22)
-                  PATH@[16; 17)
-                    PATH_SEGMENT@[16; 17)
-                      NAME_REF@[16; 17)
-                        IDENT@[16; 17) "T"
-                  WHITESPACE@[17; 18)
-                  PLUS@[18; 19)
-                  WHITESPACE@[19; 20)
-                  TYPE_BOUND_LIST@[20; 22)
+                DYN_TRAIT_TYPE@[16; 22)
+                  TYPE_BOUND_LIST@[16; 22)
+                    TYPE_BOUND@[16; 17)
+                      PATH_TYPE@[16; 17)
+                        PATH@[16; 17)
+                          PATH_SEGMENT@[16; 17)
+                            NAME_REF@[16; 17)
+                              IDENT@[16; 17) "T"
+                    WHITESPACE@[17; 18)
+                    PLUS@[18; 19)
+                    WHITESPACE@[19; 20)
                     TYPE_BOUND@[20; 22)
                       LIFETIME@[20; 22) "'f"
               R_ANGLE@[22; 23)
@@ -36,3 +38,44 @@ SOURCE_FILE@[0; 27)
       L_CURLY@[24; 25)
       R_CURLY@[25; 26)
   WHITESPACE@[26; 27)
+  FN_DEF@[27; 57)
+    FN_KW@[27; 29)
+    WHITESPACE@[29; 30)
+    NAME@[30; 33)
+      IDENT@[30; 33) "foo"
+    PARAM_LIST@[33; 35)
+      L_PAREN@[33; 34)
+      R_PAREN@[34; 35)
+    WHITESPACE@[35; 36)
+    RET_TYPE@[36; 54)
+      THIN_ARROW@[36; 38)
+      WHITESPACE@[38; 39)
+      PATH_TYPE@[39; 54)
+        PATH@[39; 54)
+          PATH_SEGMENT@[39; 54)
+            NAME_REF@[39; 42)
+              IDENT@[39; 42) "Box"
+            TYPE_ARG_LIST@[42; 54)
+              L_ANGLE@[42; 43)
+              TYPE_ARG@[43; 53)
+                DYN_TRAIT_TYPE@[43; 53)
+                  DYN_KW@[43; 46)
+                  WHITESPACE@[46; 47)
+                  TYPE_BOUND_LIST@[47; 53)
+                    TYPE_BOUND@[47; 48)
+                      PATH_TYPE@[47; 48)
+                        PATH@[47; 48)
+                          PATH_SEGMENT@[47; 48)
+                            NAME_REF@[47; 48)
+                              IDENT@[47; 48) "T"
+                    WHITESPACE@[48; 49)
+                    PLUS@[49; 50)
+                    WHITESPACE@[50; 51)
+                    TYPE_BOUND@[51; 53)
+                      LIFETIME@[51; 53) "'f"
+              R_ANGLE@[53; 54)
+    WHITESPACE@[54; 55)
+    BLOCK@[55; 57)
+      L_CURLY@[55; 56)
+      R_CURLY@[56; 57)
+  WHITESPACE@[57; 58)