
Issue #20761 has been updated by Eregon (Benoit Daloze). In general the entire `RubyVM::AbstractSyntaxTree` module should be considered deprecated (and maybe even removed), given it relies on parse.y internals and that matz said that the Prism API is the official Ruby API for parsing Ruby code (i.e. no matter which parser is used internally, the exposed API must be the one of Prism). `RubyVM::AbstractSyntaxTree` was always experimental, unstable, only working on CRuby, etc. So now is a good time to no longer rely on it. ---------------------------------------- Bug #20761: [DOC] `RubyVM::AbstractSyntaxTree.of` examples raise because parser is prism by default https://bugs.ruby-lang.org/issues/20761#change-109926 * Author: Earlopain (A S) * Status: Closed * ruby -v: 3.4-dev * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- https://docs.ruby-lang.org/en/master/RubyVM/AbstractSyntaxTree.html#method-c... ```rb RubyVM::AbstractSyntaxTree.of(proc {1 + 2}) # => <internal:ast>:97:in 'RubyVM::AbstractSyntaxTree.of': cannot get AST for ISEQ compiled by prism (RuntimeError) ``` Same for the method example. Is this method even functional when prism is used, or is the prism gem able to do this somehow? -- https://bugs.ruby-lang.org/