summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rust-mode.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/rust-mode.el b/rust-mode.el
index ff91192..d7c4142 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -62,8 +62,11 @@
(back-to-indentation)
(let ((level (rust-paren-level)))
(cond
- ;; A function return type is 1 level indented
- ((looking-at "->") (* rust-indent-offset (+ level 1)))
+ ;; A function return type is indented to the corresponding function arguments
+ ((looking-at "->")
+ (save-excursion
+ (backward-list)
+ (rust-first-indent-after-brace)))
;; A closing brace is 1 level unindended
((looking-at "}") (* rust-indent-offset (- level 1)))