<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 14px; font-family: Calibri, sans-serif; color: rgb(0, 0, 0);">
<div>
<div>
<div>Hi Jozef,</div>
</div>
</div>
<div><br>
</div>
<div>In this case the type variable can be resolved to a wildcard type. Should this be legal or not? For now, I find to wording in the spec that forbids the event type to resolve to a wildcard type. So this may be a spec issue AND a tck issue. Shall I create
 a ticket for it?</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Arne</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">Von: </span>Jozef Hartinger &lt;<a href="mailto:jharting@redhat.com">jharting@redhat.com</a>&gt;<br>
<span style="font-weight:bold">Datum: </span>Freitag, 2. Mai 2014 16:20<br>
<span style="font-weight:bold">An: </span>Arne Limburg &lt;<a href="mailto:arne.limburg@openknowledge.de">arne.limburg@openknowledge.de</a>&gt;<br>
<span style="font-weight:bold">Cc: </span>&quot;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&quot; &lt;<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>&gt;<br>
<span style="font-weight:bold">Betreff: </span>Re: [cdi-dev] Events and Type Variables in CDI 1.1<br>
</div>
<div><br>
</div>
<div>
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi,<br>
<br>
I think this is a spec issue. The spec should make it clearer that a &quot;resolvable type variable&quot; means a type variable that can be resolved to a reference type other than a type variable.<br>
<br>
Jozef<br>
<br>
On 04/30/2014 09:32 PM, Arne Limburg wrote:<br>
</div>
<blockquote cite="mid:CF8700DC.41E11%25arne.limburg@openknowledge.de" type="cite">
<div>Hi,</div>
<div><br>
</div>
<div>I found an issue in either the spec or the tck, which I would like to discuss:</div>
<div>The TCK-Test&nbsp;org.jboss.cdi.tck.tests.event.fires.FireEventTest.testTypeVariableEventTypeFails</div>
<div>uses the following bean to fire an event by calling the method fireWithTypeVariable()</div>
<div><br>
</div>
<div>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
          color: rgb(147, 26, 104);">
public<span style="color: #000000"> </span>class<span style="color: #000000"> Bar {</span></p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
          min-height: 15px;">
<br>
</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
          color: rgb(119, 119, 119);">
<span style="color: #000000">&nbsp; &nbsp; </span>@Inject</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;">&nbsp; &nbsp; <span style="color: #931a68">
private</span> Event&lt;Foo&lt;? <span style="color:
            #931a68">extends</span> Number&gt;&gt;
<span style="color:
            #0326cc">event</span>;</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
          min-height: 15px;">
<br>
</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;">&nbsp; &nbsp; <span style="color: #931a68">
public</span> &lt;T <span style="color: #931a68">extends</span> Number&gt; <span style="color: #931a68">
void</span> fireWithTypeVariable() {</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0326cc">
event</span>.fire(<span style="color: #931a68">new</span> Foo&lt;T&gt;());</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;">&nbsp; &nbsp; }</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
          min-height: 15px;">
<br>
</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;">}</p>
</div>
<div><br>
</div>
<div>The TCK expects this test to fail because of the type variable in the instance created by new Foo&lt;T&gt;()</div>
<div>However, the spec states in 10.3.1 „<span style="font-family:
          Helvetica; font-size: 10px;">If the container&nbsp;</span><span style="font-family: Helvetica; font-size: 10px;">is unable to resolve the parameterized type of the event object, it uses
 the specified type to infer the parameterized type of the&nbsp;</span><span style="font-family: Helvetica; font-size: 10px;">event types.</span>“</div>
<div>Imho in this case the container is able to resolve T to &quot;? extends Number“ and the spec does not prohibit an event to have a wildcard type. So since T is not unresolvable, this test case should not expect the container to throw an exception. If we consider
 T not to be resolved, because it resolves to a wildcard type, we should mention this somewhere in the spec. Or am I missing something?</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Arne</div>
<div></div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset> <br>
<pre wrap="">_______________________________________________
cdi-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/cdi-dev">https://lists.jboss.org/mailman/listinfo/cdi-dev</a></pre>
</blockquote>
<br>
</div>
</div>
</span>
</body>
</html>