Overriding Enum init?(rawValue: String) to not be optional
<p>I want to have init from rawValue for my enum in Swift to return default value if rawValue init will return nil.
Right now I have something like this:</p>

<pre><code>public init(fromRawValue: String){
        self = Language(rawValue: fromRawValue) ?? .English
}
</code></pre>

<p>I don't like this because it is completely new initializer.
I tried to make something like this:</p>

<pre><code>public init(rawValue: String){
        self = Language(rawValue: fromRawValue) ?? .English
}
</code></pre>

<p>But I have got runtime exception with bad access. Can I somehow make it work or I just have to use this new and I cannot override original one to not be optional?</p>

<p>I would like to know if it possible to override original init from rawValue not workaround with completely new one that is using failable one.</p>