IronLanguages / IronLanguages/ironpython3

test_namebinding fails when run using ipy

Open
#1,564 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
2.8k
Forks
316
Avg merge
1d 9h
Merged PRs (30d)
1

Description

The repro for the test failure is as follows:

import builtins
from importlib import reload
del builtins.pow
reload(builtins)
assert "pow" in dir(builtins)
pow(2,2)

Note that it also does not fail when run in the REPL so to reproduce the failure it should be saved to a file and executed.

I don't think it's quite the same as https://github.com/IronLanguages/ironpython3/issues/1028 since that one was about the change in behaviour between 3.4 and 3.5. In 3.5 the assert fails whereas with this bug the assert succeeds and the pow fails.

Originally posted by @slozier in https://github.com/IronLanguages/ironpython3/issues/1563#issuecomment-1249955415

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Save the supplied Python reproduction to a file and run it with ipy, comparing the result with the REPL behavior described. Investigate the builtins reload and pow lookup path; done means file execution restores pow and allows pow(2, 2) to run successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, python
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.