<div dir="ltr"><div dir="ltr">Hi,<div><br></div><div>Give a simple generic wrapper,</div><div><br></div><div>class Container<T> {</div><div>    T item;</div><div>}</div><div><br></div><div>pattern matching can find out what T is for 'item', but not for its container:</div><div><br></div><div>void switchItem(Container<?> container) {</div><div>    if (container.item instanceof Number num) {</div><div>        acceptNumber(num);</div><div>        acceptNumberContainer(container); // error</div><div>    }</div><div>}</div><div><br></div><div>The information is technically there to make the derivation. I can envision some complexities with bound constraints, but seeing as I can't check 'instanceof Container<Number>`, can the compiler not be smarter?</div><div><br></div><div>- Nir</div></div>
</div>