is(Unqual!(int) == int)
is an expression, not a statement. The line you posted does not exist in std.traits
.
I assume you mean the following line:
static assert(is(Unqual!int == int));
See the documentation for IsExpression.
Question
Inside the std.traits
module, I can find a line similar to:
assert(is(Unqual!(int) == int));
I know that Unqual
removes any type modifiers like immutable, but what does the 'is' do? How is it different from an if statement and when should it be used?
Solution
is(Unqual!(int) == int)
is an expression, not a statement. The line you posted does not exist in std.traits
.
I assume you mean the following line:
static assert(is(Unqual!int == int));
See the documentation for IsExpression.
OTHER TIPS
is
is an expression that allows for example to check if types are equal, if 1 type is subtype of another or if T
a class/enum/struct etc.
The code you posted checks if specified type does not have any modifiers.
For more information se D Language Documentation about IsExpression.