diff options
Diffstat (limited to 'compiler/rustc_error_codes/src/error_codes/E0164.md')
-rw-r--r-- | compiler/rustc_error_codes/src/error_codes/E0164.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0164.md b/compiler/rustc_error_codes/src/error_codes/E0164.md new file mode 100644 index 000000000..48bb6f4b3 --- /dev/null +++ b/compiler/rustc_error_codes/src/error_codes/E0164.md @@ -0,0 +1,44 @@ +Something which is neither a tuple struct nor a tuple variant was used as a +pattern. + +Erroneous code example: + +```compile_fail,E0164 +enum A { + B, + C, +} + +impl A { + fn new() {} +} + +fn bar(foo: A) { + match foo { + A::new() => (), // error! + _ => {} + } +} +``` + +This error means that an attempt was made to match something which is neither a +tuple struct nor a tuple variant. Only these two elements are allowed as a +pattern: + +``` +enum A { + B, + C, +} + +impl A { + fn new() {} +} + +fn bar(foo: A) { + match foo { + A::B => (), // ok! + _ => {} + } +} +``` |