fn play_time(dolphin: &Dolphin) -> Result<Vec<String>> {
    let mut responses = vec![];

    let mut response = dolphin.say_your_name()?;
    responses.push(response);

    response = dolphin.flip()?;
    responses.push(response);

    responses.push(dolphin.shake_hands()?);

    Ok(responses)
}
// (You already did #1 in lib.rs, right?)
//
// 2a. Uncomment and finish the play_time function below
// - Bring anyhow::Result into scope with a `use` statement
// - Have the play_time function return a `Result<Vec<String>>`. The vector of Strings will
//   represent successful outcomes of various dolphin tricks.
(You already did #1 in lib.rs, right?)
2a. Uncomment and finish the play_time function below
Bring anyhow::Result into scope with a `use` statement
Have the play_time function return a `Result>`. The vector of Strings will
represent successful outcomes of various dolphin tricks.
( You already did #1 in lib . rs right? ) 2a . Uncomment and finish the play_time function below Bring anyhow :: Result into scope with a ` use ` statement Have the play_time function return a ` Result > ` . The vector of Strings will represent successful outcomes of various dolphin tricks .
fn play_time(dolphin: &Dolphin) -> Result<Vec<String>> {
    let mut responses = vec![];
    let mut response = dolphin.say_your_name()?;
    responses.push(response);
    response = dolphin.flip()?;
    responses.push(response);
    responses.push(dolphin.shake_hands()?);
    Ok(responses)
}
fn play_time ( dolphin : & Dolphin ) -> Result < Vec < String > > { let mut responses = vec ! [ ] ; let mut response = dolphin . say_your_name ( ) ? ; responses . push ( response ) ; response = dolphin . flip ( ) ? ; responses . push ( response ) ; responses . push ( dolphin . shake_hands ( ) ? ) ; Ok ( responses ) }
(You already did #1 in lib.rs, right?)
( You already did #1 in lib . rs right? )
dolphin
&Dolphin
dolphin
&Dolphin