994994 export axes
995995end
996996
997+ # 0.7.0-DEV.3137
998+ @static if ! isdefined (Base, :Nothing )
999+ const Nothing = Void
1000+ const Cvoid = Void
1001+ export Nothing, Cvoid
1002+ end
1003+
9971004@static if ! isdefined (Base, :Some )
9981005 import Base: promote_rule, convert
9991006 if VERSION >= v " 0.6.0"
@@ -1002,35 +1009,35 @@ end
10021009 value::T
10031010 end
10041011 promote_rule(::Type{Some{S}}, ::Type{Some{T}}) where {S,T} = Some{promote_type(S, T)}
1005- promote_rule(::Type{Some{T}}, ::Type{Void }) where {T} = Union{Some{T}, Void }
1012+ promote_rule(::Type{Some{T}}, ::Type{Nothing }) where {T} = Union{Some{T}, Nothing }
10061013 convert(::Type{Some{T}}, x::Some) where {T} = Some{T}(convert(T, x.value))
1007- convert(::Type{Union{Some{T}, Void }}, x::Some) where {T} = convert(Some{T}, x)
1008- convert(::Type{Union{T, Void }}, x::Any) where {T} = convert(T, x)
1014+ convert(::Type{Union{Some{T}, Nothing }}, x::Some) where {T} = convert(Some{T}, x)
1015+ convert(::Type{Union{T, Nothing }}, x::Any) where {T} = convert(T, x)
10091016 """ )
10101017 else
10111018 include_string (@__MODULE__ , """
10121019 immutable Some{T}
10131020 value::T
10141021 end
10151022 promote_rule{S,T}(::Type{Some{S}}, ::Type{Some{T}}) = Some{promote_type(S, T)}
1016- promote_rule{T}(::Type{Some{T}}, ::Type{Void }) = Union{Some{T}, Void }
1023+ promote_rule{T}(::Type{Some{T}}, ::Type{Nothing }) = Union{Some{T}, Nothing }
10171024 convert{T}(::Type{Some{T}}, x::Some) = Some{T}(convert(T, x.value))
1018- convert{T}(::Type{Union{Some{T}, Void }}, x::Some) = convert(Some{T}, x)
1019- convert{T}(::Type{Union{T, Void }}, x::Any) = convert(T, x)
1025+ convert{T}(::Type{Union{Some{T}, Nothing }}, x::Some) = convert(Some{T}, x)
1026+ convert{T}(::Type{Union{T, Nothing }}, x::Any) = convert(T, x)
10201027 """ )
10211028 end
1022- convert (:: Type{Void } , x:: Any ) = throw (MethodError (convert, (Void , x)))
1023- convert (:: Type{Void } , x:: Void ) = nothing
1029+ convert (:: Type{Nothing } , x:: Any ) = throw (MethodError (convert, (Nothing , x)))
1030+ convert (:: Type{Nothing } , x:: Nothing ) = nothing
10241031 coalesce (x:: Any ) = x
10251032 coalesce (x:: Some ) = x. value
1026- coalesce (x:: Void ) = nothing
1033+ coalesce (x:: Nothing ) = nothing
10271034 # coalesce(x::Missing) = missing
10281035 coalesce (x:: Any , y... ) = x
10291036 coalesce (x:: Some , y... ) = x. value
1030- coalesce (x:: Void , y... ) = coalesce (y... )
1031- # coalesce(x::Union{Void , Missing}, y...) = coalesce(y...)
1037+ coalesce (x:: Nothing , y... ) = coalesce (y... )
1038+ # coalesce(x::Union{Nothing , Missing}, y...) = coalesce(y...)
10321039 notnothing (x:: Any ) = x
1033- notnothing (:: Void ) = throw (ArgumentError (" nothing passed to notnothing" ))
1040+ notnothing (:: Nothing ) = throw (ArgumentError (" nothing passed to notnothing" ))
10341041 export Some, coalesce
10351042else
10361043 import Base: notnothing
0 commit comments