completed till 11

This commit is contained in:
2025-04-02 17:54:30 +05:30
parent f980a3b381
commit 199b57aad8
4 changed files with 23 additions and 1 deletions

View File

@@ -7,6 +7,14 @@ pub struct TicketStore {
tickets: Vec<Ticket>,
}
impl TicketStore {
fn in_progress(&self) -> impl Iterator<Item = &Ticket> {
self.tickets
.iter()
.filter(|&a| a.status == Status::InProgress)
}
}
#[derive(Clone, Debug, PartialEq)]
pub struct Ticket {
pub title: TicketTitle,

View File

@@ -33,7 +33,10 @@ impl TicketStore {
// that can be infallibly converted into a `Ticket`.
// This can make it nicer to use the method, as it removes the syntax noise of `.into()`
// from the calling site. It can worsen the quality of the compiler error messages, though.
pub fn add_ticket(&mut self, ticket: impl Into<Ticket>) {
pub fn add_ticket<T>(&mut self, ticket: T)
where
T: Into<Ticket>,
{
self.tickets.push(ticket.into());
}
}

View File

@@ -1,6 +1,9 @@
// TODO: Define a function named `sum` that takes a reference to a slice of `u32` and returns the sum of all
// elements in the slice.
fn sum(v: &[u32]) -> u32 {
v.iter().sum()
}
#[cfg(test)]
mod tests {
use super::*;

View File

@@ -1,6 +1,14 @@
// TODO: Define a function named `squared` that raises all `i32`s within a slice to the power of 2.
// The slice should be modified in place.
fn squared(v: &mut [i32]) {
for val in v.iter_mut() {
*val = val.pow(2);
}
// let b = v.iter().map(|a| a.pow(2)).collect::<Vec<_>>().as_slice();
// v = b;
}
#[cfg(test)]
mod tests {
use super::*;