diff options
| author | Renato Zannon <renato@rrsz.com.br> | 2014-06-09 23:54:52 -0300 |
|---|---|---|
| committer | Renato Zannon <renato@rrsz.com.br> | 2014-06-09 23:54:52 -0300 |
| commit | e0855bccd356d191074a83c2aeedabd88d2b7bab (patch) | |
| tree | af5a0e770ad625dc529293a0ee44bb4e891ef703 | |
| parent | 907d96187641d8a018af2b73239723c66b011f71 (diff) | |
| download | rust-e0855bccd356d191074a83c2aeedabd88d2b7bab.tar.gz rust-e0855bccd356d191074a83c2aeedabd88d2b7bab.zip | |
Add a test for nested Arena.alloc
| -rw-r--r-- | src/libarena/lib.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libarena/lib.rs b/src/libarena/lib.rs index 7e0cda26014..ecf595e45d9 100644 --- a/src/libarena/lib.rs +++ b/src/libarena/lib.rs @@ -299,6 +299,20 @@ fn test_arena_destructors() { } #[test] +fn test_arena_alloc_nested() { + struct Inner { value: uint } + struct Outer<'a> { inner: &'a Inner } + + let arena = Arena::new(); + + let result = arena.alloc(|| Outer { + inner: arena.alloc(|| Inner { value: 10 }) + }); + + assert_eq!(result.inner.value, 10); +} + +#[test] #[should_fail] fn test_arena_destructors_fail() { let arena = Arena::new(); |
