Vra

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?

Was dit nuttig?

Oplossing

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.

Ander wenke

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.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top