about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCelina G. Val <celinval@amazon.com>2024-01-17 19:35:19 -0800
committerCelina G. Val <celinval@amazon.com>2024-01-17 19:59:57 -0800
commit6a573cbc60af8319e11cf0f0a578f8a12caa932d (patch)
tree638a8f1a40ef4efda52697dff3d1f10cef5bac78
parent2564811e7b7464d4e2ab8cd5a826bf7c2f9f7d8b (diff)
downloadrust-6a573cbc60af8319e11cf0f0a578f8a12caa932d.tar.gz
rust-6a573cbc60af8319e11cf0f0a578f8a12caa932d.zip
Revert changes to internal method for now
- Move fix to a separate PR
-rw-r--r--compiler/rustc_smir/src/rustc_internal/mod.rs28
-rw-r--r--compiler/rustc_smir/src/rustc_smir/context.rs5
-rw-r--r--tests/ui-fulldeps/stable-mir/smir_internal.rs4
3 files changed, 6 insertions, 31 deletions
diff --git a/compiler/rustc_smir/src/rustc_internal/mod.rs b/compiler/rustc_smir/src/rustc_internal/mod.rs
index 873bd94e88f..b99640d2f2d 100644
--- a/compiler/rustc_smir/src/rustc_internal/mod.rs
+++ b/compiler/rustc_smir/src/rustc_internal/mod.rs
@@ -24,35 +24,11 @@ use std::ops::Index;
 mod internal;
 pub mod pretty;
 
-/// Convert an internal Rust compiler item into its stable counterpart, if one exists.
-///
-/// # Warning
-///
-/// This function is unstable, and its behavior may change at any point.
-/// E.g.: Items that were previously supported, may no longer be supported, or its translation may
-/// change.
-///
-/// # Panics
-///
-/// This function will panic if StableMIR has not been properly initialized.
 pub fn stable<'tcx, S: Stable<'tcx>>(item: S) -> S::T {
     with_tables(|tables| item.stable(tables))
 }
 
-/// Convert a stable item into its internal Rust compiler counterpart, if one exists.
-///
-/// # Warning
-///
-/// This function is unstable, and it's behavior may change at any point.
-/// Not every stable item can be converted to an internal one.
-/// Furthermore, items that were previously supported, may no longer be supported in newer versions.
-///
-/// # Panics
-///
-/// This function will panic if StableMIR has not been properly initialized.
-pub fn internal<'tcx, S: RustcInternal<'tcx>>(tcx: TyCtxt<'tcx>, item: S) -> S::T {
-    // The tcx argument ensures that the item won't outlive the type context.
-    let _ = tcx;
+pub fn internal<'tcx, S: RustcInternal<'tcx>>(item: S) -> S::T {
     with_tables(|tables| item.internal(tables))
 }
 
@@ -293,7 +269,7 @@ macro_rules! optional {
     };
 }
 
-/// Prefer using [run] and [run_with_tcx] instead.
+/// Prefer using [run!] and [run_with_tcx] instead.
 ///
 /// This macro implements the instantiation of a StableMIR driver, and it will invoke
 /// the given callback after the compiler analyses.
diff --git a/compiler/rustc_smir/src/rustc_smir/context.rs b/compiler/rustc_smir/src/rustc_smir/context.rs
index 2a2626654a0..fffc454804d 100644
--- a/compiler/rustc_smir/src/rustc_smir/context.rs
+++ b/compiler/rustc_smir/src/rustc_smir/context.rs
@@ -29,7 +29,7 @@ use stable_mir::{Crate, CrateItem, CrateNum, DefId, Error, Filename, ItemKind, S
 use std::cell::RefCell;
 use std::iter;
 
-use crate::rustc_internal::RustcInternal;
+use crate::rustc_internal::{internal, RustcInternal};
 use crate::rustc_smir::builder::BodyBuilder;
 use crate::rustc_smir::{alloc, new_item_kind, smir_crate, Stable, Tables};
 
@@ -322,8 +322,7 @@ impl<'tcx> Context for TablesWrapper<'tcx> {
     }
 
     fn const_literal(&self, cnst: &stable_mir::ty::Const) -> String {
-        let mut tables = self.0.borrow_mut();
-        cnst.internal(&mut *tables).to_string()
+        internal(cnst).to_string()
     }
 
     fn span_of_an_item(&self, def_id: stable_mir::DefId) -> Span {
diff --git a/tests/ui-fulldeps/stable-mir/smir_internal.rs b/tests/ui-fulldeps/stable-mir/smir_internal.rs
index b0811364c09..b4faaeb4fc0 100644
--- a/tests/ui-fulldeps/stable-mir/smir_internal.rs
+++ b/tests/ui-fulldeps/stable-mir/smir_internal.rs
@@ -26,11 +26,11 @@ use std::ops::ControlFlow;
 
 const CRATE_NAME: &str = "input";
 
-fn test_translation(tcx: TyCtxt) -> ControlFlow<()> {
+fn test_translation(_tcx: TyCtxt) -> ControlFlow<()> {
     let main_fn = stable_mir::entry_fn().unwrap();
     let body = main_fn.body();
     let orig_ty = body.locals()[0].ty;
-    let rustc_ty = rustc_internal::internal(tcx, &orig_ty);
+    let rustc_ty = rustc_internal::internal(&orig_ty);
     assert!(rustc_ty.is_unit());
     ControlFlow::Continue(())
 }