<div>I agree that it is very common in test code to match against already bound variables.</div>
<div>But in production code it is quite rare.</div>
<div>The warning should definitely not be on by default.</div>
<div>We will also run a check over all OTP libraries and possibly other production code</div>
<div>as well to see how it turns out before we make any definite decisions.</div>
<div> </div>
<div>But as said we have not given the implementation any priority at all yet. </div>
<div> </div>
<div>/Kenneth</div>
<div> </div>
<div>2011/8/17 Steve Vinoski <<a href="mailto:vinoski@ieee.org">vinoski@ieee.org</a>>:</div>
<div>> 2011/8/3 Frédéric Trottier-Hébert <<a href="mailto:fred.hebert@erlang-solutions.com">fred.hebert@erlang-solutions.com</a>>:</div>
<div>>> On 2011-08-02, at 01:59 AM, Richard O'Keefe wrote:</div>
<div>>></div>
<div>>>> 2. Is matching against an already-bound variable a check we want?</div>
<div>>></div>
<div>>> To me, matching against an already-bound variable is is a valid assertion, as much as 'ok = function_call()' might be, and as implicit as '{ok, Pid}' or '{error, already_started}' might be. Matching on already-bound variables is part of my standard code when trying to crash early when possible, and also part of many basic test suites that simply do pattern matching here and there. To me it's as basic as using the same variable twice in a single pattern (f([A,A,B,B|_]) when A =/= B -> ...), or something similar with records.</div>

<div>>></div>
<div>>> I would likely not use the check at all, and if it were to be added, would prefer it to be a compiler argument (which could be enabled in -compile(...).) I foresee little use of such warnings for myself and would dislike to see it becoming a default setting.</div>

<div>></div>
<div>> I completely agree. I use matching this way quite a bit, especially in</div>
<div>> testing, and wouldn't want to see any warnings for it by default.</div>
<div>></div>
<div>> --steve</div>
<div>> _______________________________________________</div>
<div>> erlang-questions mailing list</div>
<div>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a></div>
<div>> <a href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a></div>
<div>></div>
<div> </div>
<div> </div>