0.8.19: The following nonsense warning about "always None" return is raised with the small minimized test file x.py below.
pychecker is to smart about this list comprehension in the return statement?
This error is not with 0.8.18
pychecker --only -#20 x.py
Processing module x (x.py)...
x.py:7: Using the return value from (clean) which is always None
#---------- file x.py
"strips off comments and empty lines"
return [x for x in lst if x.strip() and not x.startswith('#')]
lst = ['a','#b','c']
out = clean(lst)
if __name__ == '__main__':
#----------- runs ok
$ python x.py
If I change like
l = [x for x in lst if x.strip() and not x.startswith('#')]
it will go through.