inconsistent destructuring behaviour when using nested maps
Description
The way destructuring happens should not be affected by the fact that I have the same w at two-levels. user>> (let [a :a b :b :as w} :c a1 :a b1 :b :as w} {:a 10 :b 20 :c {:a 30 :b 40] {:a a :b b :b1 b1 :a1 a1}) {:a 30, :b 40, :b1 40, :a1 30} <- unexpected behaviour.....
The way destructuring happens should not be affected by the fact that I have the same w at two-levels.
user>> (let [
a :a b :b :as w} :c a1 :a b1 :b :as w} {:a 10 :b 20 :c {:a 30 :b 40
] {:a a :b b :b1 b1 :a1 a1}){:a 30, :b 40, :b1 40, :a1 30} <- unexpected behaviour.....
user>> (let [
a :a b :b :as w} :c a1 :a b1 :b :as w1} {:a 10 :b 20 :c {:a 30 :b 40
] {:a a :b b :b1 b1 :a1 a1}){:a 30, :b 40, :b1 20, :a1 10} <- expected behaviour ..
Even having the :as things from both should not affet how others are destructured.. The email thread talking about the same is here
https://groups.google.com/forum/?fromgroups#!topic/clojure/3z3JtXhcDB0