From 3cbf5864a6b7088eb28da30b9ccf61ba8d90054f Mon Sep 17 00:00:00 2001 From: Andy Russell Date: Wed, 22 May 2019 16:56:51 -0400 Subject: tweak discriminant on non-nullary enum diagnostic Adds notes pointing at the non-nullary variants, and uses "custom discriminant" language to be consistent with the Reference. --- src/test/ui/parser/issue-17383.rs | 2 +- src/test/ui/parser/issue-17383.stderr | 7 +++++-- src/test/ui/parser/tag-variant-disr-non-nullary.rs | 3 ++- src/test/ui/parser/tag-variant-disr-non-nullary.stderr | 16 ++++++++++------ 4 files changed, 18 insertions(+), 10 deletions(-) (limited to 'src/test/ui/parser') diff --git a/src/test/ui/parser/issue-17383.rs b/src/test/ui/parser/issue-17383.rs index 04cd43d0b10..f95005cd914 100644 --- a/src/test/ui/parser/issue-17383.rs +++ b/src/test/ui/parser/issue-17383.rs @@ -1,6 +1,6 @@ enum X { A = 3, - //~^ ERROR discriminator values can only be used with a field-less enum + //~^ ERROR custom discriminant values are not allowed in enums with fields B(usize) } diff --git a/src/test/ui/parser/issue-17383.stderr b/src/test/ui/parser/issue-17383.stderr index 57caa3372a6..37abd0ff5e1 100644 --- a/src/test/ui/parser/issue-17383.stderr +++ b/src/test/ui/parser/issue-17383.stderr @@ -1,8 +1,11 @@ -error: discriminator values can only be used with a field-less enum +error: custom discriminant values are not allowed in enums with fields --> $DIR/issue-17383.rs:2:9 | LL | A = 3, - | ^ only valid in field-less enums + | ^ invalid custom discriminant +LL | +LL | B(usize) + | -------- variant with a field defined here error: aborting due to previous error diff --git a/src/test/ui/parser/tag-variant-disr-non-nullary.rs b/src/test/ui/parser/tag-variant-disr-non-nullary.rs index 83a3b727982..305edc4ad5a 100644 --- a/src/test/ui/parser/tag-variant-disr-non-nullary.rs +++ b/src/test/ui/parser/tag-variant-disr-non-nullary.rs @@ -1,11 +1,12 @@ enum Color { Red = 0xff0000, - //~^ ERROR discriminator values can only be used with a field-less enum + //~^ ERROR custom discriminant values are not allowed in enums with fields Green = 0x00ff00, Blue = 0x0000ff, Black = 0x000000, White = 0xffffff, Other(usize), + Other2(usize, usize), } fn main() {} diff --git a/src/test/ui/parser/tag-variant-disr-non-nullary.stderr b/src/test/ui/parser/tag-variant-disr-non-nullary.stderr index 884e9672cb1..2d3b2839531 100644 --- a/src/test/ui/parser/tag-variant-disr-non-nullary.stderr +++ b/src/test/ui/parser/tag-variant-disr-non-nullary.stderr @@ -1,17 +1,21 @@ -error: discriminator values can only be used with a field-less enum +error: custom discriminant values are not allowed in enums with fields --> $DIR/tag-variant-disr-non-nullary.rs:2:11 | LL | Red = 0xff0000, - | ^^^^^^^^ only valid in field-less enums + | ^^^^^^^^ invalid custom discriminant LL | LL | Green = 0x00ff00, - | ^^^^^^^^ only valid in field-less enums + | ^^^^^^^^ invalid custom discriminant LL | Blue = 0x0000ff, - | ^^^^^^^^ only valid in field-less enums + | ^^^^^^^^ invalid custom discriminant LL | Black = 0x000000, - | ^^^^^^^^ only valid in field-less enums + | ^^^^^^^^ invalid custom discriminant LL | White = 0xffffff, - | ^^^^^^^^ only valid in field-less enums + | ^^^^^^^^ invalid custom discriminant +LL | Other(usize), + | ------------ variant with a field defined here +LL | Other2(usize, usize), + | -------------------- variant with fields defined here error: aborting due to previous error -- cgit 1.4.1-3-g733a5