diff --git a/src/state.rs b/src/state.rs
index fef8f39a..9734a601 100644
--- a/src/state.rs
+++ b/src/state.rs
@@ -344,36 +344,6 @@ impl Lua {
loaded.raw_set(modname, Nil)
}
- /// Consumes and leaks `Lua` object, returning a static reference `&'static Lua`.
- ///
- /// This function is useful when the `Lua` object is supposed to live for the remainder
- /// of the program's life.
- ///
- /// Dropping the returned reference will cause a memory leak. If this is not acceptable,
- /// the reference should first be wrapped with the [`Lua::from_static`] function producing a
- /// `Lua`. This `Lua` object can then be dropped which will properly release the allocated
- /// memory.
- ///
- /// [`Lua::from_static`]: #method.from_static
- ///
- /// FIXME: remove
- #[doc(hidden)]
- pub fn into_static(self) -> &'static Self {
- Box::leak(Box::new(self))
- }
-
- /// Constructs a `Lua` from a static reference to it.
- ///
- /// # Safety
- /// This function is unsafe because improper use may lead to memory problems or undefined
- /// behavior.
- ///
- /// FIXME: remove
- #[doc(hidden)]
- pub unsafe fn from_static(lua: &'static Lua) -> Self {
- *Box::from_raw(lua as *const Lua as *mut Lua)
- }
-
// Executes module entrypoint function, which returns only one Value.
// The returned value then pushed onto the stack.
#[doc(hidden)]
diff --git a/tests/static.rs b/tests/static.rs
deleted file mode 100644
index aeb7eca7..00000000
--- a/tests/static.rs
+++ /dev/null
@@ -1,122 +0,0 @@
-use std::cell::RefCell;
-
-use mlua::{Lua, Result, Table};
-
-#[test]
-fn test_static_lua() -> Result<()> {
- let lua = Lua::new().into_static();
-
- thread_local! {
- static TABLE: RefCell