File tree Expand file tree Collapse file tree 1 file changed +25
-24
lines changed Expand file tree Collapse file tree 1 file changed +25
-24
lines changed Original file line number Diff line number Diff 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}
You can’t perform that action at this time.
0 commit comments