[ python-Bugs-1166714 ] [ast branch] fatal error when compiling test_bool.py

SourceForge.net noreply at sourceforge.net
Tue Mar 22 21:34:49 CET 2005


Bugs item #1166714, was opened at 2005-03-19 16:14
Message generated for change (Comment added) made by bcannon
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1166714&group_id=5470

Category: Parser/Compiler
Group: AST
Status: Open
Resolution: None
Priority: 5
Submitted By: John Ehresman (jpe)
Assigned to: Brett Cannon (bcannon)
Summary: [ast branch] fatal error when compiling test_bool.py

Initial Comment:
When using the ast-branch compiler, python exits with a
fatal error when compiling test_bool.py or the
symplified test case that I'll attach.

The immediate problem is that when the compiler is in
make_closure after compiling the lambda, self is found
to be a LOCAL reference type and make_closure assumes
it's a FREE reference if it's not a CELL reference in
the enclosing scope.

I don't know if self is supposed to be a LOCAL
reference or if make_closure should handle LOCAL
references.



----------------------------------------------------------------------

>Comment By: Brett Cannon (bcannon)
Date: 2005-03-22 12:34

Message:
Logged In: YES 
user_id=357491

An short example of the failure::

 def outer(a):
    def first(): a
    def last(a): pass

This leads to a fatal Python error.  The issue is having a being a local or 
parameter (can make 'a' be 'a = 1' and not a parameter and still have it 
fail), the first closure reference it, and then the second one use it as a 
parameter.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1166714&group_id=5470


More information about the Python-bugs-list mailing list