You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
miguel 1aa3484757 fix(rust-piscine) adding a new file for code editor to use 6 months ago
..
README.md fix(rust-piscine) adding a new file for code editor to use 6 months ago
main.rs fix(rust-piscine) adding a new file for code editor to use 6 months ago

README.md

own_and_return

Instructions

Create a struct Film that has one field name of type String.

Create the following two functions:

  • Create a function take_film_name, it will return the name and consume the film (you should not be able to reuse it after you passed it to the function).
  • Create a function read_film_name, it will return the name without consuming the film (you can call the function multiple times with the same argument).

Expected functions

pub struct Film {
    pub name: String,
}

pub fn read_film_name(/* to be implemented */) -> String {
}

pub fn take_film_name(/* to be implemented */) -> String {
}

Usage

Here is a possible program to test your function:

use own_and_return::*;

pub struct Film {
    pub name: String,
}

fn main() {
    let my_film = Film { name: "Terminator".toString() };
    println!("{}", take_film_name(/* to be implemented */));
    // the order of the print statements is intentional, if your implementation is correct,
    // you should have a compile error because my_film was consumed
    println!("{}", read_film_name(/* to be implemented */));
    println!("{}", take_film_name(/*to be implemented*/))
    // you can test this function by commenting out the first print statement,
    // you should see the expected output without errors in this case
}

And its output:

$ cargo run
Terminator
Terminator
$