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