View source code
Display the source code in dmd/dtemplate.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

dmd.dtemplate.TemplateInstance.semanticTiargs - multiple declarations

Function TemplateInstance.semanticTiargs

Run semantic of tiargs as arguments of template.

static bool semanticTiargs (
  ref const(Loc) loc,
  dmd.dscope.Scope* sc,
  dmd.root.array.Array!(dmd.root.rootobject.RootObject)* tiargs,
  int flags,
  TupleDeclaration atd = null
);

Input

loc sc tiargs array of template arguments flags 1: replace const variables with their initializers 2: don't devolve Parameter to Type atd tuple being optimized. If found, it's not expanded here but in AliasAssign semantic.

Returns

false if one or more arguments have errors.

Function TemplateInstance.semanticTiargs

Run semantic on the elements of tiargs.

final bool semanticTiargs (
  dmd.dscope.Scope* sc
);

Input

sc

Returns

false if one or more arguments have errors.

Note

This function is reentrant against error occurrence. If returns false, all elements of tiargs won't be modified.

Authors

Walter Bright

License

Boost License 1.0