Add ptr::Pointee trait (for all types) and ptr::metadata function

RFC: https://github.com/rust-lang/rfcs/pull/2580
This commit is contained in:
Simon Sapin
2020-10-19 15:38:11 +02:00
parent 9503ea19ed
commit 696b239f72
17 changed files with 349 additions and 10 deletions

View File

@@ -267,6 +267,9 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
} else if lang_items.discriminant_kind_trait() == Some(def_id) {
// `DiscriminantKind` is automatically implemented for every type.
candidates.vec.push(DiscriminantKindCandidate);
} else if lang_items.pointee_trait() == Some(def_id) {
// `Pointee` is automatically implemented for every type.
candidates.vec.push(PointeeCandidate);
} else if lang_items.sized_trait() == Some(def_id) {
// Sized is never implementable by end-users, it is
// always automatically computed.