@@ -101,6 +101,8 @@ pub(super) fn atom_expr(
101
101
}
102
102
T ! [ loop ] => loop_expr ( p, None ) ,
103
103
T ! [ while ] => while_expr ( p, None ) ,
104
+ // test try_macro_fallback 2015
105
+ // fn foo() { try!(Ok(())); }
104
106
T ! [ try] => try_block_expr ( p, None ) ,
105
107
T ! [ match ] => match_expr ( p) ,
106
108
T ! [ return ] => return_expr ( p) ,
@@ -767,24 +769,6 @@ fn break_expr(p: &mut Parser<'_>, r: Restrictions) -> CompletedMarker {
767
769
fn try_block_expr ( p : & mut Parser < ' _ > , m : Option < Marker > ) -> CompletedMarker {
768
770
assert ! ( p. at( T ![ try] ) ) ;
769
771
let m = m. unwrap_or_else ( || p. start ( ) ) ;
770
- // Special-case `try!` as macro.
771
- // This is a hack until we do proper edition support
772
- if p. nth_at ( 1 , T ! [ !] ) {
773
- // test try_macro_fallback
774
- // fn foo() { try!(Ok(())); }
775
- let macro_call = p. start ( ) ;
776
- let path = p. start ( ) ;
777
- let path_segment = p. start ( ) ;
778
- let name_ref = p. start ( ) ;
779
- p. bump_remap ( IDENT ) ;
780
- name_ref. complete ( p, NAME_REF ) ;
781
- path_segment. complete ( p, PATH_SEGMENT ) ;
782
- path. complete ( p, PATH ) ;
783
- let _block_like = items:: macro_call_after_excl ( p) ;
784
- macro_call. complete ( p, MACRO_CALL ) ;
785
- return m. complete ( p, MACRO_EXPR ) ;
786
- }
787
-
788
772
p. bump ( T ! [ try] ) ;
789
773
if p. at ( T ! [ '{' ] ) {
790
774
stmt_list ( p) ;
0 commit comments