Swift 1.2 fails to initialize my class hierarchy (is it a bug?) Update: it is!

Yesterday, I happily upgraded Xcode to the latest beta featuring Swift 1.2 for which I'm full of excitement. Migrating the code of my current project went fine so far, e.g. lots of replacements of NSSet with Set<NSObject>. But still, there were problems within my class hierarchy, which is like the following (yes, making a game):

class A : SKSpriteNode
{
    let foo : CGFloat

    required init?(coder aDecoder: NSCoder) { ... }

    init(foo: CGFloat)
    {
        self.foo = foo
        super.init(
             texture: SKTexture(imageNamed: "test"),
             color: UIColor.blackColor(),
             size: CGSizeMake(42, 42))
    }
}

class B : A
{

    required init?(coder aDecoder: NSCoder) { ... }

    init()
    {
        super.init(foo: 42)
    }

}

A and B are in different modules. This code did not compile anymore with the following error message (in module B):

Initializer 'init()' overrides Objective-C method 'init' from superclass 'SKSpriteNode'

Oddly enough, this used to work OOB in Swift 1.1. And even more fun: it works when A and B are in the same module.

Anyways, to fix it, I thought I could simply replace init() in B by override init(). However, this gave me the following error (again in B):

Initializer does not override a designated initializer from its superclass

Hm, looks like it needs some more work: overriding init() in A as well made the code compilable again.

However, since this feels like a compiler bug to me, I reported it to Apple. Lets hope they care about it (fast).

Update: it is a bug and Apple fixed it in the Xcode 6.3 Beta 2.