Issue #14624 has been updated by nobu (Nobuyoshi Nakada).


https://github.com/nobu/ruby/tree/feature/opt_to_s

----------------------------------------
Feature #14624: #{nil} allocates a fresh empty string each time
https://bugs.ruby-lang.org/issues/14624#change-71351

* Author: bumblingbear (Dillon Welch)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
This causes a bunch of unnecessary string allocations in the following scenario: `"#{'rails' unless boolean_condition} is great"`. Each time this line is called when `boolean_condition` is true, it evaluates to `nil` and when `nil` is interpolated into a string it allocates an empty string. Ideally, the behavior of `nil.to_s` would reference a frozen empty string that wouldn't need to be reallocated each time.



-- 
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>