Moved ui test

This commit is contained in:
Deadbeef 2021-07-26 14:04:55 +08:00
parent 869daad8fc
commit 7ea0280aa9
No known key found for this signature in database
GPG key ID: 027DF9338862ADDD
5 changed files with 56 additions and 34 deletions

View file

@ -1786,13 +1786,6 @@ fn test_ord_absence() {
} }
} }
#[allow(dead_code)]
fn test_const() {
const MAP: &'static BTreeMap<(), ()> = &BTreeMap::new();
const LEN: usize = MAP.len();
const IS_EMPTY: bool = MAP.is_empty();
}
#[test] #[test]
fn test_occupied_entry_key() { fn test_occupied_entry_key() {
let mut a = BTreeMap::new(); let mut a = BTreeMap::new();

View file

@ -16,13 +16,6 @@ fn test_clone_eq() {
assert_eq!(m.clone(), m); assert_eq!(m.clone(), m);
} }
#[allow(dead_code)]
fn test_const() {
const SET: &'static BTreeSet<()> = &BTreeSet::new();
const LEN: usize = SET.len();
const IS_EMPTY: bool = SET.is_empty();
}
#[test] #[test]
fn test_iter_min_max() { fn test_iter_min_max() {
let mut a = BTreeSet::new(); let mut a = BTreeSet::new();

View file

@ -0,0 +1,53 @@
// Test several functions can be used for constants
// 1. Vec::new()
// 2. String::new()
// 3. BTreeMap::new()
// 4. BTreeSet::new()
#[allow(dead_code)]
pub const MY_VEC: Vec<usize> = Vec::new();
#[allow(dead_code)]
pub const MY_STRING: String = String::new();
// FIXME remove this struct once we put `K: ?const Ord` on BTreeMap::new.
#[derive(PartialEq, Eq, PartialOrd)]
pub struct MyType;
impl const Ord for MyType {
fn cmp(&self, _: &Self) -> Ordering {
Ordering::Equal
}
fn max(self, _: Self) -> Self {
Self
}
fn min(self, _: Self) -> Self {
Self
}
fn clamp(self, _: Self, _: Self) -> Self {
Self
}
}
use core::cmp::Ordering;
use std::collections::{BTreeMap, BTreeSet};
pub const MY_BTREEMAP: BTreeMap<MyType, MyType> = BTreeMap::new();
pub const MAP: &'static BTreeMap<MyType, MyType> = &MY_BTREEMAP;
pub const MAP_LEN: usize = MAP.len();
pub const MAP_IS_EMPTY: bool = MAP.is_empty();
pub const MY_BTREESET: BTreeSet<MyType> = BTreeSet::new();
pub const SET: &'static BTreeSet<MyType> = &MY_BTREESET;
pub const SET_LEN: usize = SET.len();
pub const SET_IS_EMPTY: bool = SET.is_empty();
#[test]
fn test_const() {
assert_eq!(MAP_LEN, 0);
assert_eq!(SET_LEN, 0);
assert!(MAP_IS_EMPTY && SET_IS_EMPTY)
}

View file

@ -23,6 +23,8 @@
#![feature(slice_partition_dedup)] #![feature(slice_partition_dedup)]
#![feature(vec_spare_capacity)] #![feature(vec_spare_capacity)]
#![feature(string_remove_matches)] #![feature(string_remove_matches)]
#![feature(const_btree_new)]
#![feature(const_trait_impl)]
use std::collections::hash_map::DefaultHasher; use std::collections::hash_map::DefaultHasher;
use std::hash::{Hash, Hasher}; use std::hash::{Hash, Hasher};
@ -32,6 +34,7 @@ mod binary_heap;
mod borrow; mod borrow;
mod boxed; mod boxed;
mod btree_set_hash; mod btree_set_hash;
mod const_fns;
mod cow_str; mod cow_str;
mod fmt; mod fmt;
mod heap; mod heap;

View file

@ -1,20 +0,0 @@
// check-pass
// Test several functions can be used for constants
// 1. Vec::new()
// 2. String::new()
// 3. BTreeMap::new()
// 4. BTreeSet::new()
#![feature(const_btree_new)]
const MY_VEC: Vec<usize> = Vec::new();
const MY_STRING: String = String::new();
use std::collections::{BTreeMap, BTreeSet};
const MY_BTREEMAP: BTreeMap<u32, u32> = BTreeMap::new();
const MY_BTREESET: BTreeSet<u32> = BTreeSet::new();
fn main() {}