From e5bd5f6719760de2371a1797b34fd3a3e597e278 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sat, 7 Jul 2018 11:14:16 -0500 Subject: [PATCH] help.lint.checks: Save lint disposables in hash. --- basis/help/lint/checks/checks.factor | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/basis/help/lint/checks/checks.factor b/basis/help/lint/checks/checks.factor index 47a4c6a43f..a10315bb4c 100644 --- a/basis/help/lint/checks/checks.factor +++ b/basis/help/lint/checks/checks.factor @@ -4,10 +4,10 @@ USING: accessors arrays assocs classes classes.struct classes.tuple combinators combinators.short-circuit combinators.smart continuations debugger definitions effects eval formatting fry grouping help help.markup help.topics io -io.streams.string kernel macros math namespaces parser.notes -prettyprint sequences sequences.deep sets splitting strings -summary tools.destructors unicode vocabs vocabs.loader words -words.constant words.symbol ; +io.streams.string kernel macros math math.statistics namespaces +parser.notes prettyprint sequences sequences.deep sets splitting +strings summary tools.destructors unicode vocabs vocabs.loader +words words.constant words.symbol ; IN: help.lint.checks ERROR: simple-lint-error message ; @@ -50,9 +50,13 @@ SYMBOL: vocab-articles ] keep last assert= ] vocabs-quot get call( quot -- ) - ] leaks members no-ui-disposables length [ - "%d disposable(s) leaked in example" sprintf simple-lint-error - ] unless-zero ; + ] leaks members no-ui-disposables + dup length 0 > [ + dup [ class-of ] histogram-by + [ "Leaked resources: " write ... ] with-string-writer simple-lint-error + ] [ + drop + ] if ; : check-examples ( element -- ) \ $example swap elements [ check-example ] each ;