Skip to content

Commit 32a08c7

Browse files
committed
Change isnull argument to Nullable() constructor to hasvalue
This method is not currently documented, and the new form is more consistent with the new structure of the type.
1 parent f9e34c3 commit 32a08c7

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

base/base.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -150,5 +150,5 @@ immutable Nullable{T}
150150
value::T
151151

152152
Nullable() = new(false)
153-
Nullable(value::T, isnull::Bool=false) = new(!isnull, value)
153+
Nullable(value::T, hasvalue::Bool=true) = new(hasvalue, value)
154154
end

base/nullable.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
immutable NullException <: Exception
44
end
55

6-
Nullable{T}(value::T, isnull::Bool=false) = Nullable{T}(value, isnull)
6+
Nullable{T}(value::T, hasvalue::Bool=true) = Nullable{T}(value, hasvalue)
77
Nullable() = Nullable{Union{}}()
88

99
eltype{T}(::Type{Nullable{T}}) = T

test/core.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -3126,7 +3126,7 @@ f11858(Any[Type{Foo11858}, Type{Bar11858}, typeof(g11858)])
31263126
foo11904(x::Int) = x
31273127
@inline function foo11904{S}(x::Nullable{S})
31283128
if isbits(S)
3129-
Nullable(foo11904(x.value), isnull(x))
3129+
Nullable(foo11904(x.value), x.hasvalue)
31303130
else
31313131
throw_error()
31323132
end

test/nullable.jl

+9-9
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ for T in types
4040
@test eltype(x) === T
4141
end
4242

43-
# Nullable{T}(value::T, isnull::Bool) = new(isnull, value)
43+
# Nullable{T}(value::T, hasvalue::Bool) = new(hasvalue, value)
4444
for T in types
45-
x = Nullable{T}(zero(T),false)
45+
x = Nullable{T}(zero(T), true)
4646
@test x.hasvalue === true
4747
@test isa(x.value, T)
4848
@test x.value === zero(T)
4949
@test eltype(x) === T
5050

51-
x = Nullable{T}(zero(T),true)
51+
x = Nullable{T}(zero(T), false)
5252
@test x.hasvalue === false
5353
@test isa(x.value, T)
5454
@test eltype(Nullable{T}) === T
@@ -276,9 +276,9 @@ for S in TestTypes, T in TestTypes
276276
@test isequal(Nullable(u), Nullable(u)) === true
277277
@test isequal(Nullable(v), Nullable(v)) === true
278278

279-
@test isequal(Nullable(u), Nullable(v, true)) === false
280-
@test isequal(Nullable(u, true), Nullable(v)) === false
281-
@test isequal(Nullable(u, true), Nullable(v, true)) === true
279+
@test isequal(Nullable(u), Nullable(v, false)) === false
280+
@test isequal(Nullable(u, false), Nullable(v)) === false
281+
@test isequal(Nullable(u, false), Nullable(v, false)) === true
282282

283283
@test isequal(Nullable(u), Nullable{T}()) === false
284284
@test isequal(Nullable{S}(), Nullable(v)) === false
@@ -296,9 +296,9 @@ for S in TestTypes, T in TestTypes
296296
@test isless(Nullable(u), Nullable(u)) === false
297297
@test isless(Nullable(v), Nullable(v)) === false
298298

299-
@test isless(Nullable(u), Nullable(v, true)) === true
300-
@test isless(Nullable(u, true), Nullable(v)) === false
301-
@test isless(Nullable(u, true), Nullable(v, true)) === false
299+
@test isless(Nullable(u), Nullable(v, false)) === true
300+
@test isless(Nullable(u, false), Nullable(v)) === false
301+
@test isless(Nullable(u, false), Nullable(v, false)) === false
302302

303303
@test isless(Nullable(u), Nullable{T}()) === true
304304
@test isless(Nullable{S}(), Nullable(v)) === false

0 commit comments

Comments
 (0)