Skip to content

Commit ab010dd

Browse files
committed
---
yaml --- r: 228679 b: refs/heads/try c: d066a7b h: refs/heads/master i: 228677: f037af5 228675: 4b39ad5 228671: 615af5c v: v3
1 parent b93fb86 commit ab010dd

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,7 +1,7 @@
11
---
22
refs/heads/master: aca2057ed5fb7af3f8905b2bc01f72fa001c35c8
33
refs/heads/snap-stage3: 1af31d4974e33027a68126fa5a5a3c2c6491824f
4-
refs/heads/try: 2d68d09b4679018d0ba3faf41d239251991bf17b
4+
refs/heads/try: d066a7b5069ff857a5bffe7cb5168fe63158144f
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
66
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
77
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try/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)