Xcode 12.2: crashes when assign static property in init

Hi, I would like to report an issue after upgraded to Xcode 12.
The code works fine with Xcode 11.4:

Code Block
final class CoreDataFixture {
var selfUserProvider: SelfUserProvider!
init() {
:
SelfUser.provider = selfUserProvider
}
}


If I take out  SelfUser.provider = selfUserProvider and call it after CoreDataFixture is initialised, the crash is gone.

Replies

I don't understand what you do to make it work (where do you call CoreDataFixture)
nor the original code: what is the line 4 with a colon only ?
Hi Claude,

I update my question here:

The case it crashes with XCode 12.2
Code Block
final class CoreDataFixture {
var selfUserProvider: SelfUserProvider!
init() {
/// some other init code
selfUserProvider = SelfUserProvider()
SelfUser.provider = selfUserProvider
}
}
let coreDataFixture = CoreDataFixture()


I refactored to below and doesn't crash:

Code Block
final class CoreDataFixture {
var selfUserProvider: SelfUserProvider!
init() {
// some other init code
selfUserProvider = SelfUserProvider()
}
}
let coreDataFixture = CoreDataFixture()
SelfUser.provider = coreDataFixture.selfUserProvider


However I rerun this part today and it works. This class is defined in test target. The crash EXC_BAD_ACCESS occurs when calling static method in init/deinit methods, not only when calling SelfUser.provider = selfUserProvider