2022-02-25 16:41:36 +00:00
|
|
|
// traits5.rs
|
|
|
|
//
|
|
|
|
// Your task is to replace the '??' sections so the code compiles.
|
2023-05-29 17:39:08 +00:00
|
|
|
//
|
2022-07-17 22:27:57 +00:00
|
|
|
// Don't change any line other than the marked one.
|
2023-05-29 17:39:08 +00:00
|
|
|
//
|
|
|
|
// Execute `rustlings hint traits5` or use the `hint` watch subcommand for a
|
|
|
|
// hint.
|
2022-02-25 16:41:36 +00:00
|
|
|
|
|
|
|
pub trait SomeTrait {
|
|
|
|
fn some_function(&self) -> bool {
|
|
|
|
true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
pub trait OtherTrait {
|
|
|
|
fn other_function(&self) -> bool {
|
|
|
|
true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-08-07 18:51:16 +00:00
|
|
|
struct SomeStruct {}
|
|
|
|
struct OtherStruct {}
|
2022-02-25 16:41:36 +00:00
|
|
|
|
|
|
|
impl SomeTrait for SomeStruct {}
|
|
|
|
impl OtherTrait for SomeStruct {}
|
2022-08-07 18:51:16 +00:00
|
|
|
impl SomeTrait for OtherStruct {}
|
|
|
|
impl OtherTrait for OtherStruct {}
|
2022-02-25 16:41:36 +00:00
|
|
|
|
2022-07-17 22:27:57 +00:00
|
|
|
// YOU MAY ONLY CHANGE THE NEXT LINE
|
2024-02-02 00:24:03 +00:00
|
|
|
fn some_func(item: impl SomeTrait + OtherTrait) -> bool {
|
2022-02-25 16:41:36 +00:00
|
|
|
item.some_function() && item.other_function()
|
|
|
|
}
|
|
|
|
|
2022-08-07 18:51:16 +00:00
|
|
|
fn main() {
|
|
|
|
some_func(SomeStruct {});
|
|
|
|
some_func(OtherStruct {});
|
|
|
|
}
|