This repository has been archived on 2023-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
rustlings-exercises-completed/exercises/traits/traits5.rs

36 lines
791 B
Rust
Raw Permalink Normal View History

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