[#58120] [ruby-trunk - Feature #9070][Open] Introduce `---` as synonym of `end` keyword — "alexeymuranov (Alexey Muranov)" <redmine@...>
5 messages
2013/11/01
[#58149] [ruby-trunk - Feature #9076][Open] New one-argument block syntax: &. — "asterite (Ary Borenszweig)" <ary@...>
23 messages
2013/11/04
[#58259] [ruby-trunk - Feature #9099][Open] Train emoji lambda operator — "charliesome (Charlie Somerville)" <charliesome@...>
9 messages
2013/11/10
[#58312] [ruby-trunk - Feature #9107][Open] Introduce YES and NO as aliases of true and false — "gsamokovarov (Genadi Samokovarov)" <gsamokovarov@...>
5 messages
2013/11/13
[#58350] [ruby-trunk - Feature #9113][Open] Ship Ruby for Linux with jemalloc out-of-the-box — "sam.saffron (Sam Saffron)" <sam.saffron@...>
59 messages
2013/11/15
[#60851] Re: [ruby-trunk - Feature #9113][Open] Ship Ruby for Linux with jemalloc out-of-the-box
— Eric Wong <normalperson@...>
2014/02/19
Btw, I also hope to experiment with a slab allocator since many internal
[#62721] [ruby-trunk - Feature #9113] Ship Ruby for Linux with jemalloc out-of-the-box
— nobu@...
2014/05/24
Issue #9113 has been updated by Nobuyoshi Nakada.
[#62735] [ruby-trunk - Feature #9113] Ship Ruby for Linux with jemalloc out-of-the-box
— normalperson@...
2014/05/25
Issue #9113 has been updated by Eric Wong.
[#58391] [ruby-trunk - Bug #9119][Assigned] TestTime#test_marshal_broken_offset broken under MinGW — "luislavena (Luis Lavena)" <luislavena@...>
10 messages
2013/11/17
[#58396] [ruby-trunk - Bug #9121][Open] [PATCH] Remove rbtree implementation of SortedSet due to performance regression — "xshay (Xavier Shay)" <contact@...>
15 messages
2013/11/18
[#58404] [ruby-trunk - Feature #9123][Open] Make Numeric#nonzero? behavior consistent with Numeric#zero? — "sferik (Erik Michaels-Ober)" <sferik@...>
40 messages
2013/11/18
[#58411] [ruby-trunk - Bug #9124][Open] TestSocket errors in test-all on Arch 64-bit — "jonforums (Jon Forums)" <redmine@...>
14 messages
2013/11/18
[#58515] [ruby-trunk - Bug #9124] TestSocket errors in test-all on Arch 64-bit
— "jonforums (Jon Forums)" <redmine@...>
2013/11/23
[#58841] [ruby-trunk - Bug #9124] TestSocket errors in test-all on Arch 64-bit
— "jonforums (Jon Forums)" <redmine@...>
2013/12/04
[#58842] Re: [ruby-trunk - Bug #9124] TestSocket errors in test-all on Arch 64-bit
— Eric Wong <normalperson@...>
2013/12/04
"jonforums (Jon Forums)" <redmine@ruby-lang.org> wrote:
[#58452] [ruby-trunk - Bug #9133][Open] logger rotates log files more than expected — "no6v (Nobuhiro IMAI)" <nov@...>
8 messages
2013/11/21
[#58473] Object identity for string hash keys — Andrew Vit <andrew@...>
I'm not sure if this is a bug. I'm creating a hash like this:
5 messages
2013/11/21
[#58490] Re: [ruby-cvs:50910] drbrain:r43767 (trunk): * lib/rubygems: Update to RubyGems master 50a8210. Important changes — Tanaka Akira <akr@...>
2013/11/22 <drbrain@ruby-lang.org>:
4 messages
2013/11/22
[#58492] Re: [ruby-cvs:50910] drbrain:r43767 (trunk): * lib/rubygems: Update to RubyGems master 50a8210. Important changes
— Eric Wong <normalperson@...>
2013/11/22
Tanaka Akira <akr@fsij.org> wrote:
[#58496] [ruby-trunk - Feature #9140][Open] Allow each_with_index to get start index — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>
8 messages
2013/11/22
[#58545] [ruby-trunk - Feature #9145][Open] Queue#pop(true) return nil if empty instead of raising ThreadError — "jsc (Justin Collins)" <redmine@...>
9 messages
2013/11/24
[#58599] [ruby-trunk - Bug #9159][Open] [patch] use rb_fstring for internal strings — "tmm1 (Aman Gupta)" <ruby@...1.net>
5 messages
2013/11/26
[#58653] [ruby-trunk - Bug #9170][Open] Math.sqrt returns different types when mathn is included; breaks various gems - this bug can be reproduced in Ruby 1.8 as well — "kranzky (Jason Hutchens)" <JasonHutchens@...>
7 messages
2013/11/28
[#58719] [ruby-trunk - Feature #5446] at_fork callback API — "tmm1 (Aman Gupta)" <ruby@...1.net>
6 messages
2013/11/30
[ruby-core:58209] [ruby-trunk - Bug #9089][Feedback] rb_fix2uint no longer raises a RangeError when given negative values
From:
"akr (Akira Tanaka)" <akr@...>
Date:
2013-11-06 23:26:28 UTC
List:
ruby-core #58209
Issue #9089 has been updated by akr (Akira Tanaka).
Status changed from Open to Feedback
Assignee deleted (akr (Akira Tanaka))
As far as I know, NUM2Uxxx accepts negative integers.
For consistency, FIX2Uxxx should behaves so.
Also, both r40028 and r40029 behaves same for
r40028/bin/ruby rubyspec/optional/capi/fixnum_spec.rb.
So r40029 doesn't change the behavior.
% svn log -r r40029
------------------------------------------------------------------------
r40029 | akr | 2013-04-01 12:06:09 +0900 (Mon, 01 Apr 2013) | 4 lines
* numeric.c (check_uint): Take the 1st argument as unsigned long,
instead of VALUE. Refine the validity test conditions.
(check_ushort): Ditto.
------------------------------------------------------------------------
% ./r40028/bin/ruby -v
ruby 2.1.0dev (2013-04-01 trunk 40028) [x86_64-linux]
% ./r40029/bin/ruby -v
ruby 2.1.0dev (2013-04-01 trunk 40029) [x86_64-linux]
% ruby mspec/bin/mspec -t r40028/bin/ruby rubyspec/optional/capi/fixnum_spec.rb
ruby 2.1.0dev (2013-04-01 trunk 40028) [x86_64-linux]
.F.............
1)
CApiFixnumSpecs rb_fix2uint raises a RangeError when given a negative value FAILED
Expected RangeError but no exception was raised (-1 was returned)
/home/akr/fix2int/mspec/lib/mspec/expectations/expectations.rb:15:in `fail_with'
/home/akr/fix2int/mspec/lib/mspec/expectations/should.rb:8:in `should'
/home/akr/fix2int/rubyspec/optional/capi/fixnum_spec.rb:17:in `block (4 levels) in <top (required)>'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:69:in `instance_eval'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:69:in `protect'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:179:in `block in protect'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:179:in `each'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:179:in `all?'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:179:in `protect'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:208:in `block (2 levels) in process'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:239:in `block in repeat'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:238:in `times'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:238:in `repeat'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:200:in `block in process'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:199:in `each'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:199:in `process'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:230:in `block in process'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:230:in `each'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:230:in `process'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:38:in `describe'
/home/akr/fix2int/mspec/lib/mspec/runner/object.rb:11:in `describe'
/home/akr/fix2int/rubyspec/optional/capi/fixnum_spec.rb:5:in `<top (required)>'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:57:in `load'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:57:in `block (2 levels) in files'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:69:in `instance_eval'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:69:in `protect'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:57:in `block in files'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:51:in `each'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:51:in `files'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:43:in `process'
/home/akr/fix2int/mspec/lib/mspec/commands/mspec-run.rb:94:in `run'
/home/akr/fix2int/mspec/lib/mspec/utils/script.rb:218:in `main'
/home/akr/fix2int/mspec/bin/mspec-run:8:in `<main>'
Finished in 0.003072 seconds
1 file, 15 examples, 17 expectations, 1 failure, 0 errors
% ruby mspec/bin/mspec -t r40029/bin/ruby rubyspec/optional/capi/fixnum_spec.rb
ruby 2.1.0dev (2013-04-01 trunk 40029) [x86_64-linux]
.F.............
1)
CApiFixnumSpecs rb_fix2uint raises a RangeError when given a negative value FAILED
Expected RangeError but no exception was raised (-1 was returned)
/home/akr/fix2int/mspec/lib/mspec/expectations/expectations.rb:15:in `fail_with'
/home/akr/fix2int/mspec/lib/mspec/expectations/should.rb:8:in `should'
/home/akr/fix2int/rubyspec/optional/capi/fixnum_spec.rb:17:in `block (4 levels) in <top (required)>'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:69:in `instance_eval'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:69:in `protect'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:179:in `block in protect'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:179:in `each'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:179:in `all?'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:179:in `protect'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:208:in `block (2 levels) in process'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:239:in `block in repeat'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:238:in `times'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:238:in `repeat'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:200:in `block in process'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:199:in `each'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:199:in `process'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:230:in `block in process'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:230:in `each'
/home/akr/fix2int/mspec/lib/mspec/runner/context.rb:230:in `process'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:38:in `describe'
/home/akr/fix2int/mspec/lib/mspec/runner/object.rb:11:in `describe'
/home/akr/fix2int/rubyspec/optional/capi/fixnum_spec.rb:5:in `<top (required)>'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:57:in `load'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:57:in `block (2 levels) in files'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:69:in `instance_eval'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:69:in `protect'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:57:in `block in files'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:51:in `each'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:51:in `files'
/home/akr/fix2int/mspec/lib/mspec/runner/mspec.rb:43:in `process'
/home/akr/fix2int/mspec/lib/mspec/commands/mspec-run.rb:94:in `run'
/home/akr/fix2int/mspec/lib/mspec/utils/script.rb:218:in `main'
/home/akr/fix2int/mspec/bin/mspec-run:8:in `<main>'
Finished in 0.003090 seconds
1 file, 15 examples, 17 expectations, 1 failure, 0 errors
----------------------------------------
Bug #9089: rb_fix2uint no longer raises a RangeError when given negative values
https://bugs.ruby-lang.org/issues/9089#change-42789
Author: NoKarma (Arthur Schreiber)
Status: Feedback
Priority: Normal
Assignee:
Category: core
Target version: current: 2.1.0
ruby -v: ruby 2.1.0dev (2013-11-07 trunk 43560)
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
Up until the change that was made in ((<URL:https://github.com/ruby/ruby/commit/92f59c6d7937b14bb5eefb052099ef0a3ef3bcd0>)), (({rb_fix2uint})) would raise a (({RangeError})) if it was given a negative value like (({-1})) (e.g. when using the (({FIX2UINT})) macro).
Due to the changes made in that commit, this error is no longer raised and (({rb_fix2uint})) will return an incorrect value instead.
There is a C-API spec in rubyspec that shows that this behavior has changed between 2.0.0-p247 and 2.1.0-preview1, and I checked and made sure this is still not working correctly in the latest 2.1.0-dev version. The failing spec can be found at ((<URL:https://github.com/rubyspec/rubyspec/blob/master/optional/capi/fixnum_spec.rb#L16-L18>)), it is part of the "optional" c-api specs.
Is there any reason why there is the (({if (num < (unsigned long)INT_MIN)})) is made inside the (({check_uint})) function? Doesn't the (({sign})) parameter automatically indicate that we can't convert to an unsigned integer?
--
http://bugs.ruby-lang.org/