Currently, a Constraint is allowed both before and after the BaseClassList by the grammar:
http://dlang.org/spec/template.html#ClassTemplateDeclarationhttp://dlang.org/spec/template.html#InterfaceTemplateDeclaration
There is no purpose to the redundancy, and the 'after' syntax doesn't make much sense. The grammar rules:
class Identifier TemplateParameters BaseClassListopt Constraintopt AggregateBody
interface Identifier TemplateParameters BaseInterfaceList Constraint AggregateBody
should be removed. I don't know how they ever got there in the first place.
Comment #1 by robert.schadek — 2024-12-13T18:48:22Z