File tree Expand file tree Collapse file tree 2 files changed +56
-1
lines changed
Expand file tree Collapse file tree 2 files changed +56
-1
lines changed Original file line number Diff line number Diff line change @@ -196,7 +196,7 @@ def self.application(params, args)
196196 end
197197
198198 def self . normalize_args ( params , args )
199- app = application ( params , args ) or return [ ]
199+ app = application ( params , args ) or return args
200200
201201 min_count = params . count { _1 . default_type . nil? }
202202 unless min_count <= args . size && args . size <= params . size
Original file line number Diff line number Diff line change @@ -703,6 +703,61 @@ module F : D[Integer]
703703 end
704704 end
705705
706+ def test_invalid_ancestor_args
707+ SignatureManager . new do |manager |
708+ manager . files [ Pathname ( "foo.rbs" ) ] = <<EOF
709+ module X
710+ end
711+
712+ class Y
713+ end
714+
715+ class A < Y[top]
716+ end
717+
718+ class B
719+ include X[bool]
720+ end
721+
722+ class C
723+ extend X[untyped]
724+ end
725+
726+ class D
727+ prepend X[void]
728+ end
729+
730+ module E : X[untyped]
731+ end
732+ EOF
733+
734+
735+ manager . build do |env |
736+ builder = DefinitionBuilder ::AncestorBuilder . new ( env : env )
737+
738+ assert_raises InvalidTypeApplicationError do
739+ builder . instance_ancestors ( type_name ( "::A" ) )
740+ end
741+
742+ assert_raises InvalidTypeApplicationError do
743+ builder . instance_ancestors ( type_name ( "::B" ) )
744+ end
745+
746+ assert_raises InvalidTypeApplicationError do
747+ builder . singleton_ancestors ( type_name ( "::C" ) )
748+ end
749+
750+ assert_raises InvalidTypeApplicationError do
751+ builder . instance_ancestors ( type_name ( "::D" ) )
752+ end
753+
754+ assert_raises InvalidTypeApplicationError do
755+ builder . instance_ancestors ( type_name ( "::E" ) )
756+ end
757+ end
758+ end
759+ end
760+
706761 def test_invalid_mixin_include
707762 SignatureManager . new do |manager |
708763 manager . files [ Pathname ( "foo.rbs" ) ] = <<EOF
You can’t perform that action at this time.
0 commit comments