File: enum-drop-cast-error.rs

package info (click to toggle)
rustc 1.92.0%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental, forky, sid
  • size: 956,456 kB
  • sloc: xml: 158,148; javascript: 23,448; sh: 19,588; python: 15,739; ansic: 13,660; cpp: 7,009; asm: 4,376; makefile: 724; lisp: 180; sql: 15
file content (19 lines) | stat: -rw-r--r-- 386 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//! Check that trying to cast an enum with a Drop impl to an integer is rejected.
//!
//! Issue: <https://github.com/rust-lang/rust/issues/35941>

enum E {
    A = 0,
}

impl Drop for E {
    fn drop(&mut self) {
        println!("Drop");
    }
}

fn main() {
    let e = E::A;
    let i = e as u32;
    //~^ ERROR cannot cast enum `E` into integer `u32` because it implements `Drop`
}