関連型が必要になる状況 | Rust by Example
このサンプルを行っていた時に
trait Contains<A, B> { fn contains(&self, &A, &B) -> bool; } // expected one of `:`, `@`, or `|`, found `)`
が出て動作しませんでした。
https://users.rust-lang.org/t/solved-example-of-rust-by-example-can-not-be-built-with-rust-2018-edition/24528/3
この記事によると
TraitのAnonymous trait parameterはもう廃止されているとのことでした。
正しくは
trait Contains<A, B> { fn contains(&self, _: &A, _: &B) -> bool; }
公式ガイドにも書いてありました。2015年版はできたみたいですが、2018年版はできなくなったようです。
No more anonymous parameters - The Edition Guide
以下例を抜粋
// 廃止 trait Foo { fn foo(&self, u8); } // OK trait Foo { fn foo(&self, baz: u8); }