Austin Hastings <[email protected]> wrote:
If Decider uses Option1.sizeof, does any Option1 code get emitted?
For sizeof to be known, the template would have to be instantiated, yes.
If Decider uses some external function that makes use of type aliases in
Option1, (example: Option1() { alias byte value_t; } ) does any Option1
code get emitted?
Again, the same.
If Decider uses some function defined inside the same module with
Option1, but NOT inside of Option1, does any/all of the Option1 code get
emitted?
Accessing the surrounding scope would not instantiate Option1. So no.
If Decider uses a static method of Option1, does any more of the Option1
code get emitted?
As with the first two, it would have to be instantiated.
Now, I have the feeling this is not really what you're asking for. What
do you mean by 'code gets emitted'? Perhaps you could give a reduced
example?
--
Simen