diff -r 5b67d0028fc7 pep-0484.txt --- a/pep-0484.txt Sun May 08 13:46:14 2016 -0700 +++ b/pep-0484.txt Sun May 08 18:09:15 2016 -0700 @@ -1662,14 +1662,15 @@ "forward" references there is no problem in ensuring that a name is defined before the function using it is called. -The problem with type hints is that annotations (per PEP 3107, and -similar to default values) are evaluated at the time a function is -defined, and thus any names used in an annotation must be already -defined when the function is being defined. A common scenario is a -class definition whose methods need to reference the class itself in -their annotations. (More general, it can also occur with mutually -recursive classes.) This is natural for container types, for -example:: +This is not an issue for type hints that are not evaluated at runtime, +such as those in comments or stub files. However, function annotations +(per PEP 3107, and similar to default values) are evaluated at the +time a function is defined, and thus any names used in an annotation +must be already defined when the function is being defined. A common +scenario is a class definition whose methods need to reference the +class itself in their annotations. (More general, it can also occur +with mutually recursive classes.) This is natural for container +types, for example:: class Node: """Binary tree node."""