Skip to content

Commit 79b1949

Browse files
RalphAStimholy
authored andcommitted
avoid infinite loop in promote_rule (#113)
1 parent 4a4e56c commit 79b1949

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

src/normed.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,9 @@ end
159159
i1, i2 = 8*sizeof(T1)-f1, 8*sizeof(T2)-f2 # number of integer bits for each
160160
i = 8*sizeof(T)-f
161161
while i < max(i1, i2)
162-
T = widen1(T)
162+
Tw = widen1(T)
163+
T == Tw && break
164+
T = Tw
163165
i = 8*sizeof(T)-f
164166
end
165167
:(Normed{$T,$f})

test/normed.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ end
262262
@test promote_type(Int,Float32,N0f8) == Float32
263263
@test promote_type(Float32,Int,N0f8) == Float32
264264
@test promote_type(Float32,N0f8,Int) == Float32
265+
@test promote_type(N0f8,N1f7,N2f6,N3f5,N4f4,N5f3) == Normed{UInt128,8}
265266
end
266267

267268
@testset "show" begin

0 commit comments

Comments
 (0)