From: "byroot (Jean Boussier) via ruby-core" <ruby-core@ml.ruby-lang.org>
To: ruby-core@ml.ruby-lang.org
Cc: "byroot (Jean Boussier)" <noreply@ruby-lang.org>
Subject: [ruby-core:119576] [Ruby master Bug#20808] Cannot override Data#inspect
Date: Mon, 21 Oct 2024 16:43:16 +0000 (UTC) [thread overview]
Message-ID: <redmine.journal-110195.20241021164315.54539@ruby-lang.org> (raw)
In-Reply-To: <redmine.issue-20808.20241021162417.54539@ruby-lang.org>
Issue #20808 has been updated by byroot (Jean Boussier).
So the problem isn't with `inspect`, as it only reproduce in `irb`.
It's coming from `pretty_inspect`:
```
>> d.pretty_inspect
/opt/rubies/3.3.5/lib/ruby/3.3.0/pp.rb:432:in `public_send': private method `name' called for an instance of Dog (NoMethodError)
q.pp public_send(member)
^^^^^^^^^^^
from /opt/rubies/3.3.5/lib/ruby/3.3.0/pp.rb:432:in `block (3 levels) in pretty_print'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:255:in `block (2 levels) in group'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:282:in `nest'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:254:in `block in group'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:267:in `group_sub'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:253:in `group'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/pp.rb:430:in `block (2 levels) in pretty_print'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/pp.rb:264:in `block in seplist'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/pp.rb:258:in `each'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/pp.rb:258:in `seplist'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/pp.rb:426:in `block in pretty_print'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:255:in `block (2 levels) in group'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:282:in `nest'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:254:in `block in group'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:267:in `group_sub'
from /opt/rubies/3.3.5/lib/ruby/3.3.0/prettyprint.rb:253:in `group'
```
----------------------------------------
Bug #20808: Cannot override Data#inspect
https://bugs.ruby-lang.org/issues/20808#change-110195
* Author: maicolben (Maicol Bentancor)
* Status: Open
* ruby -v: 3.3.5
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
Given the next code:
```
Dog = Data.define(:name) do
def inspect
"Hello!"
end
private
attr_reader :name
end
Dog.new(name: "Fido")
```
It throws an error:
- An error occurred when inspecting the object: #<NoMethodError: private method `name' called for an instance of Dog>
And isn't using my `inspect` function
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
next prev parent reply other threads:[~2024-10-21 16:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-21 16:24 [ruby-core:119575] " maicolben (Maicol Bentancor) via ruby-core
2024-10-21 16:43 ` byroot (Jean Boussier) via ruby-core [this message]
2024-10-21 16:45 ` [ruby-core:119577] " byroot (Jean Boussier) via ruby-core
2024-10-21 16:49 ` [ruby-core:119578] " byroot (Jean Boussier) via ruby-core
2024-10-21 18:15 ` [ruby-core:119579] " byroot (Jean Boussier) via ruby-core
2024-10-22 0:12 ` [ruby-core:119582] " mame (Yusuke Endoh) via ruby-core
2024-11-07 10:39 ` [ruby-core:119805] [Ruby master Bug#20808] Data#pretty_print doesn't handle private or remove attribute readers mame (Yusuke Endoh) via ruby-core
2024-11-07 10:57 ` [ruby-core:119808] " byroot (Jean Boussier) via ruby-core
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=redmine.journal-110195.20241021164315.54539@ruby-lang.org \
--to=ruby-core@ml.ruby-lang.org \
--cc=noreply@ruby-lang.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).