Skip to content

Commit

Permalink
Add a compile-fail test for Drop in constants in the presence of `O…
Browse files Browse the repository at this point in the history
…ption`s
  • Loading branch information
oli-obk committed Jan 23, 2019
1 parent efda681 commit 39aa89b
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
8 changes: 8 additions & 0 deletions src/test/ui/static/static-drop-scope.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,12 @@ const fn const_drop2<T>(x: T) {
//~^ ERROR destructors cannot be evaluated at compile-time
}

const EARLY_DROP_C_OPTION: i32 = (Some(WithDtor), 0).1;
//~^ ERROR destructors cannot be evaluated at compile-time

const HELPER: Option<WithDtor> = Some(WithDtor);

const EARLY_DROP_C_OPTION_CONSTANT: i32 = (HELPER, 0).1;
//~^ ERROR destructors cannot be evaluated at compile-time

fn main () {}
14 changes: 13 additions & 1 deletion src/test/ui/static/static-drop-scope.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,19 @@ error[E0493]: destructors cannot be evaluated at compile-time
LL | (x, ()).1
| ^^^^^^^ constant functions cannot evaluate destructors

error: aborting due to 8 previous errors
error[E0493]: destructors cannot be evaluated at compile-time
--> $DIR/static-drop-scope.rs:31:34
|
LL | const EARLY_DROP_C_OPTION: i32 = (Some(WithDtor), 0).1;
| ^^^^^^^^^^^^^^^^^^^ constants cannot evaluate destructors

error[E0493]: destructors cannot be evaluated at compile-time
--> $DIR/static-drop-scope.rs:36:43
|
LL | const EARLY_DROP_C_OPTION_CONSTANT: i32 = (HELPER, 0).1;
| ^^^^^^^^^^^ constants cannot evaluate destructors

error: aborting due to 10 previous errors

Some errors occurred: E0493, E0597.
For more information about an error, try `rustc --explain E0493`.

0 comments on commit 39aa89b

Please sign in to comment.