[#84280] [Ruby trunk Bug#14181] hangs or deadlocks from waitpid, threads, and trapping SIGCHLD — nobu@...
Issue #14181 has been updated by nobu (Nobuyoshi Nakada).
3 messages
2017/12/15
[#84398] [Ruby trunk Bug#14220] WEBrick changes - failures on MSWIN, MinGW — Greg.mpls@...
Issue #14220 has been reported by MSP-Greg (Greg L).
3 messages
2017/12/22
[#84472] Re: [ruby-dev:50394] [Ruby trunk Bug#14240] warn four special variables: $; $, $/ $\ — Eric Wong <normalperson@...>
Shouldn't English posts be on ruby-core instead of ruby-dev?
3 messages
2017/12/26
[ruby-core:84173] [Ruby trunk Feature#13224] Add FrozenError as a subclass of RuntimeError
From:
merch-redmine@...
Date:
2017-12-12 00:26:29 UTC
List:
ruby-core #84173
Issue #13224 has been updated by jeremyevans0 (Jeremy Evans). Only two weeks until the release of 2.5.0, and this hasn't been merged yet. I've tested and the patch still applies and the tests still pass. ---------------------------------------- Feature #13224: Add FrozenError as a subclass of RuntimeError https://bugs.ruby-lang.org/issues/13224#change-68283 * Author: jeremyevans0 (Jeremy Evans) * Status: Open * Priority: Normal * Assignee: * Target version: 2.5 ---------------------------------------- Currently, attempting to modify a frozen object leads to a `RuntimeError` exception. Unfortunately, this means it is not easy to differentiate exceptions raised from attempting to modify frozen objects from generic exceptions such as calling `Kernel#raise` with no exception class. The attached patch adds `FrozenError` as a subclass of `RuntimeError`, and uses `FrozenError` instead of `RuntimeError` for exceptions raised when there is an attempt to modify a frozen object. It should be backwards compatible in the sense that: ~~~ruby begin "a".freeze << b rescue RuntimeError end ~~~ Will still function as before. More people in the ruby community are starting to use frozen objects for the benefits of immutability (thread-safety, cache-ability, referential transparency), and having an exception class dedicated to misuse of frozen objects will make it easier to handle those exceptions. The attached patch is a little long, mostly because ruby's test suite is currently brittle in regards to handling exception classes. For example, `assert_raise(RuntimeError)` needs to be changed to `assert_raise(FrozenError)`, because `assert_raise` uses `instance_of?` instead of `kind_of?` if given an exception class and not a module. Both RSpec and recent versions of Minitest should automatically handle this type of change without code modifications. ---Files-------------------------------- 0001-Add-FrozenError-as-a-subclass-of-RuntimeError.patch (27.2 KB) 0001-Add-FrozenError-as-a-subclass-of-RuntimeError.patch (29 KB) 0001-Add-FrozenError-as-a-subclass-of-RuntimeError.patch (30 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>