Tokio select! and features

Hello,

In my task, I have a tokio select!. It is simple and look like this (simplified):

let subscriber1 = create_subscriber1();
let subscriber2 = create_subscriber2();
let subscriber3 = create_subscriber3();

loop {
    select! {
           sample = subscriber1.recv_async() => {
                 // Do something
           }
           sample = subscriber2.recv_async() => {
                 // Do something
           }
           sample = subscriber3.recv_async() => {
                 // Do something
           }
    }
}

How can I completely remove/add subscriberX with a feature flag?
Of course, this does not work, the select! macro doesn't like this:

let subscriber1 = create_subscriber1();
#[cfg(feature = "my_feature")]
let subscriber2 = create_subscriber2();
let subscriber3 = create_subscriber3();

loop {
    select! {
           sample = subscriber1.recv_async() => {
                 // Do something
           }
           #[cfg(feature = "my_feature")]
           sample = subscriber2.recv_async() => {
                 // Do something
           }
           sample = subscriber3.recv_async() => {
                 // Do something
           }
    }
}

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.