From f4d970f85f2da7af85cd5b329f8de9a462d60f4b Mon Sep 17 00:00:00 2001 From: Jon Malmaud Date: Wed, 17 Aug 2016 12:35:04 -0400 Subject: [PATCH] Add 'isassigned' for RefValue --- base/refpointer.jl | 1 + test/misc.jl | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/base/refpointer.jl b/base/refpointer.jl index 4cfd0e2080830..45f75752091a5 100644 --- a/base/refpointer.jl +++ b/base/refpointer.jl @@ -41,6 +41,7 @@ type RefValue{T} <: Ref{T} RefValue(x) = new(x) end RefValue{T}(x::T) = RefValue{T}(x) +isassigned(x::RefValue) = isdefined(x, :x) Ref(x::Ref) = x Ref(x::Any) = RefValue(x) diff --git a/test/misc.jl b/test/misc.jl index 3592ee2de1ac3..54d51af7bd8d7 100644 --- a/test/misc.jl +++ b/test/misc.jl @@ -611,3 +611,11 @@ end @test Foo_19281().f[1] == () @test Foo_19281().f[2] == (1, ) end + +let + x_notdefined = Ref{String}() + @test !isassigned(x_notdefined) + + x_defined = Ref{String}("Test") + @test isassigned(x_defined) +end