From a4345725a083651c16795d27fedd769f2d7e55ae Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 16 Jun 2025 20:37:27 -0700 Subject: Require `override` keyword for overriding default interface methods. (#7458) * Require `override` keyword for overriding default interface methods. * Update doc. * Fix test. --- tests/diagnostics/missing-override.slang | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tests/diagnostics/missing-override.slang (limited to 'tests/diagnostics') diff --git a/tests/diagnostics/missing-override.slang b/tests/diagnostics/missing-override.slang new file mode 100644 index 000000000..cc2cbcad3 --- /dev/null +++ b/tests/diagnostics/missing-override.slang @@ -0,0 +1,20 @@ +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): + +interface IFoo +{ + int getVal() { return 0; } +} + +struct Impl : IFoo +{ + // Missing override for getVal, which should trigger a diagnostic. + // CHECK: ([[# @LINE+1]]): error 30853 + int getVal() { return 1; } +} + +struct Impl2 : IFoo +{ + // Overriding getVal with a different signature should also trigger a diagnostic. + // CHECK: ([[# @LINE+1]]): error 30854 + override int getVal(int x) { return x; } +} \ No newline at end of file -- cgit v1.2.3