@@ -2869,24 +2869,19 @@ The kinds are:
2869
2869
: Types of this kind can be safely sent between tasks.
2870
2870
This kind includes scalars, owning pointers, owned closures, and
2871
2871
structural types containing only other owned types. All ` Send ` types are ` Static ` .
2872
- ` Static `
2873
- : Types of this kind do not contain any borrowed pointers;
2874
- this can be a useful guarantee for code that breaks borrowing assumptions using [ ` unsafe ` operations] ( #unsafe-functions ) .
2875
2872
` Copy `
2876
2873
: This kind includes all types that can be copied. All types with
2877
2874
sendable kind are copyable, as are managed boxes, managed closures,
2878
2875
trait types, and structural types built out of these.
2879
2876
Types with destructors (types that implement ` Drop ` ) can not implement ` Copy ` .
2880
2877
` Drop `
2881
2878
: This is not strictly a kind, but its presence interacts with kinds: the ` Drop `
2882
- trait provides a single method ` finalize ` that takes no parameters, and is run
2879
+ trait provides a single method ` drop ` that takes no parameters, and is run
2883
2880
when values of the type are dropped. Such a method is called a "destructor",
2884
2881
and are always executed in "top-down" order: a value is completely destroyed
2885
2882
before any of the values it owns run their destructors. Only ` Send ` types
2886
2883
that do not implement ` Copy ` can implement ` Drop ` .
2887
2884
2888
- > ** Note:** The ` finalize ` method may be renamed in future versions of Rust.
2889
-
2890
2885
_ Default_
2891
2886
: Types with destructors, closure environments,
2892
2887
and various other _ non-first-class_ types,
0 commit comments