summaryrefslogtreecommitdiff
path: root/rust-mode-tests.el
diff options
context:
space:
mode:
authorLucas Soriano del Pino <lucas_soriano@fastmail.com>2024-02-11 11:54:31 +1100
committerLucas Soriano del Pino <lucas_soriano@fastmail.com>2024-02-13 13:07:21 +1100
commit3948faec12f72b0b11fd573e3bcfe323de5b6d80 (patch)
tree9393ae1074271d93c396848348e68869fb1dbe55 /rust-mode-tests.el
parent9c26dc1195ec05309ee15c014631fb9abd6cf5d2 (diff)
downloadrust-mode-3948faec12f72b0b11fd573e3bcfe323de5b6d80.tar.gz
Match panics in compilation-mode
If we encounter a panic when executing Rust code in `compilation-mode`, we now correctly highlight the location where the panic occurred. For example: ``` thread 'main' panicked at src/main.rs:2:5: explicit panic note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` Here, `src/main.rs:2:5` is highlighted. The developer is then able to execute `compile-goto-error` to jump to the correct spot in the code. Co-authored-by: Brent Westbrook <brentrwestbrook@gmail.com> Co-authored-by: zlef <zachlefevre@gmail.com>
Diffstat (limited to 'rust-mode-tests.el')
-rw-r--r--rust-mode-tests.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/rust-mode-tests.el b/rust-mode-tests.el
index 5c6d547..62cd261 100644
--- a/rust-mode-tests.el
+++ b/rust-mode-tests.el
@@ -3600,6 +3600,7 @@ let b = 1;"
(insert "warning found a -> b\n --> file3.rs:12:34\n\n")
(insert "note: `ZZZ` could also refer to the constant imported here -> b\n --> file4.rs:12:34\n\n")
(insert " ::: file5.rs:12:34\n\n")
+ (insert "thread 'main' panicked at src/file7.rs:12:34:\n\n")
;; should not match
(insert "werror found a -> b\n --> no_match.rs:12:34\n\n")
(insert "error[E0061]: this function takes 1 parameter but 2 parameters were supplied\n --> file6.rs:132:34
@@ -3618,11 +3619,13 @@ let b = 1;"
("file6.rs" "132" "34" compilation-error "file6.rs:132:34"))
(("file5.rs" "12" "34" compilation-info "file5.rs:12:34"))
((like-previous-one "82" back-to-indentation compilation-info "82")
- (like-previous-one "132" back-to-indentation compilation-info "132")))
+ (like-previous-one "132" back-to-indentation compilation-info "132"))
+ (("src/file7.rs" "12" "34" nil "src/file7.rs:12:34")))
(mapcar #'rust-collect-matches
(list rustc-compilation-regexps
rustc-colon-compilation-regexps
- rustc-refs-compilation-regexps))))))
+ rustc-refs-compilation-regexps
+ rustc-panics-compilation-regexps))))))
;; If electric-pair-mode is available, load it and run the tests that use it. If not,
;; no error--the tests will be skipped.