fn bar(foo: &Foo, baz: bool) {
if foo == &Foo::B(3) || baz {
println!("Do stuff")
}
}
을,이 컴파일되지 않습니다 :
fn bar(foo: &Foo, baz: bool) {
if foo == &Foo::B(_) || baz {
println!("Do stuff")
}
}
방법 B
에 어떤 값이 포함되어 있는지 신경 쓰지 않으면 if
문에 사용합니까?
당신은 ('do_stuff의 중복을 제거 할 수 있습니다)' '(foo, baz)'와의 매칭 : [link] (https://play.rust-lang.org/?gist=32d81133f7131c508c0c8689329e22d0&version=stable). 비록 당신은 그것을 더 유지할 수 있다고 생각할 수도 있고 그렇지 않을 수도 있습니다. – trentcl
'foo == & Foo :: B (_) || 어떤 이유가 있을까요? 미래에 언젠가는 언어에 baz {'를 추가 할 수 없습니까? – HiDefender
@HiDefender 문제가 있습니다 : https://github.com/rust-lang/rfcs/issues/935 – mrhania