TAKOYAKING’s blog 一覧

TAKOYAKING’s blog

たこ焼き系

Rust: Traitの匿名の引数 (Anonymous trait parameter)は廃止されていた

関連型が必要になる状況 | 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);
}