1
0

reused.rs 705 B

123456789101112131415161718192021222324252627
  1. //! This test needs to be in its own file such that it doesn't share
  2. //! an address space with the other tests.
  3. //!
  4. //! That will cause random failures on CI.
  5. use generational_box::{Storage, SyncStorage, UnsyncStorage};
  6. #[test]
  7. fn reused() {
  8. fn reused_test<S: Storage<i32>>() {
  9. let first_ptr;
  10. {
  11. let owner = S::owner();
  12. first_ptr = owner.insert(1).raw_ptr();
  13. drop(owner);
  14. }
  15. {
  16. let owner = S::owner();
  17. let second_ptr = owner.insert(1234).raw_ptr();
  18. assert_eq!(first_ptr, second_ptr);
  19. drop(owner);
  20. }
  21. }
  22. reused_test::<UnsyncStorage>();
  23. reused_test::<SyncStorage>();
  24. }