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