Merge pull request #4000 from quarters78/main

Make CDC ACM state constructor `const`
This commit is contained in:
Dario Nieuwenhuis 2025-03-25 11:00:56 +00:00 committed by GitHub
commit 9d009e59e5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

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) {