File tree Expand file tree Collapse file tree 3 files changed +14
-2
lines changed
compiler/rustc_parse/src/parser
src/test/ui/parser/diff-markers Expand file tree Collapse file tree 3 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -2579,12 +2579,16 @@ impl<'a> Parser<'a> {
25792579 } ;
25802580 let mut spans = Vec :: with_capacity ( 3 ) ;
25812581 spans. push ( start) ;
2582+ let mut middlediff3 = None ;
25822583 let mut middle = None ;
25832584 let mut end = None ;
25842585 loop {
25852586 if self . token . kind == TokenKind :: Eof {
25862587 break ;
25872588 }
2589+ if let Some ( span) = self . diff_marker ( & TokenKind :: OrOr , & TokenKind :: BinOp ( token:: Or ) ) {
2590+ middlediff3 = Some ( span) ;
2591+ }
25882592 if let Some ( span) = self . diff_marker ( & TokenKind :: EqEq , & TokenKind :: Eq ) {
25892593 middle = Some ( span) ;
25902594 }
@@ -2597,6 +2601,9 @@ impl<'a> Parser<'a> {
25972601 }
25982602 let mut err = self . struct_span_err ( spans, "encountered diff marker" ) ;
25992603 err. span_label ( start, "after this is the code before the merge" ) ;
2604+ if let Some ( middle) = middlediff3 {
2605+ err. span_label ( middle, "" ) ;
2606+ }
26002607 if let Some ( middle) = middle {
26012608 err. span_label ( middle, "" ) ;
26022609 }
Original file line number Diff line number Diff line change @@ -2,8 +2,10 @@ enum E {
22 Foo {
33<<<<<<< HEAD //~ ERROR encountered diff marker
44 x : u8 ,
5+ |||||||
6+ z : ( ) ,
57=======
6- x : i8 ,
8+ y : i8 ,
79>>>>>>> branch
810 }
911}
Original file line number Diff line number Diff line change @@ -4,9 +4,12 @@ error: encountered diff marker
44LL | <<<<<<< HEAD
55 | ^^^^^^^ after this is the code before the merge
66LL | x: u8,
7+ LL | |||||||
8+ | -------
9+ LL | z: (),
710LL | =======
811 | -------
9- LL | x : i8,
12+ LL | y : i8,
1013LL | >>>>>>> branch
1114 | ^^^^^^^ above this are the incoming code changes
1215 |
You can’t perform that action at this time.
0 commit comments