message: Implement `Default` for `WorkQueue` in a matter that does not require `T: Default`
diff: @@ -79,7 +79,7 @@ use tokio::sync::Notify;
  /// # let handle = rt.handle();
  /// # handle.block_on(test_func());
  /// ```
  -#[derive(Debug, Default)]
  +#[derive(Debug)]
  pub struct WorkQueue<T> {
  /// Jobs currently in the queue.
  jobs: Mutex<VecDeque<T>>,
  @@ -89,6 +89,17 @@ pub struct WorkQueue<T> {
  notify: Notify,
  }
  +// Manual default implementation, since the derivation would require a `T: Default` trait bound.
  +impl<T> Default for WorkQueue<T> {
  + fn default() -> Self {
  + Self {
  + jobs: Default::default(),
  + in_progress: Default::default(),
  + notify: Default::default(),
  + }
  + }
  +}
  +
  impl<T> WorkQueue<T> {
  /// Pop a job from the queue.
  ///
  