[New-bugs-announce] [issue7364] Traceback contains incorrect line number for duplicate argument in lambda definition

James Lingard report at bugs.python.org
Fri Nov 20 01:36:24 CET 2009


New submission from James Lingard <jchl at aristanetworks.com>:

The following python file:

  lambda a, a: 0

when executed gives the following backtrace:

    File "/tmp/test.py", line 0
  SyntaxError: duplicate argument 'a' in function definition

Note that the line number is 0, not 1.  (It's always 0, regardless of
the position in the file).

---

Note that this doesn't happen for other similar errors in lambda
functions, for example the file:

  lambda a=0, a: 0

leads to the following error message:

    File "/tmp/test.py", line 1
      lambda a=0, a: 0
  SyntaxError: non-default argument follows default argument

and it also doesn't happen for the same error in a 'def':

  def f(a, a): pass

leads to the following error message:

    File "/tmp/test.py", line 1
      def f(a, a): pass
  SyntaxError: duplicate argument 'a' in function definition

---

Tested on Python 2.6 (r26:66714, Jun  8 2009, 16:07:29).

----------
components: Interpreter Core
messages: 95518
nosy: james.lingard
severity: normal
status: open
title: Traceback contains incorrect line number for duplicate argument in lambda definition
type: behavior
versions: Python 2.6

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue7364>
_______________________________________


More information about the New-bugs-announce mailing list