@@ -461,7 +461,9 @@ $(H3 $(LNAME2 export, $(D export) Attribute))
461
461
a DLL or executable is importing a symbol from a DLL.)
462
462
463
463
464
- $(H2 $(LNAME2 const, $(D const) Attribute))
464
+ $(H2 $(LNAME2 mutability, Mutability Attributes))
465
+
466
+ $(H3 $(LNAME2 const, $(D const) Attribute))
465
467
466
468
$(P The $(DDLINK spec/const3, Type Qualifiers, $(D const) type qualifier)
467
469
changes the type of the declared symbol from $(D T) to $(D const(T)),
@@ -499,27 +501,30 @@ $(H2 $(LNAME2 const, $(D const) Attribute))
499
501
500
502
$(P See also: $(DDSUBLINK spec/declaration, methods-returning-qualified, Methods Returning a Qualified Type).)
501
503
502
- $(H2 $(LNAME2 immutable, $(D immutable) Attribute))
504
+ $(H3 $(LNAME2 immutable, $(D immutable) Attribute))
503
505
504
506
$(P The $(D immutable) attribute modifies the type from $(D T) to $(D immutable(T)),
505
507
the same way as $(D const) does. See:
506
508
)
507
509
* $(DDSUBLINK spec/const3, immutable_storage_class, `immutable` storage class)
508
510
* $(DDSUBLINK spec/const3, immutable_type, $(D immutable) type qualifier)
509
511
510
- $(H2 $(LNAME2 inout, $(D inout) Attribute))
512
+ $(H3 $(LNAME2 inout, $(D inout) Attribute))
511
513
512
514
$(P The $(DDSUBLINK spec/const3, inout, $(D inout) attribute) modifies the type from $(D T) to $(D inout(T)),
513
515
the same way as $(D const) does.
514
516
)
515
517
516
- $(H2 $(LNAME2 shared, $(D shared) Attribute))
518
+
519
+ $(H2 $(LNAME2 shared-storage, Shared Storage Attributes))
520
+
521
+ $(H3 $(LNAME2 shared, $(D shared) Attribute))
517
522
518
523
$(P The $(DDSUBLINK spec/const3, shared, $(D shared) attribute) modifies the type from $(D T) to $(D shared(T)),
519
524
the same way as $(D const) does.
520
525
)
521
526
522
- $(H2 $(LNAME2 gshared, $(D __gshared) Attribute))
527
+ $(H3 $(LNAME2 gshared, $(D __gshared) Attribute))
523
528
524
529
$(P By default, non-immutable global declarations reside in thread local
525
530
storage. When a global variable is marked with the $(D __gshared)
@@ -578,39 +583,39 @@ void main() { foo(); /* error, foo is disabled */ }
578
583
makes the struct not copyable.
579
584
)
580
585
586
+
581
587
$(H2 $(LNAME2 safe, $(D @safe), $(D @trusted), and $(D @system) Attribute))
582
588
583
589
$(P See $(DDSUBLINK spec/function, function-safety, Function Safety).)
584
590
585
- $(H2 $(LNAME2 nogc, $(D @nogc) Attribute))
591
+
592
+ $(H2 $(LNAME2 function-attributes, Function Attributes))
593
+
594
+ $(H3 $(LNAME2 nogc, $(D @nogc) Attribute))
586
595
587
596
$(P See $(DDSUBLINK spec/function, nogc-functions, No-GC Functions).)
588
597
589
- $(H2 $(LNAME2 property, $(D @property) Attribute))
598
+ $(H3 $(LNAME2 property, $(D @property) Attribute))
590
599
591
600
$(P See $(DDSUBLINK spec/function, property-functions, Property Functions).)
592
601
593
- $(H2 $(LNAME2 nothrow, $(D nothrow) Attribute))
602
+ $(H3 $(LNAME2 nothrow, $(D nothrow) Attribute))
594
603
595
604
$(P See $(DDSUBLINK spec/function, nothrow-functions, Nothrow Functions).)
596
605
597
- $(H2 $(LNAME2 pure, $(D pure) Attribute))
606
+ $(H3 $(LNAME2 pure, $(D pure) Attribute))
598
607
599
608
$(P See $(DDSUBLINK spec/function, pure-functions, Pure Functions).)
600
609
601
- $(H2 $(LNAME2 ref, $(D ref) Attribute))
610
+ $(H3 $(LNAME2 ref, $(D ref) Attribute))
602
611
603
612
$(P See $(DDSUBLINK spec/declaration, ref-storage, `ref` Storage Class).)
604
613
605
- $(H2 $(LNAME2 return, $(D return) Attribute))
614
+ $(H3 $(LNAME2 return, $(D return) Attribute))
606
615
607
616
* $(DDSUBLINK spec/function, return-ref-parameters, Return Ref Parameters).
608
617
* $(DDSUBLINK spec/function, return-scope-parameters, Return Scope Parameters).
609
618
610
- $(H2 $(LNAME2 override, $(D override) Attribute))
611
-
612
- $(P See $(DDSUBLINK spec/function, virtual-functions, Virtual Functions).)
613
-
614
619
$(H2 $(LNAME2 static, $(D static) Attribute))
615
620
616
621
$(P The $(D static) attribute applies to types, functions and data.
@@ -672,7 +677,7 @@ private int y = 4; // y is local to module foo
672
677
$(H2 $(LNAME2 auto, $(D auto) Attribute))
673
678
674
679
$(P The $(D auto) attribute is used when there are no other attributes
675
- and type inference is desired.
680
+ and $(DDSUBLINK spec/declaration, auto-declaration, type inference) is desired.
676
681
)
677
682
678
683
---
@@ -870,14 +875,17 @@ void main() @nogc
870
875
}
871
876
---
872
877
873
- $(H2 $(LNAME2 abstract, $(D abstract) Attribute))
878
+
879
+ $(H2 $(LNAME2 class-attributes, Class Attributes))
880
+
881
+ $(H3 $(LNAME2 abstract, $(D abstract) Attribute))
874
882
875
883
$(P
876
884
An $(DDSUBLINK spec/class, abstract, abstract class) must be overridden by a derived class.
877
885
Declaring an abstract member function makes the class abstract.
878
886
)
879
887
880
- $(H2 $(LNAME2 final, `final` Attribute))
888
+ $(H3 $(LNAME2 final, `final` Attribute))
881
889
882
890
$(UL
883
891
$(LI A class can be declared $(DDSUBLINK spec/class, final, `final`) to prevent
@@ -887,6 +895,11 @@ $(LI A class method can be declared $(DDSUBLINK spec/function, final, `final`)
887
895
$(LI Interfaces can define $(DDSUBLINK spec/interface, method-bodies, `final` methods).)
888
896
)
889
897
898
+ $(H3 $(LNAME2 override, $(D override) Attribute))
899
+
900
+ $(P See $(DDSUBLINK spec/function, virtual-functions, Virtual Functions).)
901
+
902
+
890
903
$(H2 $(LNAME2 mustuse-attribute, `@mustuse` Attribute))
891
904
892
905
$(P
0 commit comments