vec.rs 595 B

1234567891011121314151617181920212223242526
  1. extern crate ralloc;
  2. fn main() {
  3. let mut vec = Vec::new();
  4. for i in 0..0xFFFF {
  5. // We're going to annoy the allocator by allocating a small chunk, after which we push.
  6. let _bx = Box::new(4);
  7. vec.push(i);
  8. }
  9. assert_eq!(vec[0xDEAD], 0xDEAD);
  10. assert_eq!(vec[0xBEAF], 0xBEAF);
  11. assert_eq!(vec[0xABCD], 0xABCD);
  12. assert_eq!(vec[0xFFFAB], 0xFFFAB);
  13. assert_eq!(vec[0xAAAAAAA], 0xAAAAAAA);
  14. for i in 0xFFFF..0 {
  15. assert_eq!(vec.pop(), Some(i));
  16. }
  17. for i in 0..0xFFFF {
  18. vec[i] = 0;
  19. assert_eq!(vec[i], 0);
  20. }
  21. }