From 45560483447dd737a63efc236b2be07fd0fc4347 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 11 Jun 2025 12:12:53 -0700 Subject: Fix an issue in extension override. (#7402) * Fix an issue in extension override. * Fix typo in comment. --- .../extensions/extension-override-2.slang | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/language-feature/extensions/extension-override-2.slang (limited to 'tests') diff --git a/tests/language-feature/extensions/extension-override-2.slang b/tests/language-feature/extensions/extension-override-2.slang new file mode 100644 index 000000000..bd40e8ba9 --- /dev/null +++ b/tests/language-feature/extensions/extension-override-2.slang @@ -0,0 +1,41 @@ +//TEST:INTERPRET(filecheck=CHECK): +interface IBar +{} + +interface IFoo : IBar +{ + void execute(); +} + +struct Impl : IFoo +{ + void execute() + { + printf("Impl::execute();\n"); + } +} + +extension T : IFoo +{ + void execute() + { + printf("Extension::execute();\n"); + } +} + +struct Base : IBar{} + +void test(T t) +{ + t.execute(); +} + +void main() +{ + // CHECK: Impl::execute(); + Impl f; + test(f); + // CHECK: Extension::execute(); + Base b; + test(b); +} \ No newline at end of file -- cgit v1.2.3