We're updating the issue view to help you get more done. 

Referred type can be replaced by same-named type in referring namespace

Description

Two namespaces:

1 2 3 4 5 6 (ns my.ns) (defrecord A [foo bar]) (defn make-a [foo bar] (A. foo bar))
1 2 3 4 5 6 7 8 (ns other.ns (:require [my.ns :refer (A)])) (println (my.ns/A. 1 2) (my.ns/make-a 1 2)) (defrecord A [baz quux]) (println (my.ns/A. 1 2) (my.ns/make-a 1 2))

Loading other.ns yields output:

1 2 #my.ns.A{:foo 1, :bar 2} #my.ns.A{:foo 1, :bar 2} #my.ns.A{:baz 1, :quux 2} #my.ns.A{:baz 1, :quux 2}

The definition of other.ns.A is replacing that of my.ns.A.

Environment

None

Status

Assignee

Unassigned

Reporter

Chas Emerick

Labels

None

Approval

None

Patch

None

Priority

Major