Array#uniq is not working on pry with `AwesomePrint.pry!`
hanasuke opened this issue · 5 comments
hanasuke commented
When I executed pry with AwesomePrint.pry!
on Ruby3.0.0, pry raised output error.
stack trace is the below
[1] pry(main)> [1,2,3].uniq
(pry) output error: #<ArgumentError: tried to create Proc object without a block>
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/base_formatter.rb:113:in `new'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/base_formatter.rb:113:in `indented'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/array_formatter.rb:51:in `block (2 levels) in generate_printable_array'
<internal:kernel>:90:in `tap'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/array_formatter.rb:50:in `block in generate_printable_array'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/array_formatter.rb:49:in `map'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/array_formatter.rb:49:in `with_index'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/array_formatter.rb:49:in `generate_printable_array'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/array_formatter.rb:40:in `multiline_array'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/array_formatter.rb:32:in `simple_array'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/array_formatter.rb:20:in `format'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatter.rb:71:in `awesome_array'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/formatter.rb:26:in `format'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/inspector.rb:115:in `unnested'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/inspector.rb:74:in `awesome'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/core_ext/kernel.rb:10:in `ai'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/awesome_print-1.8.0/lib/awesome_print/custom_defaults.rb:45:in `block in pry!'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_instance.rb:302:in `show_result'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_instance.rb:672:in `block in handle_line'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_class.rb:382:in `critical_section'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_instance.rb:671:in `handle_line'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_instance.rb:261:in `block (2 levels) in eval'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_instance.rb:260:in `catch'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_instance.rb:260:in `block in eval'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_instance.rb:259:in `catch'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_instance.rb:259:in `eval'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/repl.rb:77:in `block in repl'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/repl.rb:67:in `loop'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/repl.rb:67:in `repl'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/repl.rb:38:in `block in start'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/input_lock.rb:78:in `with_ownership'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/repl.rb:38:in `start'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/repl.rb:15:in `start'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/pry_class.rb:191:in `start'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/lib/pry/cli.rb:119:in `start'
/Users/naosuke/.asdf/installs/ruby/3.0.0/lib/ruby/gems/3.0.0/gems/pry-0.13.1/bin/pry:13:in `<top (required)>'
/Users/naosuke/.asdf/installs/ruby/3.0.0/bin/pry:23:in `load'
/Users/naosuke/.asdf/installs/ruby/3.0.0/bin/pry:23:in `<main>'
I executed on Ruby2.7.1, it success to execute.
(but some warning is displayed...)
[2] pry(main)> [1,2,3].uniq
/Users/naosuke/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/base_formatter.rb:113: warning: Capturing the given block using Proc.new is deprecated; use `&block` instead
/Users/naosuke/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/awesome_print-1.8.0/lib/awesome_print/inspector.rb:63: warning: Capturing the given block using Proc.new is deprecated; use `&block` instead
/Users/naosuke/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/base_formatter.rb:113: warning: Capturing the given block using Proc.new is deprecated; use `&block` instead
/Users/naosuke/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/awesome_print-1.8.0/lib/awesome_print/inspector.rb:63: warning: Capturing the given block using Proc.new is deprecated; use `&block` instead
/Users/naosuke/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/awesome_print-1.8.0/lib/awesome_print/formatters/base_formatter.rb:113: warning: Capturing the given block using Proc.new is deprecated; use `&block` instead
/Users/naosuke/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/awesome_print-1.8.0/lib/awesome_print/inspector.rb:63: warning: Capturing the given block using Proc.new is deprecated; use `&block` instead
[
[0] 1,
[1] 2,
[2] 3
]
Is this a bug of awesome-print? or is it an issue what Ruby3.0.0 is not supported?
BryanH commented
I'll take a look!
ketiko commented
I have the same issue when trying to print any number of objects. Particularly ActiveRecord objects.
phuston commented
Running into the same issue.
ketiko commented
Version 1.9.2 seems to have fixed the issue for me.
BryanH commented
Closing, should be fixed. Please open a new issue if it comes back!