Live data from Hacker News

Ruby 2.3.3 released

ruby-lang.org

1–10 of 23 posts

Re: Ruby 2.3.3 released

#2
Random question, how is a regression like a 'no method error' possible? Don't the creators of these languages write extremely exhaustive tests? I don't know much about this, just wondering...

Re: Ruby 2.3.3 released

#3
post #2

Random question, how is a regression like a 'no method error' possible? Don't the creators of these languages write extremely exhaustive tests? I don't know much about this, just wondering...

Looks to be a corner case not covered by existing tests prior to now.

“This release contains a bug fix about Refinements and Module#prepend. The mixture use of Module#refine and Module#prepend to the same Class could cause unexpected NoMethodError. This is a regression on Ruby 2.3.2 released last week. See [Bug #12920] for details.”

Presumably it was discovered in the wild, fixed, test cases written, and that fix was pushed. Time taken: 6 days. https://www.ruby-lang.org/en/news/2016/11/15/ruby-2-3-2-rele...

[Bug #12920] https://bugs.ruby-lang.org/issues/12920

Re: Ruby 2.3.3 released

#4
post #2

Random question, how is a regression like a 'no method error' possible? Don't the creators of these languages write extremely exhaustive tests? I don't know much about this, just wondering...

Looks to be a corner case not covered by existing tests prior to now. “This release contains a bug fix about Refinements and Module#prepend. The mixture use of Module#refine and Module#prepend to the same Class could cause unexpected NoMethodError. This is a regression on Ruby 2.3.2 released last week. See [Bug #12920] for details.” Presumably it was discovered in the wild, fixed, test cases written, and that fix was…

Ok awesome, thanks for explaining!

Re: Ruby 2.3.3 released

#9
post #4

Earlier quoted context omitted.

Looks to be a corner case not covered by existing tests prior to now. “This release contains a bug fix about Refinements and Module#prepend. The mixture use of Module#refine and Module#prepend to the same Class could cause unexpected NoMethodError. This is a regression on Ruby 2.3.2 released last week. See [Bug #12920] for details.” Presumably it was discovered in the wild, fixed, test cases written, and that fix was…

Ok awesome, thanks for explaining!

Good article explaining complexity of refinements in Ruby: http://blog.headius.com/2012/11/refining-ruby.html

Re: Ruby 2.3.3 released

#10
post #2

Random question, how is a regression like a 'no method error' possible? Don't the creators of these languages write extremely exhaustive tests? I don't know much about this, just wondering...

It isn't possible to write exhaustive tests - there are an infinite number of possible program states.

Well, finite bound by the width of your pointer type, which doesn't help much.

Post reply on HN