Tim Peters <t...@python.org> added the comment:

Dan, your bug report is pretty much incoherent ;-)  This standard Stack 
Overflow advice applies here too:

https://stackoverflow.com/help/mcve

Guessing your complaint is that:

    sys.getrefcount(itertools.repeat)

keeps increasing by 1 across calls to `leaks()`, then as Eric said it will drop 
back to its original value after a `gc.collect()` call.

Steven, best I can tell weakrefs have nothing to do with this.  The refcount on 
itertools.repeat increases if

    weakref.ref(ns['f']), 

is deleted.

It's a simple reference cycle.  That is

    ns['f'].__globals__ is ns

is True, so `ns` can't be collected via reference counting, and so `ns` also 
holds a reference to the irrelevantly renamed `itertools.repeat` too until 
cyclic gc can detect the trash cycle.

Dan, if that's _not_ what you're complaining about, please follow the advice at 
the top and add a focused, minimal example of what you are talking about.  In 
the meantime, I'm closing this as not-a-bug.

----------
nosy: +tim.peters
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33814>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to