August 14, 2017 Real naive template question | ||||
|---|---|---|---|---|
| ||||
module block_template;
void main()
{
template BluePrint(T, U)
{
T integer;
U floatingPoint;
}
BluePrint!(int, float);
}
// DMD returns
// template.d(13): Error: BluePrint!(int, float) has no effect
// I was expecting something like the following to be created after compilation:
module block_template;
void main()
{
{
int integer;
float floatingPoint;
}
}
I realize this is a corner case, but shouldn't the BluePrint!(int, float); statement blindly create a block of code?
| ||||
August 14, 2017 Re: Real naive template question | ||||
|---|---|---|---|---|
| ||||
Posted in reply to WhatMeForget | On Monday, 14 August 2017 at 00:44:05 UTC, WhatMeForget wrote: > module block_template; > > void main() > { > template BluePrint(T, U) > { > T integer; > U floatingPoint; > } > > BluePrint!(int, float); > } > > // DMD returns > // template.d(13): Error: BluePrint!(int, float) has no effect > > // I was expecting something like the following to be created after compilation: > > module block_template; > > void main() > { > { > int integer; > float floatingPoint; > } > } > > > I realize this is a corner case, but shouldn't the BluePrint!(int, float); statement blindly create a block of code? you want https://dlang.org/spec/template-mixin.html | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply