<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Missing warning for implicit cast from qualified id to class that shares a conforming protocol"
   href="http://llvm.org/bugs/show_bug.cgi?id=20454">20454</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Missing warning for implicit cast from qualified id to class that shares a conforming protocol
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Macintosh
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Frontend
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>yiding@fb.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=12828" name="attach_12828" title="repro.m">attachment 12828</a> <a href="attachment.cgi?id=12828&action=edit" title="repro.m">[details]</a></span>
repro.m

Implicit casting from qualified ID that conforms to a protocol to a class that
conforms to a protocol should give a warning but does not, even with -Wall.

This allows for unsafe casts to pass by with no warning, which allows for
impossible function calls or ivar accesses to happen (demonstrated in attached
repro case) with no warnings.

The code seems to allow this explicitly and there are tests which assert that
this should be allowed. As this seems pretty broken I don't see why it ought to
be.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>