Skip to content

Allow marking methods as accepting no block#16179

Closed
kddnewton wants to merge 1 commit intoruby:masterfrom
kddnewton:noblock
Closed

Allow marking methods as accepting no block#16179
kddnewton wants to merge 1 commit intoruby:masterfrom
kddnewton:noblock

Conversation

@kddnewton
Copy link
Copy Markdown
Contributor

[Feature #19979]

@kddnewton
Copy link
Copy Markdown
Contributor Author

@nobu would you be able to do the necessary parse.y changes?

@launchable-app
Copy link
Copy Markdown

launchable-app bot commented Feb 15, 2026

2/34583 Tests Failed

bootstraptest/test_ractor.rb#bootstraptest/test_ractor.rb 🛡️ never-failing, but failed now

test/prism/result/source_location_test.rb#test_all_tested
Failure:
Prism::SourceLocationTest#test_all_tested [/Users/runner/work/ruby/ruby/src/test/prism/result/source_location_test.rb:925]:
<[:AliasGlobalVariableNode,
 :AliasMethodNode,
 :AlternationPatternNode,
 :AndNode,
 :ArgumentsNode,
 :ArrayNode,
 :ArrayPatternNode,
 :AssocNode,
 :AssocSplatNode,
 :BackReferenceReadNode,
 :BeginNode,
 :BlockArgumentNode,
 :BlockLocalVariableNode,
 :BlockNode,
 :BlockParameterNode,
 :BlockParametersNode,
 :BreakNode,
 :CallAndWriteNode,
 :CallNode,
 :CallOperatorWriteNode,
 :CallOrWriteNode,
 :CallTargetNode,
 :CapturePatternNode,
 :CaseMatchNode,
 :CaseNode,
 :ClassNode,
 :ClassVariableAndWriteNode,
 :ClassVariableOperatorWriteNode,
 :ClassVariableOrWriteNode,
 :ClassVariableReadNode,
 :ClassVariableTargetNode,
 :ClassVariableWriteNode,
 :ConstantAndWriteNode,
 :ConstantOperatorWriteNode,
 :ConstantOrWriteNode,
 :ConstantPathAndWriteNode,
 :ConstantPathNode,
 :ConstantPathOperatorWriteNode,
 :ConstantPathOrWriteNode,
 :ConstantPathTargetNode,
 :ConstantPathWriteNode,
 :ConstantReadNode,
 :ConstantTargetNode,
 :ConstantWriteNode,
 :DefNode,
 :DefinedNode,
 :ElseNode,
 :EmbeddedStatementsNode,
 :EmbeddedVariableNode,
 :EnsureNode,
 :FalseNode,
 :FindPatternNode,
 :FlipFlopNode,
 :FloatNode,
 :ForNode,
 :ForwardingArgumentsNode,
 :ForwardingParameterNode,
 :ForwardingSuperNode,
 :GlobalVariableAndWriteNode,
 :GlobalVariableOperatorWriteNode,
 :GlobalVariableOrWriteNode,
 :GlobalVariableReadNode,
 :GlobalVariableTargetNode,
 :GlobalVariableWriteNode,
 :HashNode,
 :HashPatternNode,
 :IfNode,
 :ImaginaryNode,
 :ImplicitNode,
 :ImplicitRestNode,
 :InNode,
 :IndexAndWriteNode,
 :IndexOperatorWriteNode,
 :IndexOrWriteNode,
 :IndexTargetNode,
 :InstanceVariableAndWriteNode,
 :InstanceVariableOperatorWriteNode,
 :InstanceVariableOrWriteNode,
 :InstanceVariableReadNode,
 :InstanceVariableTargetNode,
 :InstanceVariableWriteNode,
 :IntegerNode,
 :InterpolatedMatchLastLineNode,
 :InterpolatedRegularExpressionNode,
 :InterpolatedStringNode,
 :InterpolatedSymbolNode,
 :InterpolatedXStringNode,
 :ItLocalVariableReadNode,
 :ItParametersNode,
 :KeywordHashNode,
 :KeywordRestParameterNode,
 :LambdaNode,
 :LocalVariableAndWriteNode,
 :LocalVariableOperatorWriteNode,
 :LocalVariableOrWriteNode,
 :LocalVariableReadNode,
 :LocalVariableTargetNode,
 :LocalVariableWriteNode,
 :MatchLastLineNode,
 :MatchPredicateNode,
 :MatchRequiredNode,
 :MatchWriteNode,
 :ModuleNode,
 :MultiTargetNode,
 :MultiWriteNode,
 :NextNode,
 :NilNode,
 :NoBlockParameterNode,
 :NoKeywordsParameterNode,
 :NumberedParametersNode,
 :NumberedReferenceReadNode,
 :OptionalKeywordParameterNode,
 :OptionalParameterNode,
 :OrNode,
 :ParametersNode,
 :ParenthesesNode,
 :PinnedExpressionNode,
 :PinnedVariableNode,
 :PostExecutionNode,
 :PreExecutionNode,
 :RangeNode,
 :RationalNode,
 :RedoNode,
 :RegularExpressionNode,
 :RequiredKeywordParameterNode,
 :RequiredParameterNode,
 :RescueModifierNode,
 :RescueNode,
 :RestParameterNode,
 :RetryNode,
 :ReturnNode,
 :SelfNode,
 :ShareableConstantNode,
 :SingletonClassNode,
 :SourceEncodingNode,
 :SourceFileNode,
 :SourceLineNode,
 :SplatNode,
 :StatementsNode,
 :StringNode,
 :SuperNode,
 :SymbolNode,
 :TrueNode,
 :UndefNode,
 :UnlessNode,
 :UntilNode,
 :WhenNode,
 :WhileNode,
 :XStringNode,
 :YieldNode]> expected but was
<[:AliasGlobalVariableNode,
 :AliasMethodNode,
 :AlternationPatternNode,
 :AndNode,
 :ArgumentsNode,
 :ArrayNode,
 :ArrayPatternNode,
 :AssocNode,
 :AssocSplatNode,
 :BackReferenceReadNode,
 :BeginNode,
 :BlockArgumentNode,
 :BlockLocalVariableNode,
 :BlockNode,
 :BlockParameterNode,
 :BlockParametersNode,
 :BreakNode,
 :CallAndWriteNode,
 :CallNode,
 :CallOperatorWriteNode,
 :CallOrWriteNode,
 :CallTargetNode,
 :CapturePatternNode,
 :CaseMatchNode,
 :CaseNode,
 :ClassNode,
 :ClassVariableAndWriteNode,
 :ClassVariableOperatorWriteNode,
 :ClassVariableOrWriteNode,
 :ClassVariableReadNode,
 :ClassVariableTargetNode,
 :ClassVariableWriteNode,
 :ConstantAndWriteNode,
 :ConstantOperatorWriteNode,
 :ConstantOrWriteNode,
 :ConstantPathAndWriteNode,
 :ConstantPathNode,
 :ConstantPathOperatorWriteNode,
 :ConstantPathOrWriteNode,
 :ConstantPathTargetNode,
 :ConstantPathWriteNode,
 :ConstantReadNode,
 :ConstantTargetNode,
 :ConstantWriteNode,
 :DefNode,
 :DefinedNode,
 :ElseNode,
 :EmbeddedStatementsNode,
 :EmbeddedVariableNode,
 :EnsureNode,
 :FalseNode,
 :FindPatternNode,
 :FlipFlopNode,
 :FloatNode,
 :ForNode,
 :ForwardingArgumentsNode,
 :ForwardingParameterNode,
 :ForwardingSuperNode,
 :GlobalVariableAndWriteNode,
 :GlobalVariableOperatorWriteNode,
 :GlobalVariableOrWriteNode,
 :GlobalVariableReadNode,
 :GlobalVariableTargetNode,
 :GlobalVariableWriteNode,
 :HashNode,
 :HashPatternNode,
 :IfNode,
 :ImaginaryNode,
 :ImplicitNode,
 :ImplicitRestNode,
 :InNode,
 :IndexAndWriteNode,
 :IndexOperatorWriteNode,
 :IndexOrWriteNode,
 :IndexTargetNode,
 :InstanceVariableAndWriteNode,
 :InstanceVariableOperatorWriteNode,
 :InstanceVariableOrWriteNode,
 :InstanceVariableReadNode,
 :InstanceVariableTargetNode,
 :InstanceVariableWriteNode,
 :IntegerNode,
 :InterpolatedMatchLastLineNode,
 :InterpolatedRegularExpressionNode,
 :InterpolatedStringNode,
 :InterpolatedSymbolNode,
 :InterpolatedXStringNode,
 :ItLocalVariableReadNode,
 :ItParametersNode,
 :KeywordHashNode,
 :KeywordRestParameterNode,
 :LambdaNode,
 :LocalVariableAndWriteNode,
 :LocalVariableOperatorWriteNode,
 :LocalVariableOrWriteNode,
 :LocalVariableReadNode,
 :LocalVariableTargetNode,
 :LocalVariableWriteNode,
 :MatchLastLineNode,
 :MatchPredicateNode,
 :MatchRequiredNode,
 :MatchWriteNode,
 :ModuleNode,
 :MultiTargetNode,
 :MultiWriteNode,
 :NextNode,
 :NilNode,
 :NoKeywordsParameterNode,
 :NumberedParametersNode,
 :NumberedReferenceReadNode,
 :OptionalKeywordParameterNode,
 :OptionalParameterNode,
 :OrNode,
 :ParametersNode,
 :ParenthesesNode,
 :PinnedExpressionNode,
 :PinnedVariableNode,
 :PostExecutionNode,
 :PreExecutionNode,
 :RangeNode,
 :RationalNode,
 :RedoNode,
 :RegularExpressionNode,
 :RequiredKeywordParameterNode,
 :RequiredParameterNode,
 :RescueModifierNode,
 :RescueNode,
 :RestParameterNode,
 :RetryNode,
 :ReturnNode,
 :SelfNode,
 :ShareableConstantNode,
 :SingletonClassNode,
 :SourceEncodingNode,
 :SourceFileNode,
 :SourceLineNode,
 :SplatNode,
 :StatementsNode,
 :StringNode,
 :SuperNode,
 :SymbolNode,
 :TrueNode,
 :UndefNode,
 :UnlessNode,
 :UntilNode,
 :WhenNode,
 :WhileNode,
 :XStringNode,
 :YieldNode]>.

[-> View Test suite health in main branch]

@kddnewton kddnewton closed this Feb 15, 2026
@kddnewton kddnewton deleted the noblock branch February 15, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant