diff --git a/pkgs/racket-test-core/tests/racket/optimize.rktl b/pkgs/racket-test-core/tests/racket/optimize.rktl index 693c93ed52..90096b6dee 100644 --- a/pkgs/racket-test-core/tests/racket/optimize.rktl +++ b/pkgs/racket-test-core/tests/racket/optimize.rktl @@ -4430,6 +4430,14 @@ (define-inline (odd? x) (if (zero? x) #f (even? (sub1 x)))) (test/output (odd? 2) #f "") + + ;; multiple keyword arguments that have to be sorted: + (define-inline (sub #:a a #:b b) + (- a b)) + (test/output (sub #:a 2 #:b 1) + 1 "") + (test/output (sub #:b 1 #:a 2) + 1 "") ) diff --git a/racket/collects/racket/performance-hint.rkt b/racket/collects/racket/performance-hint.rkt index 94a9f32f23..84fada48d3 100644 --- a/racket/collects/racket/performance-hint.rkt +++ b/racket/collects/racket/performance-hint.rkt @@ -112,7 +112,7 @@ stringstring - (syntax-e kw))))]) + (syntax-e (car kw)))))]) (keyword-apply function-aux (map (lambda (x) (syntax-e (car x)))