Explicit template instantiation in super call doesn't compile

Steven Schveighoffer schveiguy at yahoo.com
Thu Jan 25 16:05:14 UTC 2018


On 1/25/18 8:32 AM, Jacob Carlborg wrote:
> The following example will not compile:
> 
> class Foo
> {
>      this(T)(T a) {}
> }
> 
> class C : Foo
> {
>      this()
>      {
>          super!(int)(3);
>      }
> }
> 
> The error is on the line of the super call:
> 
> "Error: found `!` when expecting `;` following statement"
> 
> Is this intentional or just an limitation in the grammar?

I think maybe both?

I'll note that you can't even instantiate a Foo with an explicit 
constructor call.

-Steve


More information about the Digitalmars-d mailing list