cl_aux/traits/
dyn_string.rs1use crate::{Capacity, Clear, Push, Truncate, WithCapacity};
2use core::{
3 fmt::Write,
4 ops::{Deref, DerefMut},
5};
6
7#[cfg_attr(feature = "alloc", doc = "```rust")]
12#[cfg_attr(not(feature = "alloc"), doc = "```ignore")]
13pub trait DynString:
27 AsRef<str>
28 + Capacity
29 + Clear
30 + Default
31 + Deref<Target = str>
32 + DerefMut
33 + crate::Extend<char, Error = crate::Error>
34 + Push<char, Error = crate::Error>
35 + for<'str> Push<&'str str, Error = crate::Error>
36 + Truncate<Input = usize>
37 + WithCapacity<Input = usize>
38 + Write
39{
40}
41
42impl<T> DynString for T where
43 T: AsRef<str>
44 + Capacity
45 + Clear
46 + Default
47 + Deref<Target = str>
48 + DerefMut
49 + crate::Extend<char, Error = crate::Error>
50 + Push<char, Error = crate::Error>
51 + for<'str> Push<&'str str, Error = crate::Error>
52 + Truncate<Input = usize>
53 + WithCapacity<Input = usize>
54 + Write
55{
56}