Here's a dumb little bit of code, adapted from a slightly larger script: #!/usr/bin/env python
"dummy" import glob import os def compare_prices(*_args): "dummy" return set() def find_problems(cx1, cx2, cx3, prob_dates): "dummy" for fff in sorted(glob.glob("/path/to/*.nrm")): sym = os.path.splitext(os.path.basename(fff))[0] prob_dates |= compare_prices("E:%s"%sym, cx1, cx2, cx3) When I run pylint against it, it complains: junk.py:10: [W0613(unused-argument), find_problems] Unused argument 'prob_dates' I must be misunderstanding something about the |= operator as applied to sets. If I read the docs correctly, s1 |= s2 is equivalent to s1.update(s2). A dumb "test" at the prompt suggests that's true: >>> s1 = set("abc") >>> s2 = set("cde") >>> s1 | s2 set(['a', 'c', 'b', 'e', 'd']) >>> s1 |= s2 >>> s1 set(['a', 'c', 'b', 'e', 'd']) >>> s1 = set("abc") >>> s1.update(s2) >>> s1 set(['a', 'c', 'b', 'e', 'd']) If I change the last line of find_problems to call prob_dates.update(), the message disappears. Why is pylint (1.4.2 BTW) complaining that the prob_dates argument of find_problems is unused when I use the |= operator? Thx, Skip -- https://mail.python.org/mailman/listinfo/python-list