alias CB = ControlBlock!(int, int); static assert(is(ControlBlockDeduction!(long, CB) == CB)); static assert(is(ControlBlockDeduction!(void, CB) == CB)); static assert(is(ControlBlockDeduction!(shared double, CB) == shared CB)); static assert(is(ControlBlockDeduction!(const int, CB) == CB)); static assert(is(ControlBlockDeduction!(shared const int, CB) == shared CB)); static assert(is(ControlBlockDeduction!(immutable int, CB) == CB)); static assert(is(ControlBlockDeduction!(shared int[], CB) == shared CB)); static assert(is(ControlBlockDeduction!(shared(int)[], CB) == CB));