1
Fork 0

Clarify how needs_drop is conservative

This commit is contained in:
Alexis Beingessner 2017-10-13 02:29:10 -04:00
parent 91eb6fe56d
commit 11775ab80d

View file

@ -429,9 +429,11 @@ pub fn align_of_val<T: ?Sized>(val: &T) -> usize {
/// Returns whether dropping values of type `T` matters. /// Returns whether dropping values of type `T` matters.
/// ///
/// This is purely an optimization hint, and may be implemented conservatively. /// This is purely an optimization hint, and may be implemented conservatively:
/// For instance, always returning `true` would be a valid implementation of /// it may return `true` for types that don't actually need to be dropped.
/// this function. /// As such always returning `true` would be a valid implementation of
/// this function. However if this function actually returns `false`, then you
/// can be certain dropping `T` has no side effect.
/// ///
/// Low level implementations of things like collections, which need to manually /// Low level implementations of things like collections, which need to manually
/// drop their data, should use this function to avoid unnecessarily /// drop their data, should use this function to avoid unnecessarily