HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/ruby/gems/3.0.0/gems/typeprof-0.12.0/smoke/super1.rb
def log(x)
end

class A; end
class B; end
class C; end
class X; end
class Y; end
class Z; end

class Foo
  def f(x)
    log(self)
    X.new
  end
end

class Bar < Foo
  def f(x)
    super(C.new)
    Y.new
  end
end

class Baz < Bar
  def f(x)
    super(B.new)
    Z.new
  end
end

Baz.new.f(A.new)

__END__
# Classes
class Object
  private
  def log: (Baz x) -> nil
end

class A
end

class B
end

class C
end

class X
end

class Y
end

class Z
end

class Foo
  def f: (C x) -> X
end

class Bar < Foo
  def f: (B x) -> Y
end

class Baz < Bar
  def f: (A x) -> Z
end