~ chicken-core (chicken-5) 34bf9cc6cc62443d01cdf72d2e04915beb6d6aa5
commit 34bf9cc6cc62443d01cdf72d2e04915beb6d6aa5 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sat Jun 12 14:32:16 2010 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sat Jun 12 14:32:16 2010 +0200 optimizer emits notice if pure standard/extended binding procedure ain't used diff --git a/optimizer.scm b/optimizer.scm index 8ad7a2ba..e3233438 100644 --- a/optimizer.scm +++ b/optimizer.scm @@ -301,11 +301,15 @@ (and (not (test (car llist) 'references)) (not (test (car llist) 'assigned))))) ((not (any (cut expression-has-side-effects? <> db) (cdr args) )))) - (debugging - 'o - "removed call to pure procedure with unused result" - (or (source-info->string (and (pair? (cdr params)) (second params))) - var)) + (let ((info (and (pair? (cdr params)) (second params)))) + (debugging + 'o + "removed call to pure procedure with unused result" + (or (source-info->string info) var)) + (when (and (list? info) (memq pb '(standard extended))) + (##sys#notice + (sprintf "result of call to pure ~a procedure is not used: ~a" + pb (source-info->string info))))) (make-node '##core#call '(#t) (list k (make-node '##core#undefined '() '())) ) )Trap