Renaming doesn't warn about established names (v6.5 & later)
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 516
- Forks
- 103
- PR merge metrics
- No merged PRs in 30d
Description
Open DrRacket, paste in this program:
#lang racket
(define (f x)
(lambda (y)
(+ x y)))
Then click the x in (f x), right-click, rename, and pick y as the new name.
On DrRacket v6.2.1, a pop-up warns that the new name conflicts with an established name in the scope.
On DrRacket v6.5 and later, there's no warning and x gets replaced with y everywhere:
#lang racket
(define (f y)
(lambda (y)
(+ y y)))
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the rename scenario in DrRacket using the supplied program, comparing v6.2.1 with v6.5 or later. Start from the DrRacket rename entry point and trace how established names are checked; done means renaming x to y again produces a conflict warning and avoids the unsafe replacement.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100