Skip to content

Commit cddbcc5

Browse files
committed
Refactor crate-root re-exports and drop hidden backward-compat aliases
1 parent 1af17ec commit cddbcc5

13 files changed

Lines changed: 60 additions & 66 deletions

File tree

examples/async_http_server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use hyper::{Request, Response};
1111
use hyper_util::rt::TokioIo;
1212
use tokio::net::TcpListener;
1313

14-
use mlua::{Error as LuaError, Function, Lua, String as LuaString, Table, UserData, UserDataMethods, chunk};
14+
use mlua::{Error as LuaError, Function, Lua, LuaString, Table, UserData, UserDataMethods, chunk};
1515

1616
/// Wrapper around incoming request that implements UserData
1717
struct LuaRequest(SocketAddr, Request<Incoming>);

mlua_derive/src/chunk/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ impl Chunk {
109109
});
110110

111111
quote! {{
112-
use mlua::{AsChunk, ChunkMode, Lua, Result, Table};
112+
use mlua::chunk::{AsChunk, ChunkMode};
113+
use mlua::{Lua, Result, Table};
113114
use ::std::borrow::Cow;
114115
use ::std::cell::Cell;
115116
use ::std::io::Result as IoResult;

src/lib.rs

Lines changed: 15 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@
5757
//! the same thread.
5858
//!
5959
//! [Lua programming language]: https://www.lua.org/
60-
//! [executing]: crate::Chunk::exec
61-
//! [evaluating]: crate::Chunk::eval
60+
//! [executing]: crate::chunk::Chunk::exec
61+
//! [evaluating]: crate::chunk::Chunk::eval
6262
//! [globals]: crate::Lua::globals
6363
//! [`Future`]: std::future::Future
6464
//! [`serde::Serialize`]: https://docs.serde.rs/serde/ser/trait.Serialize.html
@@ -108,6 +108,7 @@ pub use inventory as __inventory;
108108

109109
#[doc(inline)]
110110
pub use crate::error::{Error, Result};
111+
pub use crate::error::{ErrorContext, ExternalError, ExternalResult};
111112
#[doc(inline)]
112113
pub use crate::function::Function;
113114
pub use crate::multi::{MultiValue, Variadic};
@@ -116,7 +117,8 @@ pub use crate::scope::Scope;
116117
pub use crate::state::{Lua, LuaOptions, WeakLua};
117118
pub use crate::stdlib::StdLib;
118119
#[doc(inline)]
119-
pub use crate::string::{BorrowedBytes, BorrowedStr, LuaString};
120+
pub use crate::string::LuaString;
121+
pub use crate::string::{BorrowedBytes, BorrowedStr};
120122
#[doc(inline)]
121123
pub use crate::table::Table;
122124
#[doc(inline)]
@@ -128,43 +130,24 @@ pub use crate::types::{
128130
VmState,
129131
};
130132
#[doc(inline)]
131-
pub use crate::userdata::AnyUserData;
133+
pub use crate::userdata::{AnyUserData, UserData};
134+
pub use crate::userdata::{
135+
MetaMethod, UserDataFields, UserDataMethods, UserDataOwned, UserDataRef, UserDataRefMut, UserDataRegistry,
136+
};
132137
pub use crate::value::{Nil, Value};
133138

134-
// Re-export some types to keep backward compatibility and avoid breaking changes in the public API.
135-
#[doc(hidden)]
136-
pub use crate::chunk::{AsChunk, Chunk, ChunkMode};
137-
#[cfg(feature = "luau")]
138-
#[doc(hidden)]
139-
pub use crate::chunk::{CompileConstant, Compiler};
140-
#[doc(hidden)]
141-
pub use crate::error::{ErrorContext, ExternalError, ExternalResult};
142-
#[doc(hidden)]
143-
pub use crate::string::LuaString as String;
144-
#[doc(hidden)]
145-
pub use crate::table::{TablePairs, TableSequence};
139+
/// Deprecated alias to [`LuaString`].
140+
#[deprecated(since = "0.12.0", note = "use `mlua::LuaString` instead")]
146141
#[doc(hidden)]
147-
pub use crate::thread::{ThreadEvent, ThreadStatus, ThreadTriggers};
148-
#[doc(hidden)]
149-
pub use crate::userdata::{
150-
MetaMethod, UserData, UserDataFields, UserDataMetatable, UserDataMethods, UserDataOwned, UserDataRef,
151-
UserDataRefMut, UserDataRegistry,
152-
};
142+
pub type String = crate::string::LuaString;
153143

154144
#[cfg(not(feature = "luau"))]
155-
#[doc(inline)]
156145
pub use crate::debug::HookTriggers;
157146

158-
#[cfg(any(feature = "luau-jit", doc))]
159-
#[doc(inline)]
160-
pub use crate::state::JitOptions;
161147
#[cfg(any(feature = "luau", doc))]
162148
#[cfg_attr(docsrs, doc(cfg(feature = "luau")))]
163149
pub use crate::{buffer::Buffer, vector::Vector};
164150

165-
#[cfg(feature = "serde")]
166-
#[doc(hidden)]
167-
pub use crate::serde::{DeserializeOptions, SerializeOptions};
168151
#[cfg(feature = "serde")]
169152
#[doc(inline)]
170153
pub use crate::{serde::LuaSerdeExt, value::SerializableValue};
@@ -196,7 +179,9 @@ pub use mlua_derive::FromLua;
196179
#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
197180
pub use mlua_derive::UserData;
198181

199-
#[doc(hidden)]
182+
/// Registers items in an `impl` block as methods/fields of a [`UserData`](trait@UserData) type.
183+
///
184+
/// See the [`UserData`](derive@UserData) derive macro documentation for usage details.
200185
#[cfg(feature = "macros")]
201186
#[cfg_attr(docsrs, doc(cfg(feature = "macros")))]
202187
pub use mlua_derive::userdata_impl;

src/prelude.rs

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,26 @@
33
#[doc(no_inline)]
44
pub use crate::{
55
AnyUserData as LuaAnyUserData, BorrowedBytes as LuaBorrowedBytes, BorrowedStr as LuaBorrowedStr,
6-
Either as LuaEither, Error as LuaError, FromLua, FromLuaMulti, Function as LuaFunction,
7-
Integer as LuaInteger, IntoLua, IntoLuaMulti, LightUserData as LuaLightUserData, Lua, LuaOptions,
8-
LuaString, MetaMethod as LuaMetaMethod, MultiValue as LuaMultiValue, Nil as LuaNil, Number as LuaNumber,
9-
ObjectLike as LuaObjectLike, RegistryKey as LuaRegistryKey, Result as LuaResult, StdLib as LuaStdLib,
10-
Table as LuaTable, Thread as LuaThread, UserData as LuaUserData, UserDataFields as LuaUserDataFields,
11-
UserDataMetatable as LuaUserDataMetatable, UserDataMethods as LuaUserDataMethods,
6+
Either as LuaEither, Error as LuaError, ErrorContext as LuaErrorContext,
7+
ExternalError as LuaExternalError, ExternalResult as LuaExternalResult, FromLua, FromLuaMulti,
8+
Function as LuaFunction, Integer as LuaInteger, IntoLua, IntoLuaMulti, LightUserData as LuaLightUserData,
9+
Lua, LuaOptions, LuaString, MetaMethod as LuaMetaMethod, MultiValue as LuaMultiValue, Nil as LuaNil,
10+
Number as LuaNumber, ObjectLike as LuaObjectLike, RegistryKey as LuaRegistryKey, Result as LuaResult,
11+
StdLib as LuaStdLib, Table as LuaTable, Thread as LuaThread, UserData as LuaUserData,
12+
UserDataFields as LuaUserDataFields, UserDataMethods as LuaUserDataMethods,
1213
UserDataOwned as LuaUserDataOwned, UserDataRef as LuaUserDataRef, UserDataRefMut as LuaUserDataRefMut,
1314
UserDataRegistry as LuaUserDataRegistry, Value as LuaValue, Variadic as LuaVariadic,
1415
VmState as LuaVmState, WeakLua, chunk::AsChunk as AsLuaChunk, chunk::Chunk as LuaChunk,
15-
chunk::ChunkMode as LuaChunkMode, error::ErrorContext as LuaErrorContext,
16-
error::ExternalError as LuaExternalError, error::ExternalResult as LuaExternalResult,
17-
function::FunctionInfo as LuaFunctionInfo, function::LuaNativeFn, function::LuaNativeFnMut,
18-
state::GcIncParams as LuaGcIncParams, state::GcMode as LuaGcMode, table::TablePairs as LuaTablePairs,
19-
table::TableSequence as LuaTableSequence, thread::ThreadStatus as LuaThreadStatus,
16+
chunk::ChunkMode as LuaChunkMode, function::FunctionInfo as LuaFunctionInfo, function::LuaNativeFn,
17+
function::LuaNativeFnMut, state::GcIncParams as LuaGcIncParams, state::GcMode as LuaGcMode,
18+
table::TablePairs as LuaTablePairs, table::TableSequence as LuaTableSequence,
19+
thread::ThreadEvent as LuaThreadEvent, thread::ThreadStatus as LuaThreadStatus,
20+
thread::ThreadTriggers as LuaThreadTriggers, userdata::UserDataMetatable as LuaUserDataMetatable,
2021
};
2122

2223
#[cfg(not(feature = "luau"))]
2324
#[doc(no_inline)]
24-
pub use crate::HookTriggers as LuaHookTriggers;
25+
pub use crate::debug::HookTriggers as LuaHookTriggers;
2526

2627
#[cfg(any(feature = "lua54", feature = "lua55"))]
2728
#[doc(no_inline)]
@@ -50,6 +51,6 @@ pub use crate::{function::LuaNativeAsyncFn, thread::AsyncThread as LuaAsyncThrea
5051
#[cfg(feature = "serde")]
5152
#[doc(no_inline)]
5253
pub use crate::{
53-
DeserializeOptions as LuaDeserializeOptions, LuaSerdeExt, SerializableValue as LuaSerializableValue,
54-
SerializeOptions as LuaSerializeOptions,
54+
LuaSerdeExt, SerializableValue as LuaSerializableValue,
55+
serde::DeserializeOptions as LuaDeserializeOptions, serde::SerializeOptions as LuaSerializeOptions,
5556
};

src/serde/mod.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ pub trait LuaSerdeExt: Sealed {
101101
/// # Example
102102
///
103103
/// ```
104-
/// use mlua::{Lua, Result, LuaSerdeExt, SerializeOptions};
104+
/// use mlua::serde::SerializeOptions;
105+
/// use mlua::{Lua, Result, LuaSerdeExt};
105106
///
106107
/// fn main() -> Result<()> {
107108
/// let lua = Lua::new();
@@ -151,7 +152,8 @@ pub trait LuaSerdeExt: Sealed {
151152
/// # Example
152153
///
153154
/// ```
154-
/// use mlua::{Lua, Result, LuaSerdeExt, DeserializeOptions};
155+
/// use mlua::serde::DeserializeOptions;
156+
/// use mlua::{Lua, Result, LuaSerdeExt};
155157
/// use serde::Deserialize;
156158
///
157159
/// #[derive(Deserialize, Debug, PartialEq)]

src/state.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -804,7 +804,8 @@ impl Lua {
804804
///
805805
/// ```
806806
/// # use std::sync::{Arc, atomic::{AtomicU64, Ordering}};
807-
/// # use mlua::{Lua, Result, ThreadStatus, VmState};
807+
/// # use mlua::thread::ThreadStatus;
808+
/// # use mlua::{Lua, Result, VmState};
808809
/// # #[cfg(feature = "luau")]
809810
/// # fn main() -> Result<()> {
810811
/// let lua = Lua::new();
@@ -899,7 +900,8 @@ impl Lua {
899900
/// Subscribe only to yield events:
900901
///
901902
/// ```
902-
/// # use mlua::{Lua, Result, ThreadTriggers, ThreadEvent};
903+
/// # use mlua::thread::{ThreadTriggers, ThreadEvent};
904+
/// # use mlua::{Lua, Result};
903905
/// # fn main() -> Result<()> {
904906
/// let lua = Lua::new();
905907
/// lua.set_thread_event_callback(
@@ -1342,7 +1344,7 @@ impl Lua {
13421344
/// similar on the returned builder. Code is not even parsed until one of these methods is
13431345
/// called.
13441346
///
1345-
/// [`Chunk::exec`]: crate::Chunk::exec
1347+
/// [`Chunk::exec`]: crate::chunk::Chunk::exec
13461348
#[track_caller]
13471349
pub fn load<'a>(&self, chunk: impl AsChunk + 'a) -> Chunk<'a> {
13481350
self.load_with_location(chunk, Location::caller())

tests/chunk.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#[cfg(not(target_os = "wasi"))]
22
use std::{fs, io};
33

4-
use mlua::{Chunk, ChunkMode, Lua, Result};
4+
use mlua::chunk::{Chunk, ChunkMode};
5+
use mlua::{Lua, Result};
56

67
#[test]
78
fn test_chunk_methods() -> Result<()> {
@@ -131,7 +132,7 @@ fn test_chunk_macro() -> Result<()> {
131132
#[cfg(feature = "luau")]
132133
#[test]
133134
fn test_compiler() -> Result<()> {
134-
let compiler = mlua::Compiler::new()
135+
let compiler = mlua::chunk::Compiler::new()
135136
.set_optimization_level(2)
136137
.set_debug_level(2)
137138
.set_type_info_level(1)
@@ -158,7 +159,8 @@ fn test_compiler() -> Result<()> {
158159
#[cfg(feature = "luau")]
159160
#[test]
160161
fn test_compiler_library_constants() {
161-
use mlua::{Compiler, Vector};
162+
use mlua::Vector;
163+
use mlua::chunk::Compiler;
162164

163165
let compiler = Compiler::new()
164166
.set_optimization_level(2)

tests/function.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ fn test_function_dump() -> Result<()> {
239239
fn test_function_coverage() -> Result<()> {
240240
let lua = Lua::new();
241241

242-
lua.set_compiler(mlua::Compiler::default().set_coverage_level(1));
242+
lua.set_compiler(mlua::chunk::Compiler::default().set_coverage_level(1));
243243

244244
let f = lua
245245
.load(

tests/luau.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ use std::fmt::Debug;
44
use std::sync::Arc;
55
use std::sync::atomic::{AtomicU64, Ordering};
66

7-
use mlua::{
8-
Compiler, Error, Function, Lua, LuaOptions, ObjectLike, Result, StdLib, Table, Value, Vector, VmState,
9-
};
7+
use mlua::chunk::Compiler;
8+
use mlua::{Error, Function, Lua, LuaOptions, ObjectLike, Result, StdLib, Table, Value, Vector, VmState};
109

1110
#[test]
1211
fn test_version() -> Result<()> {
@@ -362,7 +361,7 @@ fn test_fflags() {
362361
#[test]
363362
fn test_jit_inliner() -> Result<()> {
364363
let lua = Lua::new();
365-
lua.set_jit_options(mlua::JitOptions::new().inliner(true));
364+
lua.set_jit_options(mlua::state::JitOptions::new().inliner(true));
366365

367366
// An inlinable helper called in a hot loop.
368367
let sum = lua

tests/memory.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ fn test_gc_set_mode_in_finalizer() -> Result<()> {
148148
})?;
149149
lua.globals().set("finalizer", finalizer)?;
150150
lua.load("setmetatable({}, { __gc = finalizer })").exec()?;
151-
lua.globals().remove("finalizer")?;
151+
lua.globals().raw_remove("finalizer")?;
152152

153153
lua.gc_collect()?;
154154
lua.gc_collect()?;

0 commit comments

Comments
 (0)