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?
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With