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. --- docs/user-guide/06-interfaces-generics.md | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'docs') diff --git a/docs/user-guide/06-interfaces-generics.md b/docs/user-guide/06-interfaces-generics.md index 1912fcb02..bb19fd776 100644 --- a/docs/user-guide/06-interfaces-generics.md +++ b/docs/user-guide/06-interfaces-generics.md @@ -58,6 +58,17 @@ interface IFoo struct MyType : IFoo {} ``` +A concrete type that provides its overriding implementation to an interface method requirement that has a default implementation must be explicitly marked as 'override'. For example: + +```slang +struct MyType2 : IFoo +{ + // Explicitly mark `getVal` as `override` is needed + // because `IFoo.getVal` has a body. + override int getVal() { return 1; } +} +``` + Generics --------------------- -- cgit v1.2.3