                   ("print!\(\"abcd {0} efgh\"\);" 9 23 ((14 17)))
                   ("print!\(\"{1} abcd {0} efgh\"\);" 9 27 ((9 12) (18 21)))
                   ("print!\(\"{{{1} abcd }} {0}}} {{efgh}}\"\);" 9 33 ((11 14) (23 26)))))
-    (destructuring-bind (text cursor limit matches) test
+    (cl-destructuring-bind (text cursor limit matches) test
       (with-temp-buffer
         ;; make sure we have a clean slate
         (save-match-data

    (rust-mode)
    (insert "fn main() {\n    let x = 1;")
    ;; Insert 150 separate comments on the same line
    (dotimes (i 150)
      (insert "/* foo */ "))
    ;; Rewinding from the last comment to the end of the let needs at least
    ;; 150 iterations, but if we limit the stack depth to 100 (this appears to

  (with-temp-buffer
    (rust-mode)
    (insert content)
    (font-lock-flush)
    (font-lock-ensure)
    (dolist (pair pairs)
      (let* ((open-pos (nth 0 pair))
             (close-pos (nth 1 pair)))
