From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: poffice@blade.nagaokaut.ac.jp Delivered-To: poffice@blade.nagaokaut.ac.jp Received: from kankan.nagaokaut.ac.jp (kankan.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (Postfix) with ESMTP id 6E44F19E0032 for ; Mon, 7 Dec 2015 15:47:30 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id 536C2B5D8CD for ; Mon, 7 Dec 2015 16:19:07 +0900 (JST) Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id BCEF318CC7CC for ; Mon, 7 Dec 2015 16:19:07 +0900 (JST) Received: from [221.186.184.76] (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 42A46120486; Mon, 7 Dec 2015 16:19:06 +0900 (JST) X-Original-To: ruby-core@ruby-lang.org Delivered-To: ruby-core@ruby-lang.org Received: from o2.heroku.sendgrid.net (o2.heroku.sendgrid.net [67.228.50.55]) by neon.ruby-lang.org (Postfix) with ESMTPS id C46C5120479 for ; Mon, 7 Dec 2015 16:19:03 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sendgrid.me; h=from:to:references:subject:mime-version:content-type:content-transfer-encoding:list-id; s=smtpapi; bh=Tw8PKl26vMH1NVAZoME97pLEMkg=; b=ONML+sHFTqlVwhjUgw BQkL6AFrXUQPGhqSt55J1benhqpwSKUZ2nzTgo0SsUtM8ijLkIHCdfWn7fWk2R78 rygWLvhhJwRBicR5gZO5VRcIJgY91oeC4iP6A77BmfkquWHCYSRaoRArKSfKA3Q/ muvXpKLKEGus27Z4dObhoObhI= Received: by filter0405p1mdw1.sendgrid.net with SMTP id filter0405p1mdw1.16243.566532E53A 2015-12-07 07:19:01.670241315 +0000 UTC Received: from herokuapp.com (ec2-54-167-90-158.compute-1.amazonaws.com [54.167.90.158]) by ismtpd0001p1iad1.sendgrid.net (SG) with ESMTP id OGtxLV3sTU-7oqNmK9G90Q Mon, 07 Dec 2015 07:19:01.281 +0000 (UTC) Date: Mon, 07 Dec 2015 07:19:01 +0000 From: matz@ruby-lang.org To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Redmine-MailingListIntegration-Message-Ids: 46573 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 11759 X-Redmine-Issue-Author: mperham X-Redmine-Sender: matz X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: ync6xU2WACa70kv/Ymy4QrNMhiuLXJG8OTL2vJD1yS4Rd9cJr6bPfSH4gjLIfQC514oJ7if2DzG+60 W660DB9yzzSp7NYkSvpN4PZBacnwghi03kes+sskG6I2TUjUZEEuyHsT348qYSzhxcrXO8JVFXDwi3 rY7eWWjGDdMOF0X1EgDeaQwICMeLbBqQzEwZ X-ML-Name: ruby-core X-Mail-Count: 71879 Subject: [ruby-core:71879] [Ruby trunk - Bug #11759] URI breaks with frozen strings X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #11759 has been updated by Yukihiro Matsumoto. I prefer `String.new()` to `"".dup` because the former describes intention (of creating a buffer). In fact, my best choice is introducing `String#+` that returns a mutable copy of a string. For the size of byte code and performance, we can expect future optimization. Matz. ---------------------------------------- Bug #11759: URI breaks with frozen strings https://bugs.ruby-lang.org/issues/11759#change-55282 * Author: Mike Perham * Status: Open * Priority: Normal * Assignee: * ruby -v: 2.3.0-preview1 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- It appears URI uses String mutation and breaks frozen string mode. ~~~ $ RUBYOPT="--enable-frozen-string-literal" bundle exec rake /Users/mike/.rubies/ruby-2.3.0-preview1/lib/ruby/2.3.0/uri/generic.rb:1344:in `to_s': can't modify frozen String (RuntimeError) /Users/mike/.gem/ruby/2.3.0/gems/bundler-1.10.6/lib/bundler/source/rubygems.rb:257:in `normalize_uri' /Users/mike/.gem/ruby/2.3.0/gems/bundler-1.10.6/lib/bundler/source/rubygems.rb:198:in `add_remote' /Users/mike/.gem/ruby/2.3.0/gems/bundler-1.10.6/lib/bundler/source/rubygems.rb:25:in `block in initialize' /Users/mike/.gem/ruby/2.3.0/gems/bundler-1.10.6/lib/bundler/source/rubygems.rb:25:in `reverse_each' /Users/mike/.gem/ruby/2.3.0/gems/bundler-1.10.6/lib/bundler/source/rubygems.rb:25:in `initialize' ~~~ ---Files-------------------------------- 0001-Do-not-mutate-strings-in-URI-to_s.patch (1.76 KB) 11759.patch (610 Bytes) 11759-rev2.patch (3.21 KB) -- https://bugs.ruby-lang.org/