Create a function `print_and_consume` which takes a `String`, print the string with a new line at the end and consume it (the string can't be used after the function is called).
Create a function `only_return` that takes a `struct` Film that has one Field of type `String` and returns the string without owning it.
Create a function `only_print` that takes a `String` and print it with a new line without consuming it.
Create a function `own_and_return` which takes ownership of the struct, and returns the string.
### Expected functions
```rust
pub fn print_and_consume(argument) {
pub struct Film {
pub name: String,
}
pub fn only_print(argument) {
pub fn only_return(your_parameter) {
}
pub fn own_and_return(your_parameter) {
}
```
### Usage
@ -22,15 +27,16 @@ pub fn only_print(argument) {
Here is a possible program to test your function :
```rust
use print_and_consume::*;
fn main() {}
```
use own_and_return::*;
And its output:
```console
$ cargo run
pub struct Film {
pub name: String,
}
$
fn main() {
println!("{}", own_and_return(your_argument);
println!("{}", only_return(your_argument);
}
```
And its output should return the name of the film being passed.