title: swift Casting generic sub class to its supper class
body: <p>Here is my code</p>
  
  <pre><code>class Chair{}
  class MyChair:Chair {}
  
  class House&lt;T:Chair&gt; {
  }
  
  class MyHouse&lt;D:MyChair&gt;:House&lt;MyChair&gt;{}
  </code></pre>
  
  <p>Now if i try the following</p>
  
  <pre><code>var houseClass:AnyObject = MyHouse&lt;MyChair&gt;.self
  println(houseClass is House&lt;Chair&gt;.Type)  // return false
  println(houseClass is House&lt;MyChair&gt;.Type)  // return true
  </code></pre>
  
  <p>Does any one know the reason for this?</p>