Does the following expression evaluate to true?<br><br>p is AnyObject<br><br>If it does then you may have found a bug.<br><div class="gmail_quote"><div dir="ltr">On Sun, Dec 4, 2016 at 9:46 PM Charles Srstka via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The following currently does not work:<br class="gmail_msg">
<br class="gmail_msg">
protocol P: class {}<br class="gmail_msg">
class C: P {}<br class="gmail_msg">
<br class="gmail_msg">
func foo&lt;T&gt;(t: T) where T: AnyObject {<br class="gmail_msg">
        print(&quot;foo&quot;)<br class="gmail_msg">
}<br class="gmail_msg">
<br class="gmail_msg">
let p: P = C()<br class="gmail_msg">
<br class="gmail_msg">
foo(t: p) // error: cannot invoke &#39;foo&#39; with an argument list of type &#39;(t: P)&#39;<br class="gmail_msg">
<br class="gmail_msg">
It seems to me that this ought to have been allowed, since P is declared as being a reference type and thus should have been able to satisfy the function’s requirements.<br class="gmail_msg">
<br class="gmail_msg">
Is this worthy of writing a language proposal, or would this be considered a bug that should be sent through the radar system instead?<br class="gmail_msg">
<br class="gmail_msg">
Thanks,<br class="gmail_msg">
Charles<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
</blockquote></div>