Skip to content

Commit 26f6a75

Browse files
rudkxDougGregor
authored andcommitted
Remove extensions on ImplicitlyUnwrappedOptional from the stdlib.
Extensions on ImplicitlyUnwrappedOptional are not actually accessible because we force the optional (and thus can only access things on the type it is wrapping). Remove these from the stdlib in order to pave the way toward fully implementing SE-0054.
1 parent 00801f4 commit 26f6a75

File tree

1 file changed

+0
-70
lines changed

1 file changed

+0
-70
lines changed

stdlib/public/core/ImplicitlyUnwrappedOptional.swift

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -49,73 +49,3 @@ public enum ImplicitlyUnwrappedOptional<Wrapped> : ExpressibleByNilLiteral {
4949
self = .none
5050
}
5151
}
52-
53-
extension ImplicitlyUnwrappedOptional : CustomStringConvertible {
54-
/// A textual representation of the value, or `nil`.
55-
@_inlineable // FIXME(sil-serialize-all)
56-
public var description: String {
57-
switch self {
58-
case .some(let value):
59-
return String(describing: value)
60-
case .none:
61-
return "nil"
62-
}
63-
}
64-
}
65-
66-
/// Directly conform to CustomDebugStringConvertible to support
67-
/// optional printing. Implementation of that feature relies on
68-
/// _isOptional thus cannot distinguish ImplicitlyUnwrappedOptional
69-
/// from Optional. When conditional conformance is available, this
70-
/// outright conformance can be removed.
71-
extension ImplicitlyUnwrappedOptional : CustomDebugStringConvertible {
72-
@_inlineable // FIXME(sil-serialize-all)
73-
public var debugDescription: String {
74-
return description
75-
}
76-
}
77-
78-
#if _runtime(_ObjC)
79-
extension ImplicitlyUnwrappedOptional : _ObjectiveCBridgeable {
80-
@_inlineable // FIXME(sil-serialize-all)
81-
public func _bridgeToObjectiveC() -> AnyObject {
82-
switch self {
83-
case .none:
84-
_preconditionFailure("Attempt to bridge an implicitly unwrapped optional containing nil")
85-
86-
case .some(let x):
87-
return Swift._bridgeAnythingToObjectiveC(x)
88-
}
89-
}
90-
91-
@_inlineable // FIXME(sil-serialize-all)
92-
public static func _forceBridgeFromObjectiveC(
93-
_ x: AnyObject,
94-
result: inout ImplicitlyUnwrappedOptional<Wrapped>?
95-
) {
96-
result = Swift._forceBridgeFromObjectiveC(x, Wrapped.self)
97-
}
98-
99-
@_inlineable // FIXME(sil-serialize-all)
100-
public static func _conditionallyBridgeFromObjectiveC(
101-
_ x: AnyObject,
102-
result: inout ImplicitlyUnwrappedOptional<Wrapped>?
103-
) -> Bool {
104-
let bridged: Wrapped? =
105-
Swift._conditionallyBridgeFromObjectiveC(x, Wrapped.self)
106-
if let value = bridged {
107-
result = value
108-
}
109-
110-
return false
111-
}
112-
113-
@_inlineable // FIXME(sil-serialize-all)
114-
public static func _unconditionallyBridgeFromObjectiveC(_ source: AnyObject?)
115-
-> Wrapped! {
116-
var result: ImplicitlyUnwrappedOptional<Wrapped>?
117-
_forceBridgeFromObjectiveC(source!, result: &result)
118-
return result!
119-
}
120-
}
121-
#endif

0 commit comments

Comments
 (0)