Skip to content

Commit

Permalink
update discriminant_value usage in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
lcnr committed May 19, 2020
1 parent 3188ca7 commit ff2940a
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 15 deletions.
22 changes: 11 additions & 11 deletions src/test/ui/enum-discriminant/discriminant_value.rs
Expand Up @@ -51,31 +51,31 @@ enum Mixed {
}

pub fn main() {
assert_eq!(discriminant_value(&CLike1::A), 0);
assert_eq!(discriminant_value(&CLike1::A), 0isize);
assert_eq!(discriminant_value(&CLike1::B), 1);
assert_eq!(discriminant_value(&CLike1::C), 2);
assert_eq!(discriminant_value(&CLike1::D), 3);

assert_eq!(discriminant_value(&CLike2::A), 5);
assert_eq!(discriminant_value(&CLike2::A), 5isize);
assert_eq!(discriminant_value(&CLike2::B), 2);
assert_eq!(discriminant_value(&CLike2::C), 19);
assert_eq!(discriminant_value(&CLike2::D), 20);

assert_eq!(discriminant_value(&CLike3::A), 5);
assert_eq!(discriminant_value(&CLike3::A), 5i8);
assert_eq!(discriminant_value(&CLike3::B), 6);
assert_eq!(discriminant_value(&CLike3::C), -1_i8 as u64);
assert_eq!(discriminant_value(&CLike3::C), -1);
assert_eq!(discriminant_value(&CLike3::D), 0);

assert_eq!(discriminant_value(&ADT::First(0,0)), 0);
assert_eq!(discriminant_value(&ADT::First(0,0)), 0isize);
assert_eq!(discriminant_value(&ADT::Second(5)), 1);

assert_eq!(discriminant_value(&NullablePointer::Nothing), 1);
assert_eq!(discriminant_value(&NullablePointer::Nothing), 1isize);
assert_eq!(discriminant_value(&NullablePointer::Something(&CONST)), 0);

assert_eq!(discriminant_value(&10), 0);
assert_eq!(discriminant_value(&"test"), 0);
assert_eq!(discriminant_value(&10), 0u8);
assert_eq!(discriminant_value(&"test"), 0u8);

assert_eq!(3, discriminant_value(&Mixed::Unit));
assert_eq!(2, discriminant_value(&Mixed::Tuple(5)));
assert_eq!(1, discriminant_value(&Mixed::Struct{a: 7, b: 11}));
assert_eq!(discriminant_value(&Mixed::Unit), 3isize);
assert_eq!(discriminant_value(&Mixed::Tuple(5)), 2);
assert_eq!(discriminant_value(&Mixed::Struct{a: 7, b: 11}), 1);
}
Expand Up @@ -13,5 +13,5 @@ enum MyWeirdOption<T> {

fn main() {
assert_eq!(discriminant_value(&MyWeirdOption::<()>::None), 0);
assert_eq!(discriminant_value(&MyWeirdOption::Some(())), core::mem::size_of::<usize>() as u64);
assert_eq!(discriminant_value(&MyWeirdOption::Some(())), core::mem::size_of::<usize>());
}
9 changes: 6 additions & 3 deletions src/test/ui/generator/discriminant.rs
Expand Up @@ -3,10 +3,10 @@

// run-pass

#![feature(generators, generator_trait, core_intrinsics)]
#![feature(generators, generator_trait, core_intrinsics, discriminant_kind)]

use std::intrinsics::discriminant_value;
use std::marker::Unpin;
use std::marker::{Unpin, DiscriminantKind};
use std::mem::size_of_val;
use std::{cmp, ops::*};

Expand Down Expand Up @@ -65,7 +65,10 @@ macro_rules! yield250 {
};
}

fn cycle(gen: impl Generator<()> + Unpin, expected_max_discr: u64) {
fn cycle(
gen: impl Generator<()> + Unpin + DiscriminantKind<Discriminant = i32>,
expected_max_discr: i32
) {
let mut gen = Box::pin(gen);
let mut max_discr = 0;
loop {
Expand Down

0 comments on commit ff2940a

Please sign in to comment.