From: twalpole@... Date: 2015-11-20T17:33:04+00:00 Subject: [ruby-core:71611] [Ruby trunk - Bug #11721] [Open] String used as IO object buffer unexpectedly frozen if #to_sym called on it Issue #11721 has been reported by Thomas Walpole. ---------------------------------------- Bug #11721: String used as IO object buffer unexpectedly frozen if #to_sym called on it https://bugs.ruby-lang.org/issues/11721 * Author: Thomas Walpole * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.3.0dev (2015-11-20 trunk 52685) [x86_64-darwin14] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- A string with forced encoding used a buffer for reading from a File becomes frozen unexpectedly if #to_sym is called on it file = File.open('some_file') str = "" str.force_encoding(Encoding::US_ASCII) str.frozen? # => false file.read(2,str) str.frozen? # => false str.to_sym str.frozen? # => true If the force_encoding is skipped str doesn't become frozen, same with reading from the file. -- https://bugs.ruby-lang.org/