 (defcustom rust-indent-offset 4
   "Indent Rust code by this number of spaces."
   :type 'integer
+  :group 'rust-mode)
+
+(defcustom rust-indent-method-chain nil
+  "Indent Rust method chains, aligned by the '.' operators"
+  :type 'boolean
   :group 'rust-mode)
 
 (defun rust-paren-level () (nth 0 (syntax-ppss)))

	(forward-word 1)
	(backward-word 1))
      (current-column))))

(defun rust-rewind-to-beginning-of-current-level-expr ()
  (let ((current-level (rust-paren-level)))

                   ;; the inside of it correctly relative to the outside.
                   (if (= 0 level)
                       0
					 (or
					  (when rust-indent-method-chain
						(rust-align-to-method-chain))
                     (save-excursion
                       (backward-up-list)
                       (rust-rewind-to-beginning-of-current-level-expr)
                       (+ (current-column) rust-indent-offset))))))
             (cond
              ;; A function return type is indented to the corresponding function arguments
              ((looking-at "->")
