Skip to content

Commit b3805ec

Browse files
committed
---
yaml --- r: 221614 b: refs/heads/master c: d066a7b h: refs/heads/master v: v3
1 parent b07f8fd commit b3805ec

File tree

2 files changed

+26
-25
lines changed

2 files changed

+26
-25
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 2d68d09b4679018d0ba3faf41d239251991bf17b
2+
refs/heads/master: d066a7b5069ff857a5bffe7cb5168fe63158144f
33
refs/heads/snap-stage3: a5c12f4e39d32af3c951b66bd2839bc0b5a1125b
44
refs/heads/try: b53c0f93eedcdedd4fd89bccc5a3a09d1c5cd23e
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

trunk/src/test/compile-fail/pushpop-unsafe-rejects.rs

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -45,29 +45,30 @@ fn main() {
4545
});
4646

4747

48-
// Note: For implementation simplicity I have chosen to just have
49-
// the stack do "saturated pop", but perhaps we would prefer to
50-
// have cases like these two here be errors:
51-
52-
pop_unsafe!{ g() };
53-
54-
push_unsafe!({
55-
pop_unsafe!(pop_unsafe!{ g() })
56-
});
57-
58-
59-
// Okay, back to examples that do error, even in the presence of
60-
// "saturated pop"
61-
62-
push_unsafe!({
63-
g();
64-
pop_unsafe!(pop_unsafe!({
65-
f() //~ ERROR: call to unsafe function
66-
}))
67-
});
68-
69-
pop_unsafe!({
70-
f(); //~ ERROR: call to unsafe function
71-
})
48+
// Note: For implementation simplicity the compiler just
49+
// ICE's if you underflow the push_unsafe stack.
50+
//
51+
// Thus all of the following cases cause an ICE.
52+
//
53+
// (The "ERROR" notes are from an earlier version
54+
// that used saturated arithmetic rather than checked
55+
// arithmetic.)
56+
57+
// pop_unsafe!{ g() };
58+
//
59+
// push_unsafe!({
60+
// pop_unsafe!(pop_unsafe!{ g() })
61+
// });
62+
//
63+
// push_unsafe!({
64+
// g();
65+
// pop_unsafe!(pop_unsafe!({
66+
// f() // ERROR: call to unsafe function
67+
// }))
68+
// });
69+
//
70+
// pop_unsafe!({
71+
// f(); // ERROR: call to unsafe function
72+
// })
7273

7374
}

0 commit comments

Comments
 (0)