Clojure

Unexpected interaction between protocol extension and namespaced method keyword/symbols

Details

  • Type: Defect Defect
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Completed
  • Affects Version/s: Release 1.3
  • Fix Version/s: Release 1.4
  • Component/s: None
  • Labels:
    None
  • Patch:
    Code and Test
  • Approval:
    Ok

Description

If the keywords of a protocol's method map are namespaced, the map is accepted, but lookup fails since lookup uses non-namespaced keywords.

See TLOG-4 for an actual case of this being an issue.

Work-around for namespaced keywords with extend:
don't use namespaced keywords

Work-around for syntax-quoting with extend-type or extend-protocol:
use extend with non-namespaced keywords

Possible solutions:

  1. Inside extend, remove namespace of keywords
  2. or
    • Inside extend, error on namespaced keywords.
    • Inside emit-hinted-impl, only grab name portion of symbols before converting to keyword.

Activity

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: