| Annotation Type | Description | 
|---|---|
| CreatesMustCallFor | 
 Indicates that the method resets the expression's must-call type to its declared type. 
 | 
| CreatesMustCallFor.List | 
 A wrapper annotation that makes the  
CreatesMustCallFor annotation repeatable. | 
| InheritableMustCall | 
 This annotation is an alias for  
MustCall that applies to the type on which it is written
 and all of its subtypes. | 
| MustCall | 
 An expression of type  
@MustCall({"m1", "m2"}) may be obligated to call m1()
 and/or m2() before it is deallocated, but it is not obligated to call any other methods. | 
| MustCallAlias | 
 This polymorphic annotation represents an either-or must-call obligation. 
 | 
| MustCallUnknown | 
 The top qualifier in the Must Call type hierarchy. 
 | 
| NotOwning | 
 Annotation indicating that ownership should not be transferred to the annotated parameter, field,
 or method's call sites, for the purposes of Must Call checking. 
 | 
| Owning | 
 Annotation indicating that ownership should be transferred to the annotated element for the
 purposes of Must Call checking. 
 | 
| PolyMustCall | 
 The polymorphic qualifier for the Must Call type system. 
 |