break;
}
if let Some(span) = self.diff_marker(&TokenKind::EqEq, &TokenKind::Eq) {
- spans.push(span);
middle = Some(span);
}
if let Some(span) = self.diff_marker(&TokenKind::BinOp(token::Shr), &TokenKind::Gt) {
self.bump();
}
let mut err = self.struct_span_err(spans, "encountered diff marker");
- err.span_label(start, "start");
+ err.span_label(start, "after this is the code before the merge");
if let Some(middle) = middle {
- err.span_label(middle, "middle");
+ err.span_label(middle, "");
}
if let Some(end) = end {
- err.span_label(end, "end");
+ err.span_label(end, "above this are the incoming code changes");
}
+ err.help(
+ "if you're having merge conflicts after pulling new code, the top section is the code \
+ you already had and the bottom section is the remote code",
+ );
+ err.help(
+ "if you're in the middle of a rebase, the top section is the code being rebased onto \
+ and the bottom section is the code coming from the current commit being rebased",
+ );
+ err.note(
+ "for an explanation on these markers from the `git` documentation, visit \
+ <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>",
+ );
err.emit();
FatalError.raise()
}
p.collect_tokens_trailing_token(attrs, ForceCollect::No, |p, attrs| {
let mut snapshot = None;
if p.is_diff_marker(&TokenKind::BinOp(token::Shl), &TokenKind::Lt) {
- // Account for `<<<<<<<` diff markers. We can't proactivelly error here because
+ // Account for `<<<<<<<` diff markers. We can't proactively error here because
// that can be a valid type start, so we snapshot and reparse only we've
// encountered another parse error.
snapshot = Some(p.create_snapshot_for_diagnostic());
break;
}
if self.is_diff_marker(&TokenKind::BinOp(token::Shl), &TokenKind::Lt) {
- // Account for `<<<<<<<` diff markers. We can't proactivelly error here because
+ // Account for `<<<<<<<` diff markers. We can't proactively error here because
// that can be a valid path start, so we snapshot and reparse only we've
// encountered another parse error.
snapshot = Some(self.create_snapshot_for_diagnostic());
--> $DIR/enum-2.rs:3:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | x: u8,
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | x: i8,
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/enum.rs:2:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | Foo(u8),
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | Bar(i8),
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/fn-arg.rs:3:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | x: u8,
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | x: i8,
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/item-with-attr.rs:2:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | fn foo() {}
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | fn bar() {}
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/item.rs:1:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | fn foo() {}
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | fn bar() {}
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/statement.rs:10:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | S::foo();
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | S::bar();
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/struct-expr.rs:6:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | x: 42,
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | x: 0,
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/struct.rs:2:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | x: u8,
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | x: i8,
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/trait-item.rs:2:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | fn foo() {}
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | fn bar() {}
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/tuple-struct.rs:2:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | u8,
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | i8,
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error
--> $DIR/use-statement.rs:2:1
|
LL | <<<<<<< HEAD
- | ^^^^^^^ start
+ | ^^^^^^^ after this is the code before the merge
LL | bar,
LL | =======
- | ^^^^^^^ middle
+ | -------
LL | baz,
LL | >>>>>>> branch
- | ^^^^^^^ end
+ | ^^^^^^^ above this are the incoming code changes
+ |
+ = help: if you're having merge conflicts after pulling new code, the top section is the code you already had and the bottom section is the remote code
+ = help: if you're in the middle of a rebase, the top section is the code being rebased onto and the bottom section is the code coming from the current commit being rebased
+ = note: for an explanation on these markers from the `git` documentation, visit <https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging#_checking_out_conflicts>
error: aborting due to previous error