title: Unable to call initializer for subclass of generic type
body: <p>UPDATE: Question and title have been restated based on changes that were made in response to the initial question.</p>
  
  <hr>
  
  <p>I've got a base class that implements a generic class method for creating new instances. The simplified logic of this class method is as follows</p>
  
  <pre><code>class MyBaseClass {
  
      required init(_ record:MyRecordType) {
          println("Entered MyBaseClass.init")
          // Initialize base class from record
      }
  
      class func retrieveInstance&lt;T:MyBaseClass&gt;(name:String, callback:(T) -&gt; ()) {
          let myRecord:MyRecordType = ... // Perform fetch to get a record for name
          let result = (T.self as T.Type)(myRecord) // Code currently crashes with BAD_ACCESS at this line
          callback(result)
      }
  }
  </code></pre>
  
  <p>I then implement a subclass of this base class with logic like the following</p>
  
  <pre><code>class MySubClass : MyBaseClass {
  
      required init(_ record:MyRecordType) {
          println("Entered MySubClass.init")
          // Initialize subclass from record
          super.init(record)
      }
  }
  </code></pre>
  
  <p>Next, I try to invoke the generic class method</p>
  
  <pre><code>class AnotherClass {
      func successCallback(result:MySubclass) {
          // Handle callback
      }
      MySubClass.retrieveInstance("objectName", callback:successCallback)
  }
  </code></pre>
  
  <p>When creating an instance of the class - the line marked with a comment identifying the crash location - I am expecting the init method from <code>MySubClass</code> to be invoked. (This odd notation is based on the bug workaround suggested in the replies)</p>
  
  <p>Instead of calling the <code>init</code> method for <code>MySubClass</code>, this code crashes with a BAD_ACCESS. I have been unable to find any nil references or anything else that would explain this crash.</p>