1
Fork 0

Apply suggestions from review

This commit is contained in:
Dylan MacKenzie 2020-04-10 14:06:57 -07:00
parent beeacdb2a7
commit f0c77337e1
2 changed files with 21 additions and 21 deletions

View file

@ -190,22 +190,28 @@ pub(crate) fn try_load_from_on_disk_cache<'tcx>(tcx: TyCtxt<'tcx>, dep_node: &De
rustc_dep_node_try_load_from_on_disk_cache!(dep_node, tcx)
}
/// An analogue of the `Into` trait that's intended only for query paramaters.
///
/// This exists to allow queries to accept either `DefId` or `LocalDefId` while requiring that the
/// user call `to_def_id` to convert between them everywhere else.
pub trait IntoQueryParam<P> {
fn into_query_param(self) -> P;
}
mod sealed {
use super::{DefId, LocalDefId};
impl<P> IntoQueryParam<P> for P {
fn into_query_param(self) -> P {
self
/// An analogue of the `Into` trait that's intended only for query paramaters.
///
/// This exists to allow queries to accept either `DefId` or `LocalDefId` while requiring that the
/// user call `to_def_id` to convert between them everywhere else.
pub trait IntoQueryParam<P> {
fn into_query_param(self) -> P;
}
impl<P> IntoQueryParam<P> for P {
fn into_query_param(self) -> P {
self
}
}
impl IntoQueryParam<DefId> for LocalDefId {
fn into_query_param(self) -> DefId {
self.to_def_id()
}
}
}
impl IntoQueryParam<DefId> for LocalDefId {
fn into_query_param(self) -> DefId {
self.to_def_id()
}
}
use sealed::IntoQueryParam;

View file

@ -237,12 +237,6 @@ impl fmt::Debug for LocalDefId {
}
}
impl From<LocalDefId> for DefId {
fn from(v: LocalDefId) -> Self {
v.to_def_id()
}
}
impl rustc_serialize::UseSpecializedEncodable for LocalDefId {}
impl rustc_serialize::UseSpecializedDecodable for LocalDefId {}