diff --git a/src/chunk.rs b/src/chunk.rs index 41db244..022fa51 100644 --- a/src/chunk.rs +++ b/src/chunk.rs @@ -482,8 +482,6 @@ impl Chunk<'_> { /// Sets or overwrites a Luau compiler used for this chunk. /// /// See [`Compiler`] for details and possible options. - /// - /// Requires `feature = "luau"` #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] pub fn set_compiler(mut self, compiler: Compiler) -> Self { @@ -502,8 +500,6 @@ impl Chunk<'_> { /// /// See [`exec`] for more details. /// - /// Requires `feature = "async"` - /// /// [`exec`]: Chunk::exec #[cfg(feature = "async")] #[cfg_attr(docsrs, doc(cfg(feature = "async")))] @@ -534,8 +530,6 @@ impl Chunk<'_> { /// /// See [`eval`] for more details. /// - /// Requires `feature = "async"` - /// /// [`eval`]: Chunk::eval #[cfg(feature = "async")] #[cfg_attr(docsrs, doc(cfg(feature = "async")))] @@ -563,8 +557,6 @@ impl Chunk<'_> { /// /// See [`call`] for more details. /// - /// Requires `feature = "async"` - /// /// [`call`]: Chunk::call #[cfg(feature = "async")] #[cfg_attr(docsrs, doc(cfg(feature = "async")))] diff --git a/src/function.rs b/src/function.rs index ef39b2c..0fae332 100644 --- a/src/function.rs +++ b/src/function.rs @@ -134,8 +134,6 @@ impl Function { /// Internally it wraps the function to an [`AsyncThread`]. The returned type implements /// `Future>` and can be awaited. /// - /// Requires `feature = "async"` - /// /// # Examples /// /// ``` @@ -433,8 +431,6 @@ impl Function { /// /// Recording of coverage information is controlled by [`Compiler::set_coverage_level`] option. /// - /// Requires `feature = "luau"` - /// /// [`Compiler::set_coverage_level`]: crate::chunk::Compiler::set_coverage_level #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] @@ -494,8 +490,6 @@ impl Function { /// Copies the function prototype and all its upvalues to the /// newly created function. /// This function returns shallow clone (same handle) for Rust/C functions. - /// - /// Requires `feature = "luau"` #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] pub fn deep_clone(&self) -> Self { diff --git a/src/hook.rs b/src/hook.rs index d650dd8..4c8c256 100644 --- a/src/hook.rs +++ b/src/hook.rs @@ -265,14 +265,18 @@ pub struct DebugStack { /// Number of upvalues. pub num_ups: u8, /// Number of parameters. - /// - /// Requires `feature = "lua54/lua53/lua52/luau"` #[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luau"))] + #[cfg_attr( + docsrs, + doc(cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luau"))) + )] pub num_params: u8, /// Whether the function is a vararg function. - /// - /// Requires `feature = "lua54/lua53/lua52/luau"` #[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luau"))] + #[cfg_attr( + docsrs, + doc(cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luau"))) + )] pub is_vararg: bool, } diff --git a/src/serde/mod.rs b/src/serde/mod.rs index 2ba30e5..f475214 100644 --- a/src/serde/mod.rs +++ b/src/serde/mod.rs @@ -17,8 +17,6 @@ use crate::value::Value; pub trait LuaSerdeExt: Sealed { /// A special value (lightuserdata) to encode/decode optional (none) values. /// - /// Requires `feature = "serialize"` - /// /// # Example /// /// ``` @@ -42,8 +40,6 @@ pub trait LuaSerdeExt: Sealed { /// As result, encoded Array will contain only sequence part of the table, with the same length /// as the `#` operator on that table. /// - /// Requires `feature = "serialize"` - /// /// # Example /// /// ``` @@ -71,8 +67,6 @@ pub trait LuaSerdeExt: Sealed { /// Converts `T` into a [`Value`] instance. /// - /// Requires `feature = "serialize"` - /// /// [`Value`]: crate::Value /// /// # Example @@ -104,8 +98,6 @@ pub trait LuaSerdeExt: Sealed { /// Converts `T` into a [`Value`] instance with options. /// - /// Requires `feature = "serialize"` - /// /// # Example /// /// ``` @@ -129,8 +121,6 @@ pub trait LuaSerdeExt: Sealed { /// Deserializes a [`Value`] into any serde deserializable object. /// - /// Requires `feature = "serialize"` - /// /// # Example /// /// ``` @@ -158,8 +148,6 @@ pub trait LuaSerdeExt: Sealed { /// Deserializes a [`Value`] into any serde deserializable object with options. /// - /// Requires `feature = "serialize"` - /// /// # Example /// /// ``` diff --git a/src/state.rs b/src/state.rs index 69b39e6..53a19e6 100644 --- a/src/state.rs +++ b/src/state.rs @@ -74,7 +74,6 @@ pub(crate) struct LuaGuard(ArcReentrantMutexGuard); #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum GCMode { Incremental, - /// Requires `feature = "lua54"` #[cfg(feature = "lua54")] #[cfg_attr(docsrs, doc(cfg(feature = "lua54")))] Generational, @@ -511,8 +510,6 @@ impl Lua { /// # #[cfg(not(feature = "luau"))] /// # fn main() {} /// ``` - /// - /// Requires `feature = "luau"` #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] pub fn sandbox(&self, enabled: bool) -> Result<()> { @@ -812,8 +809,6 @@ impl Lua { } /// Sets the warning function to be used by Lua to emit warnings. - /// - /// Requires `feature = "lua54"` #[cfg(feature = "lua54")] #[cfg_attr(docsrs, doc(cfg(feature = "lua54")))] pub fn set_warning_function(&self, callback: F) @@ -847,8 +842,6 @@ impl Lua { /// Removes warning function previously set by `set_warning_function`. /// /// This function has no effect if a warning function was not previously set. - /// - /// Requires `feature = "lua54"` #[cfg(feature = "lua54")] #[cfg_attr(docsrs, doc(cfg(feature = "lua54")))] pub fn remove_warning_function(&self) { @@ -863,8 +856,6 @@ impl Lua { /// /// A message in a call with `incomplete` set to `true` should be continued in /// another call to this function. - /// - /// Requires `feature = "lua54"` #[cfg(feature = "lua54")] #[cfg_attr(docsrs, doc(cfg(feature = "lua54")))] pub fn warning(&self, msg: impl AsRef, incomplete: bool) { @@ -939,8 +930,6 @@ impl Lua { } /// Returns `true` if the garbage collector is currently running automatically. - /// - /// Requires `feature = "lua54/lua53/lua52/luau"` #[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luau"))] pub fn gc_is_running(&self) -> bool { let lua = self.lock(); @@ -1078,8 +1067,6 @@ impl Lua { /// Returns the previous mode. More information about the generational GC /// can be found in the Lua 5.4 [documentation][lua_doc]. /// - /// Requires `feature = "lua54"` - /// /// [lua_doc]: https://www.lua.org/manual/5.4/manual.html#2.5.2 #[cfg(feature = "lua54")] #[cfg_attr(docsrs, doc(cfg(feature = "lua54")))] @@ -1100,8 +1087,6 @@ impl Lua { /// including via `require` function. /// /// See [`Compiler`] for details and possible options. - /// - /// Requires `feature = "luau"` #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] pub fn set_compiler(&self, compiler: Compiler) { @@ -1176,8 +1161,6 @@ impl Lua { /// Create and return a Luau [buffer] object from a byte slice of data. /// - /// Requires `feature = "luau"` - /// /// [buffer]: https://luau.org/library#buffer-library #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] @@ -1342,8 +1325,6 @@ impl Lua { /// /// The family of `call_async()` functions takes care about creating [`Thread`]. /// - /// Requires `feature = "async"` - /// /// # Examples /// /// Non blocking sleep: @@ -1409,8 +1390,6 @@ impl Lua { } /// Creates a Lua userdata object from a custom serializable userdata type. - /// - /// Requires `feature = "serialize"` #[cfg(feature = "serialize")] #[cfg_attr(docsrs, doc(cfg(feature = "serialize")))] #[inline] @@ -1439,8 +1418,6 @@ impl Lua { /// Creates a Lua userdata object from a custom serializable Rust type. /// /// See [`Lua::create_any_userdata`] for more details. - /// - /// Requires `feature = "serialize"` #[cfg(feature = "serialize")] #[cfg_attr(docsrs, doc(cfg(feature = "serialize")))] #[inline] diff --git a/src/stdlib.rs b/src/stdlib.rs index c6a26af..78cf772 100644 --- a/src/stdlib.rs +++ b/src/stdlib.rs @@ -6,9 +6,11 @@ pub struct StdLib(u32); impl StdLib { /// [`coroutine`](https://www.lua.org/manual/5.4/manual.html#6.2) library - /// - /// Requires `feature = "lua54/lua53/lua52/luau"` #[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luau"))] + #[cfg_attr( + docsrs, + doc(cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luau"))) + )] pub const COROUTINE: StdLib = StdLib(1); /// [`table`](https://www.lua.org/manual/5.4/manual.html#6.6) library @@ -26,15 +28,16 @@ impl StdLib { pub const STRING: StdLib = StdLib(1 << 4); /// [`utf8`](https://www.lua.org/manual/5.4/manual.html#6.5) library - /// - /// Requires `feature = "lua54/lua53/luau"` #[cfg(any(feature = "lua54", feature = "lua53", feature = "luau"))] + #[cfg_attr(docsrs, doc(cfg(any(feature = "lua54", feature = "lua53", feature = "luau"))))] pub const UTF8: StdLib = StdLib(1 << 5); /// [`bit`](https://www.lua.org/manual/5.2/manual.html#6.7) library - /// - /// Requires `feature = "lua52/luajit/luau"` #[cfg(any(feature = "lua52", feature = "luajit", feature = "luau", doc))] + #[cfg_attr( + docsrs, + doc(cfg(any(feature = "lua52", feature = "luajit", feature = "luau"))) + )] pub const BIT: StdLib = StdLib(1 << 6); /// [`math`](https://www.lua.org/manual/5.4/manual.html#6.7) library @@ -56,15 +59,11 @@ impl StdLib { pub const VECTOR: StdLib = StdLib(1 << 10); /// [`jit`](http://luajit.org/ext_jit.html) library - /// - /// Requires `feature = "luajit"` #[cfg(any(feature = "luajit", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luajit")))] pub const JIT: StdLib = StdLib(1 << 11); /// (**unsafe**) [`ffi`](http://luajit.org/ext_ffi.html) library - /// - /// Requires `feature = "luajit"` #[cfg(any(feature = "luajit", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luajit")))] pub const FFI: StdLib = StdLib(1 << 30); diff --git a/src/table.rs b/src/table.rs index aa8e680..9222868 100644 --- a/src/table.rs +++ b/src/table.rs @@ -537,8 +537,6 @@ impl Table { } /// Sets `readonly` attribute on the table. - /// - /// Requires `feature = "luau"` #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] pub fn set_readonly(&self, enabled: bool) { @@ -554,8 +552,6 @@ impl Table { } /// Returns `readonly` attribute of the table. - /// - /// Requires `feature = "luau"` #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] pub fn is_readonly(&self) -> bool { @@ -573,8 +569,6 @@ impl Table { /// - Fast-path for some built-in functions (fastcall). /// /// For `safeenv` environments, monkey patching or modifying values may not work as expected. - /// - /// Requires `feature = "luau"` #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] pub fn set_safeenv(&self, enabled: bool) { diff --git a/src/thread.rs b/src/thread.rs index 14ff04a..39394ce 100644 --- a/src/thread.rs +++ b/src/thread.rs @@ -79,8 +79,6 @@ unsafe impl Sync for Thread {} /// Thread (coroutine) representation as an async [`Future`] or [`Stream`]. /// -/// Requires `feature = "async"` -/// /// [`Future`]: std::future::Future /// [`Stream`]: futures_util::stream::Stream #[cfg(feature = "async")] @@ -356,8 +354,6 @@ impl Thread { /// values whereas [`Future`] version discards that values and poll until the final /// one (returned from the thread function). /// - /// Requires `feature = "async"` - /// /// [`Future`]: std::future::Future /// [`Stream`]: futures_util::stream::Stream /// [`resume`]: https://www.lua.org/manual/5.4/manual.html#lua_resume @@ -455,8 +451,6 @@ impl Thread { /// # #[cfg(not(feature = "luau"))] /// # fn main() { } /// ``` - /// - /// Requires `feature = "luau"` #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] #[doc(hidden)] diff --git a/src/traits.rs b/src/traits.rs index 794e9c3..02373e2 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -175,8 +175,6 @@ pub trait ObjectLike: Sealed { /// Gets the function associated to key `name` from the object and asynchronously calls it, /// passing the object itself along with `args` as function arguments. /// - /// Requires `feature = "async"` - /// /// This might invoke the `__index` metamethod. #[cfg(feature = "async")] #[cfg_attr(docsrs, doc(cfg(feature = "async")))] @@ -195,8 +193,6 @@ pub trait ObjectLike: Sealed { /// Gets the function associated to key `name` from the object and asynchronously calls it, /// passing `args` as function arguments. /// - /// Requires `feature = "async"` - /// /// This might invoke the `__index` metamethod. #[cfg(feature = "async")] #[cfg_attr(docsrs, doc(cfg(feature = "async")))] diff --git a/src/userdata.rs b/src/userdata.rs index f8d5ebe..2db8fa5 100644 --- a/src/userdata.rs +++ b/src/userdata.rs @@ -56,30 +56,32 @@ pub enum MetaMethod { /// The unary minus (`-`) operator. Unm, /// The floor division (//) operator. - /// Requires `feature = "lua54/lua53/luau"` #[cfg(any(feature = "lua54", feature = "lua53", feature = "luau"))] + #[cfg_attr(docsrs, doc(cfg(any(feature = "lua54", feature = "lua53", feature = "luau"))))] IDiv, /// The bitwise AND (&) operator. - /// Requires `feature = "lua54/lua53"` #[cfg(any(feature = "lua54", feature = "lua53"))] + #[cfg_attr(docsrs, doc(cfg(any(feature = "lua54", feature = "lua53"))))] BAnd, /// The bitwise OR (|) operator. - /// Requires `feature = "lua54/lua53"` #[cfg(any(feature = "lua54", feature = "lua53"))] + #[cfg_attr(docsrs, doc(cfg(any(feature = "lua54", feature = "lua53"))))] BOr, /// The bitwise XOR (binary ~) operator. - /// Requires `feature = "lua54/lua53"` #[cfg(any(feature = "lua54", feature = "lua53"))] + #[cfg_attr(docsrs, doc(cfg(any(feature = "lua54", feature = "lua53"))))] BXor, /// The bitwise NOT (unary ~) operator. - /// Requires `feature = "lua54/lua53"` #[cfg(any(feature = "lua54", feature = "lua53"))] + #[cfg_attr(docsrs, doc(cfg(any(feature = "lua54", feature = "lua53"))))] BNot, /// The bitwise left shift (<<) operator. #[cfg(any(feature = "lua54", feature = "lua53"))] + #[cfg_attr(docsrs, doc(cfg(any(feature = "lua54", feature = "lua53"))))] Shl, /// The bitwise right shift (>>) operator. #[cfg(any(feature = "lua54", feature = "lua53"))] + #[cfg_attr(docsrs, doc(cfg(any(feature = "lua54", feature = "lua53"))))] Shr, /// The string concatenation operator `..`. Concat, @@ -104,16 +106,16 @@ pub enum MetaMethod { /// The `__pairs` metamethod. /// /// This is not an operator, but it will be called by the built-in `pairs` function. - /// - /// Requires `feature = "lua54/lua53/lua52"` - #[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luajit52",))] + #[cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luajit52"))] + #[cfg_attr( + docsrs, + doc(cfg(any(feature = "lua54", feature = "lua53", feature = "lua52", feature = "luajit52"))) + )] Pairs, /// The `__ipairs` metamethod. /// /// This is not an operator, but it will be called by the built-in [`ipairs`] function. /// - /// Requires `feature = "lua52"` - /// /// [`ipairs`]: https://www.lua.org/manual/5.2/manual.html#pdf-ipairs #[cfg(any(feature = "lua52", feature = "luajit52", doc))] #[cfg_attr(docsrs, doc(cfg(any(feature = "lua52", feature = "luajit52"))))] @@ -122,8 +124,6 @@ pub enum MetaMethod { /// /// Executed before the iteration begins, and should return an iterator function like `next` /// (or a custom one). - /// - /// Requires `feature = "lua"` #[cfg(any(feature = "luau", doc))] #[cfg_attr(docsrs, doc(cfg(feature = "luau")))] Iter, @@ -134,8 +134,6 @@ pub enum MetaMethod { /// More information about to-be-closed variables can be found in the Lua 5.4 /// [documentation][lua_doc]. /// - /// Requires `feature = "lua54"` - /// /// [lua_doc]: https://www.lua.org/manual/5.4/manual.html#3.3.8 #[cfg(feature = "lua54")] #[cfg_attr(docsrs, doc(cfg(feature = "lua54")))] @@ -272,8 +270,6 @@ pub trait UserDataMethods { /// /// Refer to [`add_method`] for more information about the implementation. /// - /// Requires `feature = "async"` - /// /// [`add_method`]: UserDataMethods::add_method #[cfg(feature = "async")] #[cfg_attr(docsrs, doc(cfg(feature = "async")))] @@ -289,8 +285,6 @@ pub trait UserDataMethods { /// /// Refer to [`add_method`] for more information about the implementation. /// - /// Requires `feature = "async"` - /// /// [`add_method`]: UserDataMethods::add_method #[cfg(feature = "async")] #[cfg_attr(docsrs, doc(cfg(feature = "async")))] @@ -329,8 +323,6 @@ pub trait UserDataMethods { /// /// This is an async version of [`add_function`]. /// - /// Requires `feature = "async"` - /// /// [`add_function`]: UserDataMethods::add_function #[cfg(feature = "async")] #[cfg_attr(docsrs, doc(cfg(feature = "async")))] @@ -373,11 +365,12 @@ pub trait UserDataMethods { /// /// This is an async version of [`add_meta_method`]. /// - /// Requires `feature = "async"` - /// /// [`add_meta_method`]: UserDataMethods::add_meta_method #[cfg(all(feature = "async", not(any(feature = "lua51", feature = "luau"))))] - #[cfg_attr(docsrs, doc(cfg(feature = "async")))] + #[cfg_attr( + docsrs, + doc(cfg(all(feature = "async", not(any(feature = "lua51", feature = "luau"))))) + )] fn add_async_meta_method(&mut self, name: impl ToString, method: M) where T: 'static, @@ -391,8 +384,6 @@ pub trait UserDataMethods { /// /// This is an async version of [`add_meta_method_mut`]. /// - /// Requires `feature = "async"` - /// /// [`add_meta_method_mut`]: UserDataMethods::add_meta_method_mut #[cfg(all(feature = "async", not(any(feature = "lua51", feature = "luau"))))] #[cfg_attr(docsrs, doc(cfg(feature = "async")))] @@ -430,11 +421,12 @@ pub trait UserDataMethods { /// /// This is an async version of [`add_meta_function`]. /// - /// Requires `feature = "async"` - /// /// [`add_meta_function`]: UserDataMethods::add_meta_function #[cfg(all(feature = "async", not(any(feature = "lua51", feature = "luau"))))] - #[cfg_attr(docsrs, doc(cfg(feature = "async")))] + #[cfg_attr( + docsrs, + doc(cfg(all(feature = "async", not(any(feature = "lua51", feature = "luau"))))) + )] fn add_async_meta_function(&mut self, name: impl ToString, function: F) where F: Fn(Lua, A) -> FR + MaybeSend + 'static,