New submission from Brett Cannon:

If __loader__ is None then ValueError is raised, but if it is not defined then 
AttributeError is raised instead. Probably should harmonize around ValueError 
even in the missing attribute case since __loader__ = None is equivalent to the 
attribute not existing.

I'm on the fence about considering this a bug, though, since the docs say if 
__loader__ == None then ValueError but does not directly mention what happens 
if the attribute is missing. Since anyone who has written code for this 
probably is catching both attributes (if at all since all but three modules 
coming from Python will have __loader__ defined ATM), it should be fine, but it 
is still a change in API/semantics that doesn't contradict the docs.

----------
components: Library (Lib)
messages: 181079
nosy: brett.cannon, ncoghlan, theller
priority: normal
severity: normal
stage: test needed
status: open
title: Raise ValueError when __loader__ not defined for importlib.find_loader()
type: behavior
versions: Python 3.3, Python 3.4

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

Reply via email to