Skip to content

Commit 27890c7

Browse files
jishnubKristofferC
authored andcommitted
leq for reals falls back to le and eq (#46341)
(cherry picked from commit ef511c9)
1 parent 5544a0f commit 27890c7

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

base/promotion.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ xor(x::T, y::T) where {T<:Integer} = no_op_err("xor", T)
476476

477477
(==)(x::T, y::T) where {T<:Number} = x === y
478478
(< )(x::T, y::T) where {T<:Real} = no_op_err("<" , T)
479-
(<=)(x::T, y::T) where {T<:Real} = no_op_err("<=", T)
479+
(<=)(x::T, y::T) where {T<:Real} = (x == y) | (x < y)
480480

481481
rem(x::T, y::T) where {T<:Real} = no_op_err("rem", T)
482482
mod(x::T, y::T) where {T<:Real} = no_op_err("mod", T)

test/operators.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,3 +303,14 @@ end
303303
@test Returns(val)(1) === val
304304
@test sprint(show, Returns(1.0)) == "Returns{Float64}(1.0)"
305305
end
306+
307+
@testset "<= (issue #46327)" begin
308+
struct A46327 <: Real end
309+
Base.:(==)(::A46327, ::A46327) = false
310+
Base.:(<)(::A46327, ::A46327) = false
311+
@test !(A46327() <= A46327())
312+
struct B46327 <: Real end
313+
Base.:(==)(::B46327, ::B46327) = true
314+
Base.:(<)(::B46327, ::B46327) = false
315+
@test B46327() <= B46327()
316+
end

0 commit comments

Comments
 (0)