summaryrefslogtreecommitdiffstats
path: root/vendor/syn/tests/test_iterators.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/syn/tests/test_iterators.rs')
-rw-r--r--vendor/syn/tests/test_iterators.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/vendor/syn/tests/test_iterators.rs b/vendor/syn/tests/test_iterators.rs
index 2c8359c15..0ab0fb914 100644
--- a/vendor/syn/tests/test_iterators.rs
+++ b/vendor/syn/tests/test_iterators.rs
@@ -47,3 +47,22 @@ fn iter() {
assert_eq!(p.iter_mut().next_back(), Some(&mut 4));
assert_eq!(p.into_iter().next_back(), Some(4));
}
+
+#[test]
+fn may_dangle() {
+ let p: Punctuated<_, Token![,]> = punctuated!(2, 3, 4);
+ for element in &p {
+ if *element == 2 {
+ drop(p);
+ break;
+ }
+ }
+
+ let mut p: Punctuated<_, Token![,]> = punctuated!(2, 3, 4);
+ for element in &mut p {
+ if *element == 2 {
+ drop(p);
+ break;
+ }
+ }
+}