racket / drracket

DrRacket, IDE for Racket
http://www.racket-lang.org/
Other
447 stars 94 forks source link

name-dup? bug #433

Closed sorawee closed 3 years ago

sorawee commented 3 years ago

Consider:

(let ([abc 1])
  (let ([def 2])
    (println abc)
    (println def)))

If we attempt to rename def to abc, we will get a warning:

The new name you have chosen, "abc", conflicts with an already established name in this scope.

However, if we rename abc to def, we get no warning. The resulting program:

(let ([def 1])
  (let ([def 2])
    (println def)
    (println def)))

is not semantically equivalent to the original program.

sorawee commented 3 years ago

Dup of #95.