#![doc = include_str!("../examples/display.rs")]
#, "/source/examples/).")]
#![feature(ptr_metadata, pointer_byte_offsets)]
#![cfg_attr(doc, feature(doc_cfg))]
#![warn(
clippy::all,
clippy::pedantic,
clippy::nursery,
clippy::perf,
clippy::cargo,
clippy::alloc_instead_of_core,
clippy::std_instead_of_alloc,
clippy::std_instead_of_core,
clippy::get_unwrap,
clippy::panic_in_result_fn,
clippy::pub_without_shorthand,
clippy::redundant_type_annotations,
clippy::todo,
clippy::undocumented_unsafe_blocks
)]
#![cfg_attr(not(feature = "std"), no_std)]
#[cfg(test)]
mod compile_tests;
mod dyn_slice;
mod dyn_slice_mut;
mod iter;
mod iter_mut;
pub mod standard;
pub use dyn_slice::*;
pub use dyn_slice_mut::*;
pub use iter::*;
pub use iter_mut::*;
#[doc = concat!("There are more examples of how to use [`declare_new_fns`] in the [examples directory](https://docs.rs/crate/dyn-slice/", env!("CARGO_PKG_VERSION"), "/source/examples/).")]
pub use dyn_slice_macros::declare_new_fns;
#[deprecated(
since = "3.2.0",
note = "this has been replaced with `declare_new_fns`. Convert to the new macro or expand this one"
)]
#[macro_export]
macro_rules! declare_new_fn {
(
$(#[ $meta:meta ])*
$(< $( $gen:ident ),* >,)?
$tr:path $( :<$( $trgen:ident ),*> )? $(:+ $atr:path )*,
$vis:vis $name:ident $(,)?
) => {
$crate::declare_new_fns!(
$(#[ $meta ])*
$vis $name $(< $( $gen ),* >)?
$tr $(< $( $trgen ),* >)?
);
};
}