From: "Eregon (Benoit Daloze) via ruby-core" Date: 2025-07-18T20:21:50+00:00 Subject: [ruby-core:122820] [Ruby Bug#21139] Prism and parse.y parses `it = it` differently Issue #21139 has been updated by Eregon (Benoit Daloze). @tenderlovemaking From matz's latest reply in https://bugs.ruby-lang.org/issues/21139#note-6: > But It was due to my misunderstanding. it = it should initialize the local variable named it and the value should be nil, Which means it should be the parse.y behavior in the OP example, and so Prism should behave the same as parse.y here, which I suppose is why Kevin re-assigned to prism. ---------------------------------------- Bug #21139: Prism and parse.y parses `it = it` differently https://bugs.ruby-lang.org/issues/21139#change-114107 * Author: tompng (tomoya ishida) * Status: Feedback * Assignee: prism * ruby -v: ruby 3.5.0dev (2025-02-14T16:49:52Z master ee181d1bb7) +PRISM [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- ~~~ # ruby --parser=parse.y -e "42.tap { it = it; p it }" nil # ruby --parser=prism -e "42.tap { it = it; p it }" 42 ~~~ ---Files-------------------------------- clipboard-202503081702-idzz2.png (22.6 KB) -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/