We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 765a2b3 commit 7dd464fCopy full SHA for 7dd464f
src/test/run-pass/destructor-ordering.rs
@@ -0,0 +1,29 @@
1
+// We share an instance of this type among all the destructor-order
2
+// checkers. It tracks how many destructors have run so far and
3
+// 'fail's when one runs out of order.
4
+// FIXME: Make it easier to collect a failure message.
5
+state obj order_tracker(mutable int init) {
6
+ fn assert_order(int expected, str fail_message) {
7
+ if (expected != init) {
8
+ log expected;
9
+ log " != ";
10
+ log init;
11
+ log fail_message;
12
+ fail;
13
+ }
14
+ init += 1;
15
16
+}
17
+
18
19
+obj dorder(@order_tracker tracker, int order, str message) {
20
+ drop {
21
+ tracker.assert_order(order, message);
22
23
24
25
+fn main() {
26
+ auto tracker = @order_tracker(0);
27
+ dorder(tracker, 1, "Reverse decl order");
28
+ dorder(tracker, 0, "Reverse decl order");
29
0 commit comments