Skip to content

Array#inject does not accept binary operation specified by String #2931

@Maumagnaguagno

Description

@Maumagnaguagno

The expected behavior is the same for operations specified with Symbol and String objects.

ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux]

[2,3].inject(:*)  #=> 6
[2,3].inject('*') #=> 6

truffleruby 22.3.1, like ruby 3.0.3, GraalVM CE Native [x86_64-linux]

[2,3].inject(:*)  #=> 6
[2,3].inject('*')
<internal:core> core/enumerable.rb:492:in `inject': TruffleRuby doesn't have a case for the org.truffleruby.core.array.ArrayNodesFactory$InjectNodeFactory$InjectNodeGen node with values of type Array(org.truffleruby.core.array.RubyArray)[[I,2] String(org.truffleruby.core.string.RubyString) org.truffleruby.language.NotProvided org.truffleruby.language.Nil (TypeError)
	from org.truffleruby.core.array.ArrayNodesFactory$InjectNodeFactory$InjectNodeGen.executeAndSpecialize(ArrayNodesFactory.java:7156)
	from org.truffleruby.core.array.ArrayNodesFactory$InjectNodeFactory$InjectNodeGen.execute(ArrayNodesFactory.java:6783)
	from org.truffleruby.language.control.IfElseNode.execute(IfElseNode.java:43)
	from org.truffleruby.language.control.SequenceNode.execute(SequenceNode.java:37)
	from org.truffleruby.language.RubyMethodRootNode.execute(RubyMethodRootNode.java:65)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions