@@ -5,18 +5,25 @@ use std::iter;
55
66fn main ( ) {
77 format ! ( "A number: {}" . iter:: once( 42 ) . next( ) . unwrap( ) ) ;
8- //~^ ERROR expected token: `, `
8+ //~^ ERROR expected `,`, found `. `
99
1010 // Other kind of types are also checked:
1111
1212 format ! ( "A number: {}" / iter:: once( 42 ) . next( ) . unwrap( ) ) ;
13- //~^ ERROR expected token: `, `
13+ //~^ ERROR expected `,`, found `/ `
1414
1515 format ! ( "A number: {}" ; iter:: once( 42 ) . next( ) . unwrap( ) ) ;
16- //~^ ERROR expected token: `, `
16+ //~^ ERROR expected `,`, found `; `
1717
1818 // Note: this character is an COMBINING COMMA BELOW unicode char
1919 format ! ( "A number: {}" ̦ iter:: once( 42 ) . next( ) . unwrap( ) ) ;
20- //~^ ERROR expected token: `, `
20+ //~^ ERROR expected `,`, found `iter `
2121 //~^^ ERROR unknown start of token: \u{326}
22+
23+ // Here recovery is tested.
24+ // If the `compile_error!` is emitted, then the parser is able to recover
25+ // from the incorrect first separator.
26+ format ! ( "{}" . compile_error!( "fail" ) ) ;
27+ //~^ ERROR expected `,`, found `.`
28+ //~^^ ERROR fail
2229}
0 commit comments