[#107430] [Ruby master Feature#18566] Merge `io-wait` gem into core IO — "byroot (Jean Boussier)" <noreply@...>
Issue #18566 has been reported by byroot (Jean Boussier).
22 messages
2022/02/02
[ruby-core:107459] [Ruby master Bug#18569] RubyVM::InstructionSequence#disasm returns nil for composed functions
From:
"GabrielMalakias (Gabriel Malaquias)" <noreply@...>
Date:
2022-02-03 10:46:56 UTC
List:
ruby-core #107459
Issue #18569 has been reported by GabrielMalakias (Gabriel Malaquias).
----------------------------------------
Bug #18569: RubyVM::InstructionSequence#disasm returns nil for composed functions
https://bugs.ruby-lang.org/issues/18569
* Author: GabrielMalakias (Gabriel Malaquias)
* Status: Open
* Priority: Normal
* ruby -v: 3.1.0
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN
----------------------------------------
I was testing function composition Proc#>> (https://ruby-doc.org/core-2.6/Proc.html#method-i-3E-3E) and noticed that when disassembling composed functions it always returns nil.
``` ruby
first_proc = proc { |x| x + 2 }
puts RubyVM::InstructionSequence.disasm(first_proc)
# returns
# == disasm: #<ISeq:block in <main>@disasm.rb:3 (3,18)-(3,31)> (catch: FALSE)
# local table (size: 1, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
# [ 1] x@0<Arg>
# 0000 getlocal_WC_0 x@0 ( 3)[LiBc]
# 0002 putobject 2
# 0004 opt_plus <calldata!mid:+, argc:1, ARGS_SIMPLE>[CcCr]
# 0006 leave [Br]
# -------------------------------------
puts RubyVM::InstructionSequence.disasm(first_proc >> first_proc)
# return nil
```
Is this expected or there is something weird happening here? I'm happy to help fixing it with some help in case it's a bug
---Files--------------------------------
disasm.rb (631 Bytes)
--
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>