HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/rubies/default/lib/ruby/gems/3.0.0/gems/typeprof-0.12.0/smoke/struct2.rb
FooBar = Struct.new(:foo, :bar)
class FooBar
  def my_foo
    foo
  end
end
def gen_foobar
  FooBar.new(1)
end
foobar = gen_foobar
foobar.foo = "str"
foobar.bar = :sym

__END__
# Classes
class Object
  private
  def gen_foobar: -> FooBar
end

class FooBar < Struct[untyped]
  attr_accessor foo(): Integer | String
  attr_accessor bar(): :sym?
  def my_foo: -> (Integer | String)
end