ruby / ruby/typeprof

Methods defined in a Struct.new block end up on parent module

オープン
#84 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Ruby
スター
833
フォーク
99
平均マージ
9時間 30分
マージ済み PR(30日)
12

説明

Customer = Struct.new(:name, :address) do
  def greeting
    "Hello #{name}!"
  end
end

Generated:

class Object
  private
  def greeting: -> String
end

class Customer < Struct[untyped]
  attr_accessor name(): untyped
  attr_accessor address(): untyped
end

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

issue ではソースファイルもテストも特定されていません。まず、提示された Ruby Struct.new スニペットを TypeProf で再現し、ブロックがどのように解析されるかを追跡します。greeting が Object に出力されるのではなく Customer に関連付けられれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
ruby
領域
compilers, devtools
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。