Skip to content

Commit

Permalink
sync: use usize instead of u32 for SemaphorePermit::split (#6478)
Browse files Browse the repository at this point in the history
Signed-off-by: Alice Ryhl <[email protected]>
  • Loading branch information
Darksonn committed Apr 11, 2024
1 parent bdf4c14 commit 90e20bc
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions tokio/src/sync/semaphore.rs
Original file line number Diff line number Diff line change
Expand Up @@ -994,7 +994,9 @@ impl<'a> SemaphorePermit<'a> {
/// Splits `n` permits from `self` and returns a new [`SemaphorePermit`] instance that holds `n` permits.
///
/// If there are insufficient permits and it's not possible to reduce by `n`, returns `None`.
pub fn split(&mut self, n: u32) -> Option<Self> {
pub fn split(&mut self, n: usize) -> Option<Self> {
let n = u32::try_from(n).ok()?;

if n > self.permits {
return None;
}
Expand All @@ -1008,8 +1010,8 @@ impl<'a> SemaphorePermit<'a> {
}

/// Returns the number of permits held by `self`.
pub fn num_permits(&self) -> u32 {
self.permits
pub fn num_permits(&self) -> usize {
self.permits as usize
}
}

Expand Down Expand Up @@ -1047,7 +1049,9 @@ impl OwnedSemaphorePermit {
/// # Note
///
/// It will clone the owned `Arc<Semaphore>` to construct the new instance.
pub fn split(&mut self, n: u32) -> Option<Self> {
pub fn split(&mut self, n: usize) -> Option<Self> {
let n = u32::try_from(n).ok()?;

if n > self.permits {
return None;
}
Expand All @@ -1066,8 +1070,8 @@ impl OwnedSemaphorePermit {
}

/// Returns the number of permits held by `self`.
pub fn num_permits(&self) -> u32 {
self.permits
pub fn num_permits(&self) -> usize {
self.permits as usize
}
}

Expand Down

0 comments on commit 90e20bc

Please sign in to comment.