From cef807c92d488d51782a6e19a3b6aa89385948eb Mon Sep 17 00:00:00 2001 From: quinnj Date: Thu, 4 Oct 2018 11:00:23 -0600 Subject: [PATCH] Define convert for DataValue from missing. Fixes https://github.com/JuliaData/Tables.jl/issues/25 --- src/scalar/core.jl | 1 + test/scalar/test_core.jl | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/scalar/core.jl b/src/scalar/core.jl index 1e34946..a5eb47c 100644 --- a/src/scalar/core.jl +++ b/src/scalar/core.jl @@ -21,6 +21,7 @@ Base.eltype(::Type{DataValue{T}}) where {T} = T Base.convert(::Type{DataValue{T}}, x::DataValue{T}) where {T} = x Base.convert(::Type{DataValue}, x::DataValue) = x +Base.convert(::Type{D}, ::Missing) where {D <: DataValue} = D() Base.convert(t::Type{DataValue{T}}, x::Any) where {T} = convert(t, convert(T, x)) diff --git a/test/scalar/test_core.jl b/test/scalar/test_core.jl index c7c03d6..afcec20 100644 --- a/test/scalar/test_core.jl +++ b/test/scalar/test_core.jl @@ -248,4 +248,6 @@ io = IOBuffer() show(io, DataValue(enum_val_a)) @test String(take!(io)) == "DataValue{TestEnum}(enum_val_a)" +@test convert(DataValue{String}, missing) == DataValue{String}() + end