Project

General

Profile

Actions

Bug #12174

closed

Interpolation ignores `to_s` (and `inspect`) when `to_s` is defined to `nil`.

Added by sawa (Tsuyoshi Sawada) about 8 years ago. Updated about 8 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
[ruby-core:74301]

Description

When to_s is defined to return nil, interpolation prints the original inspection.

class A
  def to_s; end
end

puts "#{A.new}" # => #<A:0x007f4edf19d720>

It even ignores an overwritten inspect definition.

class A
  def to_s; end
  def inspect; "foo" end
end

puts "#{A.new}" # => #<A:0x007f8176c09050>
Actions

Also available in: Atom PDF

Like0
Like0Like0