dmd.staticcond
    Lazily evaluate static conditions for static if, static assert and template constraints.
  
License
Source: staticcond.d
Documentation: https://dlang.org/phobos/dmd_staticcond.html
- 
  DeclarationboolevalStaticCondition(Scope*sc, Expressionoriginal, Expressione, out boolerrors, Expressions*negatives= null);Semantically analyze and then evaluate a static condition at compile time. This is special because short circuit operators &&, || and ?: at the top level are not semantically analyzed if the result of the expression is not necessary. ParametersScope*scinstantiating scope Expressionoriginaloriginalexpression, for error messagesExpressioneresulting expression boolerrorsset to trueiferrorsoccurredExpressions*negativesarray to store negative clauses Return Valuetrueif evaluates totrue
- 
  Declarationconst(char)*visualizeStaticCondition(Expressionoriginal, Expressioninstantiated, const Expression[]negatives, boolfull, ref uintitemCount);Format a static condition as a tree-like structure, marking failed and bypassed expressions. ParametersExpressionoriginaloriginalexpressionExpressioninstantiatedinstantiatedexpressionExpression[]negativesarray with negative clauses from instantiatedboolfullcontrols whether it shows the fulloutput or only failed partsuintitemCountreturns the number of written clauses Return Valueformatted string or nullif the expressions werenull, or if theinstantiatedexpression is not based on theoriginalone