@@ -2726,6 +2726,7 @@ $(GNAME IsExpression):
2726
2726
2727
2727
$(GNAME TypeSpecialization):
2728
2728
$(GLINK2 type, Type)
2729
+ $(GLINK2 type, TypeCtor)
2729
2730
$(D struct)
2730
2731
$(D union)
2731
2732
$(D class)
@@ -2735,10 +2736,6 @@ $(GNAME TypeSpecialization):
2735
2736
$(D function)
2736
2737
$(D delegate)
2737
2738
$(D super)
2738
- $(D const)
2739
- $(D immutable)
2740
- $(D inout)
2741
- $(D shared)
2742
2739
$(D return)
2743
2740
$(D __parameters)
2744
2741
$(D module)
@@ -2835,6 +2832,18 @@ alias Bar = short;
2835
2832
static assert(is(Bar == short));
2836
2833
static assert(!is(Bar == int));
2837
2834
-------------
2835
+ )
2836
+ $(P
2837
+ If *TypeSpecialization* is a $(GLINK2 type, TypeCtor)
2838
+ then the condition is satisfied if *Type* is of that *TypeCtor*:
2839
+ )
2840
+ $(SPEC_RUNNABLE_EXAMPLE_COMPILE
2841
+ ---
2842
+ static assert(is(const int == const));
2843
+ static assert(is(const int[] == const));
2844
+ static assert(!is(const(int)[] == const)); // head is mutable
2845
+ static assert(!is(immutable int == const));
2846
+ ---
2838
2847
)
2839
2848
$(P
2840
2849
If $(I TypeSpecialization) is one of
@@ -2885,22 +2894,6 @@ static assert(!is(int == class));
2885
2894
static assert(is(typeof(foo) == __parameters));
2886
2895
---
2887
2896
)
2888
- $(P
2889
- If *TypeSpecialization* is a $(GLINK2 type, TypeCtor) keyword
2890
- $(D const)
2891
- $(D immutable)
2892
- $(D inout)
2893
- $(D shared)
2894
- then the condition is satisfied if *Type* is of that *TypeCtor*:
2895
- )
2896
- $(SPEC_RUNNABLE_EXAMPLE_COMPILE
2897
- ---
2898
- static assert(is(const int == const));
2899
- static assert(is(const int[] == const));
2900
- static assert(!is(const(int)[] == const)); // head is mutable
2901
- static assert(!is(immutable int == const));
2902
- ---
2903
- )
2904
2897
$(P $(B See also:) $(DDLINK spec/traits, Traits, Traits).)
2905
2898
2906
2899
0 commit comments