diff options
Diffstat (limited to 'src/test/ui/tag-variant-cast-non-nullary.rs')
-rw-r--r-- | src/test/ui/tag-variant-cast-non-nullary.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/tag-variant-cast-non-nullary.rs b/src/test/ui/tag-variant-cast-non-nullary.rs new file mode 100644 index 000000000..0d0c6188a --- /dev/null +++ b/src/test/ui/tag-variant-cast-non-nullary.rs @@ -0,0 +1,20 @@ +// run-rustfix +#![allow(dead_code, unused_variables)] +enum NonNullary { + Nullary, + Other(isize), +} + +impl From<NonNullary> for isize { + fn from(val: NonNullary) -> isize { + match val { + NonNullary::Nullary => 0, + NonNullary::Other(i) => i, + } + } +} + +fn main() { + let v = NonNullary::Nullary; + let val = v as isize; //~ ERROR non-primitive cast: `NonNullary` as `isize` [E0605] +} |