vec_box.rs 634 B

12345678910111213141516171819202122232425262728293031
  1. extern crate ralloc;
  2. mod util;
  3. #[test]
  4. fn vec_box() {
  5. util::multiply(|| {
  6. let mut vec = Vec::new();
  7. for i in 0..0xFFF {
  8. util::acid(|| {
  9. vec.push(Box::new(i));
  10. });
  11. }
  12. assert_eq!(*vec[0xEAD], 0xEAD);
  13. assert_eq!(*vec[0xEAF], 0xEAF);
  14. assert_eq!(*vec[0xBCD], 0xBCD);
  15. assert_eq!(*vec[0xFAB], 0xFAB);
  16. assert_eq!(*vec[0xAAA], 0xAAA);
  17. for i in 0xFFF..0 {
  18. assert_eq!(*vec.pop().unwrap(), i);
  19. }
  20. for i in 0..0xFFF {
  21. *vec[i] = 0;
  22. assert_eq!(*vec[i], 0);
  23. }
  24. });
  25. }