Skip to content

Commit ffa7916

Browse files
committed
Validate type application for module-self-type
1 parent 5bcea8e commit ffa7916

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

lib/rbs/definition_builder/ancestor_builder.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ def one_instance_ancestors(type_name)
244244
else
245245
entry.self_types.each do |module_self|
246246
NoSelfTypeFoundError.check!(module_self, env: env)
247+
InvalidTypeApplicationError.check2!(type_name: module_self.name, args: module_self.args, env: env, location: module_self.location)
247248

248249
module_name = module_self.name
249250
if module_name.class?

test/rbs/ancestor_builder_test.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,12 @@ class D
671671
672672
class E < D[Integer]
673673
end
674+
675+
module F : D[Integer]
676+
end
674677
EOF
678+
679+
675680
manager.build do |env|
676681
builder = DefinitionBuilder::AncestorBuilder.new(env: env)
677682

@@ -690,6 +695,10 @@ class E < D[Integer]
690695
assert_raises InvalidTypeApplicationError do
691696
builder.instance_ancestors(type_name("::E"))
692697
end
698+
699+
assert_raises InvalidTypeApplicationError do
700+
builder.instance_ancestors(type_name("::F"))
701+
end
693702
end
694703
end
695704
end

0 commit comments

Comments
 (0)