CARVIEW |
Select Language
HTTP/2 200
x-amz-id-2: SVBxSmqCW+lQl4L/6s/gzknmCfViaBXdz4XEQbUAFWt/zh3znQw1+42gYPTtNcKPssqBKa7No+R2+yYhR54LTrwdH0fP0JXaQ0bT9zGvEZo=
x-amz-request-id: N1WQDTC20PCWBZWY
last-modified: Tue, 13 May 2025 23:01:34 GMT
etag: "b19a7f668913c9b4b6c4dd1a5ddf8d7a"
x-amz-server-side-encryption: AES256
server: AmazonS3
content-encoding: gzip
via: 1.1 varnish, 1.1 varnish
content-type: text/plain; charset=utf-8
accept-ranges: bytes
age: 0
date: Thu, 24 Jul 2025 07:09:16 GMT
x-served-by: cache-tyo11933-TYO, cache-bom-vanm7210069-BOM
x-cache: MISS, MISS
x-cache-hits: 0, 0
x-timer: S1753340957.636339,VS0,VE330
vary: Accept-Encoding
content-length: 795
From: "tenderlovemaking (Aaron Patterson) via ruby-core"
Date: 2025-05-13T22:51:34+00:00
Subject: [ruby-core:122070] [Ruby Feature#21335] Namespaces should be present in the backtrace
Issue #21335 has been reported by tenderlovemaking (Aaron Patterson).
----------------------------------------
Feature #21335: Namespaces should be present in the backtrace
https://bugs.ruby-lang.org/issues/21335
* Author: tenderlovemaking (Aaron Patterson)
* Status: Open
----------------------------------------
Namespaces can call in to other name spaces. I think it might be helpful if namespace information is in the backtrace.
For example:
```ruby
File.binwrite "foo.rb", <<-eorb
class Foo
def self.test(ns1, ns2, count)
if count == 0
puts caller
else
if count % 2 == 0
ns1::Foo.test(ns1, ns2, count - 1)
else
ns2::Foo.test(ns1, ns2, count - 1)
end
end
end
end
eorb
ns1 = Namespace.new
ns1.load "foo.rb"
ns2 = Namespace.new
ns2.load "foo.rb"
ns1::Foo.test(ns1, ns2, 10)
```
The output is like this:
```
See doc/namespace.md for known issues, etc.
/Users/aaron/git/ruby/exe/ruby: warning: Namespace is experimental, and the behavior may change in the future!
See doc/namespace.md for known issues, etc.
/Users/aaron/git/ruby/foo.rb:9:in 'test'
/Users/aaron/git/ruby/foo.rb:7:in 'test'
/Users/aaron/git/ruby/foo.rb:9:in 'test'
/Users/aaron/git/ruby/foo.rb:7:in 'test'
/Users/aaron/git/ruby/foo.rb:9:in 'test'
/Users/aaron/git/ruby/foo.rb:7:in 'test'
/Users/aaron/git/ruby/foo.rb:9:in 'test'
/Users/aaron/git/ruby/foo.rb:7:in 'test'
/Users/aaron/git/ruby/foo.rb:9:in 'test'
/Users/aaron/git/ruby/foo.rb:7:in 'test'
./test.rb:23:in ''
```
`Foo.test` alternates between namespaces when calling a method, but you can't tell from the backtrace. I think we should include namespaces in the backtrace.
--
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/