smartparens 解决了自己制造的问题:
1. electric-pair
$ emacsq.sh -P rust-mode -M electric-pair-mode --eval \
"(progn
(rust-mode)
(insert \"let str: &\")
(execute-kbd-macro (string-to-vector \"'\")) ;; 触发补全
(message (buffer-string)))" -nw --batch
let str: &'
2. electric-pair & smartparens
$ emacsq.sh -P rust-mode,smartparens -M electric-pair-mode,smartparens-global-strict-mode --eval \
"(progn
(rust-mode)
(insert \"let str: &\")
(execute-kbd-macro (string-to-vector \"'\")) ;; 触发补全
(message (buffer-string)))" -nw --batch
let str: &''
3. electric-pair & smartparens [+ rust]
$ emacsq.sh -P rust-mode,smartparens -M electric-pair-mode,smartparens-global-strict-mode --eval \
"(progn
(rust-mode)
(require 'smartparens-rust) ;; ++
(insert \"let str: &\")
(execute-kbd-macro (string-to-vector \"'\")) ;; 触发补全
(message (buffer-string)))" -nw --batch
let str: &'