@available(*, unavailable)
@available(*, unavailable) struct Hoge { static var shared: Hoge = { fatalError() }() // error: 'Hoge' is unavailable }