## groceries ### Instructions Create a **function** called `insert` that inserts a new element at the end of the `Vec`. And another **function** `at_index` that returns the value found at the index passed as an argument. ### Notions - [Common Collections](https://doc.rust-lang.org/stable/book/ch08-00-common-collections.html) - [Vectors](https://doc.rust-lang.org/stable/book/ch08-01-vectors.html) ### Expected Functions ```rust pub fn insert(vec: &mut Vec, val: String) { } pub fn at_index(vec: &Vec, index: usize) -> String { } ``` ### Usage Here is a possible program to test your function: ```rust use groceries::{insert, at_index}; fn main() { let mut groceries = vec![ "yogurt".to_string(), "panetone".to_string(), "bread".to_string(), "cheese".to_string(), ]; insert(&mut groceries, String::from("nuts")); println!("The groceries list now = {:?}", &groceries); println!( "The second element of the grocery list is {:?}", at_index(&groceries, 1) ); } ``` And its output: ```console student@ubuntu:~/[[ROOT]]/test$ cargo run The groceries list now = ["yogurt", "panetone", "bread", "cheese", "nuts"] The second element of the grocery list is "panetone" student@ubuntu:~/[[ROOT]]/test$ ```