<html><body><div style="color:#000; background-color:#fff; font-family:Helvetica Neue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:8pt"><div id="yiv9198013611"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-family: 'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 8pt;"><div id="yiv9198013611yui_3_16_0_7_1402329386399_4"><span id="yiv9198013611yui_3_16_0_7_1402329386399_13">And here we go doing a full cycle back to my initial statement.</span></div><div id="yiv9198013611yui_3_16_0_7_1402329386399_4" style="color: rgb(0, 0, 0); font-size: 11px; font-family: 'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><span id="yiv9198013611yui_3_16_0_7_1402329386399_16"><br
 clear="none"></span></div><div id="yiv9198013611yui_3_16_0_7_1402329386399_4" style="color: rgb(0, 0, 0); font-size: 11px; font-family: 'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><span id="yiv9198013611yui_3_16_0_7_1402329386399_19">From what I (and Pete as well) do remember, the reason for 4.3.1 is that it should behave different to what Jozef says.&nbsp;</span></div><div id="yiv9198013611yui_3_16_0_7_1402329386399_4" style="color: rgb(0, 0, 0); font-size: 11px; font-family: 'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><span id="yiv9198013611yui_3_16_0_7_1402329386399_23">4.3.1 is not unnecessary bollocks but is worded that way because the 'intermediate' specialized bean is INTENTIONALLY left out of the
 equation.</span></div><div id="yiv9198013611yui_3_16_0_7_1402329386399_4" style="color:rgb(0, 0, 0);font-size:11px;font-family:'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style:normal;" class="yui_3_16_0_1_1402578222555_28287"><span>This is why it is NOT unnecessary but indeed NEEDED and totally makes sense.&nbsp;</span></div><div id="yiv9198013611yui_3_16_0_7_1402329386399_4" style="color:rgb(0, 0, 0);font-size:11px;font-family:'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style:normal;" class="yui_3_16_0_1_1402578222555_28287"><span><br></span></div><div id="yiv9198013611yui_3_16_0_7_1402329386399_4" style="color:rgb(0, 0, 0);font-size:11px;font-family:'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande',
 sans-serif;background-color:transparent;font-style:normal;" class="yui_3_16_0_1_1402578222555_28287"><span>And if you look at Weld 1.x then you will see that old Weld versions did EXACTLY work that way as well.&nbsp;</span></div><div id="yiv9198013611yui_3_16_0_7_1402329386399_4" style="color: rgb(0, 0, 0); font-size: 11px; font-family: 'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><span id="yiv9198013611yui_3_16_0_7_1402329386399_27"><br clear="none" id="yiv9198013611yui_3_16_0_1_1402329386399_59183"></span></div><div id="yiv9198013611yui_3_16_0_7_1402329386399_4" style="color: rgb(0, 0, 0); font-size: 11px; font-family: 'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;">LieGrue,</div><div
 id="yiv9198013611yui_3_16_0_7_1402329386399_4" style="color: rgb(0, 0, 0); font-size: 11px; font-family: 'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;">strub</div> <div class="qtdSeparateBR"><br><br></div><div class="yiv9198013611yqt4913893428" id="yiv9198013611yqt85607"><div class="yiv9198013611yahoo_quoted" id="yiv9198013611yui_3_16_0_7_1402329386399_7" style="display: block;"> <div class="yiv9198013611yui_3_16_0_1_1402329386399_59111" style="font-family: 'Helvetica Neue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 8pt;"> <div class="yiv9198013611yui_3_16_0_1_1402329386399_59112" style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> On Tuesday, 10 June 2014, 12:39,
 Matus Abaffy &lt;maabaffy@redhat.com&gt; wrote:<br clear="none"> </font> </div> <blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;margin-top:5px;padding-left:5px;">  <br clear="none"><br clear="none"> <div class="yiv9198013611y_msg_container"><br clear="none">----- Original Message -----<br clear="none">&gt; From: "Jozef Hartinger" &lt;<a rel="nofollow" shape="rect" ymailto="mailto:jharting@redhat.com" target="_blank" href="mailto:jharting@redhat.com">jharting@redhat.com</a>&gt;<br clear="none">&gt; To: "Matus Abaffy" &lt;<a rel="nofollow" shape="rect" ymailto="mailto:maabaffy@redhat.com" target="_blank" href="mailto:maabaffy@redhat.com">maabaffy@redhat.com</a>&gt;, "Mark Struberg" &lt;<a rel="nofollow" shape="rect" ymailto="mailto:struberg@yahoo.de" target="_blank" href="mailto:struberg@yahoo.de">struberg@yahoo.de</a>&gt;<br clear="none">&gt; Cc: <a rel="nofollow" shape="rect" ymailto="mailto:cdi-dev@lists.jboss.org"
 target="_blank" href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><br clear="none">&gt; Sent: Friday, June 6, 2014 10:17:31 AM<br clear="none">&gt; Subject: Re: [cdi-dev] Challenge TCK test for indirect specialization rules<br clear="none">&gt; <br clear="none">&gt; <br clear="none">&gt; On 06/03/2014 11:48 AM, Matus Abaffy wrote:<br clear="none">&gt; &gt; If the intention was not to ignore the beans in-between, then the rule for<br clear="none">&gt; &gt; indirect specialization seems quite redundant to me.<br clear="none">&gt; <br clear="none">&gt; The way indirect specialization is defined in the spec is equivalent to<br clear="none">&gt; saying that "specialization" relation is transitive. Having<br clear="none">&gt; <br clear="none">&gt; A specializes B<br clear="none">&gt; and<br clear="none">&gt; B specializes C<br clear="none">&gt; <br clear="none">&gt; that means that also<br clear="none">&gt; "A specializes C"<br
 clear="none">&gt; holds true.<br clear="none">&gt; <br clear="none">&gt; I agree that when looking at qualifiers and name only, this "A<br clear="none">&gt; specializes C" relation may seem redundant. Relations "A specializes B"<br clear="none">&gt; and "B specializes C" themselves guarantee<br clear="none">&gt; that B contains all the qualifiers of C, A contains all the qualifiers<br clear="none">&gt; of B (and thus also those from C).<br clear="none">&gt; <br clear="none">&gt; However, there are other parts of the specification for which the fact<br clear="none">&gt; that both "A specializes B" and "A specializes C" hold true is<br clear="none">&gt; important.<br clear="none"><br clear="none">Yes, of course, I am aware of these. I kind of misexpressed myself.<br clear="none">What I wanted to say is that the indirect specialization is redundantly<br clear="none">contained in "Then X will inherit the qualifiers and bean name of Y:".<br clear="none">I
 think the following suffices:<br clear="none">'If X directly specializes Y, then X will inherit the qualifiers and bean name of Y:'<div class="yiv9198013611yqt4945996001" id="yiv9198013611yqtfd65596"><br clear="none"><br clear="none">&gt;For example, take section 5.1.2.<br clear="none">&gt; It says:<br clear="none">&gt; <br clear="none">&gt; "A bean is said to be enabled if it is not specialized by any other<br clear="none">&gt; enabled bean".<br clear="none">&gt; <br clear="none">&gt; Now it makes a difference whether we consider specialization transitive<br clear="none">&gt; (A specializes C relation exists) or not as it influences whether C ends<br clear="none">&gt; up being enabled or not.<br clear="none">&gt; <br clear="none">&gt; Transitive case:<br clear="none">&gt; Both B and C are specialized by A and thus only A remains enabled.<br clear="none">&gt; <br clear="none">&gt; Non-transitive case:<br clear="none">&gt; A is enabled. B is specialized
 by A this B is not enabled. C is only<br clear="none">&gt;
 specialized by B, which is *not enabled* thus C remains enabled. Now<br clear="none">&gt; having both A and C enabled at the same time is clearly wrong and goes<br clear="none">&gt; against the whole purpose of specialization. Instead of replacing C with<br clear="none">&gt; A we end up we both beans enabled.<br clear="none">&gt; <br clear="none">&gt; I think there is no doubt now that non-transitive specialization does<br clear="none">&gt; not fit the CDI spec. In addition, I hope this makes it clear why<br clear="none">&gt; transitivity of specialization is not redundant.<br clear="none">&gt; <br clear="none">&gt; Jozef<br clear="none">&gt; <br clear="none"></div><br clear="none"><br clear="none"></div> </blockquote>  </div> </div>   </div></div> </div></div></div></div></body></html>