File tree Expand file tree Collapse file tree 2 files changed +27
-2
lines changed Expand file tree Collapse file tree 2 files changed +27
-2
lines changed Original file line number Diff line number Diff line change @@ -61,6 +61,29 @@ test: "define-values with values inside cond refactorable to separate definition
6161------------------------------
6262
6363
64+ test: "refactoring define-values to separate definitions doesn't reformat context "
65+ ------------------------------
66+ (define (foo)
67+
68+ ( displayln "foo " )
69+
70+ (define-values (a b c) (values 1 2 3 ))
71+
72+ ( + a b c ))
73+ ------------------------------
74+ ------------------------------
75+ (define (foo)
76+
77+ ( displayln "foo " )
78+
79+ (define a 1 )
80+ (define b 2 )
81+ (define c 3 )
82+
83+ ( + a b c ))
84+ ------------------------------
85+
86+
6487test: "immediately returned variable definition can be inlined "
6588------------------------------
6689(define (foo)
Original file line number Diff line number Diff line change 2323 #:description "This use of `define-values` is unnecessary. "
2424 #:literals (define-values values)
2525 (~seq body-before ...
26- (define-values (id:id ... ) (values expr:expr ... ))
26+ (~and definition ( define-values (id:id ... ) (values expr:expr ... ) ))
2727 body-after ... )
28- (body-before ... (define id expr) ... body-after ... ))
28+ #:with (replacement ... )
29+ #'(~focus-replacement-on (~splicing-replacement ((define id expr) ... ) #:original definition))
30+ (body-before ... replacement ... body-after ... ))
2931
3032
3133(define-definition-context-refactoring-rule inline-unnecessary-define
You can’t perform that action at this time.
0 commit comments