# Downstream crates may implement \`Copy\` for \`Box\<\_\>\`

**URL:** <https://internals.rust-lang.org/t/downstream-crates-may-implement-copy-for-box/12139>\
**Category:** Uncategorized\
**Created:** [April 11, 2020, 7:48pm UTC](https://internals.rust-lang.org/t/downstream-crates-may-implement-copy-for-box/12139 "2020-04-11T19:48:23Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![Ixrec](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/ixrec/32/6754_2.png) [@Ixrec](https://internals.rust-lang.org/u/Ixrec)\
**Post date:** [April 12, 2020, 9:48pm UTC](https://internals.rust-lang.org/t/downstream-crates-may-implement-copy-for-box/12139/12 "2020-04-12T21:48:48Z")

</div>

Unfortunately this doesn't appear to be formally documented anywhere that I can find, but I believe "drop glue" refers to the code the compiler generates to invoke the right `drop()` calls in the right places. For example, if your `struct S` contains a `Vec<u32>` field but no explicit `Drop` `impl`, it will still have some "drop glue" for dropping the `Vec<u32>`.

A common and subtle point of confusion is that a type having "drop glue" is not the same thing as a type implementing the `Drop` trait. This is why `T: Drop` bounds don't do what anyone expects them to do, and [changes to make this less confusing have been discussed in the past](https://internals.rust-lang.org/t/fixing-the-drop-trait-bound/9458). That sort of change is what I believe the end of @CAD97 's post is referring to.

---

_[View the full topic](https://internals.rust-lang.org/t/downstream-crates-may-implement-copy-for-box/12139)._
