Skip to content

Commit 2412627

Browse files
committed
Fix special case for Kernel#rand
1 parent d0dede4 commit 2412627

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/main/ruby/truffleruby/core/kernel.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,11 @@ def rand(limit = nil)
489489
if Primitive.nil?(limit)
490490
randomizer.random_float
491491
elsif Primitive.object_kind_of?(limit, Range)
492-
Truffle::RandomOperations.rand_range(randomizer, limit)
492+
begin
493+
Truffle::RandomOperations.rand_range(randomizer, limit)
494+
rescue ArgumentError # invalid argument - negative limit
495+
nil
496+
end
493497
else
494498
max = Primitive.rb_to_int(limit)
495499
if max == 0

0 commit comments

Comments
 (0)