static class Foo{ ControlBlock!int c; } static assert(is( IntrusiveControlBlock!(Foo) == ControlBlock!int )); static assert(is( IntrusiveControlBlock!(const Foo) == const ControlBlock!int )); static assert(is( IntrusiveControlBlock!(shared Foo) == shared ControlBlock!int )); static assert(is( IntrusiveControlBlock!(const shared Foo) == const shared ControlBlock!int )); static assert(is( IntrusiveControlBlock!(immutable Foo) == immutable ControlBlock!int )); static class Bar{ shared ControlBlock!int c; } static assert(is( IntrusiveControlBlock!(Bar) == shared ControlBlock!int )); static assert(is( IntrusiveControlBlock!(const Bar) == const shared ControlBlock!int )); static assert(is( IntrusiveControlBlock!(shared Bar) == shared ControlBlock!int )); static assert(is( IntrusiveControlBlock!(const shared Bar) == const shared ControlBlock!int )); static assert(is( IntrusiveControlBlock!(immutable Bar) == immutable ControlBlock!int )); static assert(is( IntrusiveControlBlock!(long) == void ));
Alias to ControlBlock including qualifiers contained by Type.
If mutable is true, then result type alias is mutable (can be shared).