Clojure

protocol redef NPE

Details

  • Type: Defect Defect
  • Status: Closed Closed
  • Resolution: Completed
  • Affects Version/s: None
  • Fix Version/s: Release 1.2
  • Component/s: None
  • Labels:
    None
  • Approval:
    Ok

Description

outgrowth of Mike's tests in #239.

Activity

Hide
Assembla Importer added a comment -

stu said: Updating tickets (#333, #334)

Show
Assembla Importer added a comment - stu said: Updating tickets (#333, #334)
Hide
Assembla Importer added a comment -
Show
Assembla Importer added a comment - stu said: [file:aUPKaqzDar36GpeJe5cbLA]
Hide
Assembla Importer added a comment -

richhickey said: It's hard for me to tell if this is the right way to fix this bug when I have no idea what the bug is from this ticket

Show
Assembla Importer added a comment - richhickey said: It's hard for me to tell if this is the right way to fix this bug when I have no idea what the bug is from this ticket
Hide
Assembla Importer added a comment -

stu said: The (sortof) easy way to see the problem: Just run the new test without the compiler change in place.

The test is somewhat obfuscated by all the calls to eval (so the problem happens at test time instead of compile time). But extracting the evals you get

(defprotocol Elusive (old-method [x]))
(defprotocol Elusive (new-method [x])
(old-method (reify Elusive (new-method [x])))

Show
Assembla Importer added a comment - stu said: The (sortof) easy way to see the problem: Just run the new test without the compiler change in place. The test is somewhat obfuscated by all the calls to eval (so the problem happens at test time instead of compile time). But extracting the evals you get (defprotocol Elusive (old-method [x])) (defprotocol Elusive (new-method [x]) (old-method (reify Elusive (new-method [x])))
Hide
Assembla Importer added a comment -

stu said: Updating tickets (#333, #349, #355, #356)

Show
Assembla Importer added a comment - stu said: Updating tickets (#333, #349, #355, #356)

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: