Make CDC ACM state constructor const

This commit is contained in:
Bailey Quarters 2025-03-24 19:53:36 +01:00
parent f15a11f4d6
commit eff9168846

View File

@ -47,10 +47,10 @@ impl<'a> Default for State<'a> {
impl<'a> State<'a> {
/// Create a new `State`.
pub fn new() -> Self {
pub const fn new() -> Self {
Self {
control: MaybeUninit::uninit(),
shared: ControlShared::default(),
shared: ControlShared::new(),
}
}
}
@ -92,6 +92,12 @@ struct ControlShared {
impl Default for ControlShared {
fn default() -> Self {
Self::new()
}
}
impl ControlShared {
const fn new() -> Self {
ControlShared {
dtr: AtomicBool::new(false),
rts: AtomicBool::new(false),
@ -105,9 +111,7 @@ impl Default for ControlShared {
changed: AtomicBool::new(false),
}
}
}
impl ControlShared {
fn changed(&self) -> impl Future<Output = ()> + '_ {
poll_fn(|cx| {
if self.changed.load(Ordering::Relaxed) {