-
Notifications
You must be signed in to change notification settings - Fork 177
Closed
Description
When running Sorbet type checking (srb tc), the definition of Prism::Translation::Parser35 in lib/prism/translation/parser35.rb when converted to RBI:
# source://prism//lib/prism/translation/parser35.rb#6
Prism::Translation::Parser35 = Prism::Translation::Parser40
class Prism::Translation::Parser35 < Prism::Translation::Parser; endCauses errors:
sorbet/rbi/gems/prism@1.7.0.rbi:34454: Cannot initialize the class `Parser35` by constant assignment https://srb.help/4022
34454 |Prism::Translation::Parser35 = Prism::Translation::Parser40
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sorbet/rbi/gems/prism@1.7.0.rbi:34456: Previously defined as a class here
34456 |class Prism::Translation::Parser35 < Prism::Translation::Parser; end
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Note:
Sorbet does not allow treating constant assignments as class or module definitions,
even if the initializer computes a `Module` object at runtime. See the docs for more.
Errors: 1
Please note that my work is for a code generation company that supports customers that opt into using Sorbet in their Ruby projects. This seems like an issue that Sorbet should resolve somehow, however given that Ruby 3.5 does not exist, removing the alias theoretically would also fix this issue. For now, we will setup Sorbet to ignore this error as a workaround.
Metadata
Metadata
Assignees
Labels
No labels