Skip to content

Commit 5f40f5a

Browse files
authored
Merge pull request #398 from BBasile/fix-finalattrib
prevent to check for final attribs inside templates
2 parents 1ee0333 + 7686dd0 commit 5f40f5a

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/analysis/final_attribute.d

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,16 @@ public:
110110
_parent = saved;
111111
}
112112

113+
override void visit(const(MixinTemplateDeclaration) mtd)
114+
{
115+
// can't really know where it'll be mixed (class |final class | struct ?)
116+
}
117+
118+
override void visit(const(TemplateDeclaration) mtd)
119+
{
120+
// regular template are also mixable
121+
}
122+
113123
override void visit(const(Declaration) d)
114124
{
115125
const Parent savedParent = _parent;
@@ -266,6 +276,13 @@ public:
266276
}
267277
}, sac);
268278

279+
assertAnalyzerWarnings(q{
280+
mixin template Impl()
281+
{
282+
protected final void mixin_template_can() {}
283+
}
284+
}, sac);
285+
269286
// fail
270287

271288
assertAnalyzerWarnings(q{

0 commit comments

Comments
 (0)