Remove rustc_transmute's dependence on rustc_infer.

`TransmuteTypeEnv` only needs a `TyCtxt`, not an `InferCtxt`.
This commit is contained in:
Nicholas Nethercote 2025-02-28 16:34:41 +11:00
parent 00f245915b
commit 5f58985f5d
6 changed files with 9 additions and 13 deletions

View file

@ -8,7 +8,6 @@ edition = "2024"
rustc_abi = { path = "../rustc_abi", optional = true }
rustc_data_structures = { path = "../rustc_data_structures" }
rustc_hir = { path = "../rustc_hir", optional = true }
rustc_infer = { path = "../rustc_infer", optional = true }
rustc_macros = { path = "../rustc_macros", optional = true }
rustc_middle = { path = "../rustc_middle", optional = true }
rustc_span = { path = "../rustc_span", optional = true }
@ -19,7 +18,6 @@ tracing = "0.1"
rustc = [
"dep:rustc_abi",
"dep:rustc_hir",
"dep:rustc_infer",
"dep:rustc_macros",
"dep:rustc_middle",
"dep:rustc_span",

View file

@ -81,7 +81,6 @@ pub enum Reason<T> {
#[cfg(feature = "rustc")]
mod rustc {
use rustc_hir::lang_items::LangItem;
use rustc_infer::infer::InferCtxt;
use rustc_macros::TypeVisitable;
use rustc_middle::traits::ObligationCause;
use rustc_middle::ty::{Const, ParamEnv, Ty, TyCtxt};
@ -97,13 +96,13 @@ mod rustc {
pub dst: Ty<'tcx>,
}
pub struct TransmuteTypeEnv<'cx, 'tcx> {
infcx: &'cx InferCtxt<'tcx>,
pub struct TransmuteTypeEnv<'tcx> {
tcx: TyCtxt<'tcx>,
}
impl<'cx, 'tcx> TransmuteTypeEnv<'cx, 'tcx> {
pub fn new(infcx: &'cx InferCtxt<'tcx>) -> Self {
Self { infcx }
impl<'tcx> TransmuteTypeEnv<'tcx> {
pub fn new(tcx: TyCtxt<'tcx>) -> Self {
Self { tcx }
}
#[allow(unused)]
@ -117,7 +116,7 @@ mod rustc {
types.src,
types.dst,
assume,
self.infcx.tcx,
self.tcx,
)
.answer()
}