File tree 2 files changed +22
-18
lines changed
2 files changed +22
-18
lines changed Original file line number Diff line number Diff line change @@ -129,21 +129,3 @@ fn test_discriminant_send_sync() {
129
129
is_send_sync :: < Discriminant < Regular > > ( ) ;
130
130
is_send_sync :: < Discriminant < NotSendSync > > ( ) ;
131
131
}
132
-
133
- #[ test]
134
- fn test_const_forget ( ) {
135
- const _: ( ) = forget ( 0i32 ) ;
136
- const _: ( ) = forget ( Vec :: < Vec < Box < i32 > > > :: new ( ) ) ;
137
-
138
- // Writing this function signature without const-forget
139
- // triggers compiler errors:
140
- // 1) That we use a non-const fn inside a const fn
141
- // 2) without the forget, it complains about the destructor of Box
142
- const fn const_forget_box < T > ( x : Box < T > ) {
143
- forget ( x) ;
144
- }
145
-
146
- // Call the forget_box at runtime,
147
- // as we can't const-construct a box yet.
148
- const_forget_box ( Box :: new ( 0i32 ) ) ;
149
- }
Original file line number Diff line number Diff line change
1
+ // check-pass
2
+
3
+ #![ feature( const_forget) ]
4
+
5
+ use std:: mem:: forget;
6
+
7
+ const _: ( ) = forget ( 0i32 ) ;
8
+ const _: ( ) = forget ( Vec :: < Vec < Box < i32 > > > :: new ( ) ) ;
9
+
10
+ // Writing this function signature without const-forget
11
+ // triggers compiler errors:
12
+ // 1) That we use a non-const fn inside a const fn
13
+ // 2) without the forget, it complains about the destructor of Box
14
+ //
15
+ // FIXME: this method cannot be called in const-eval yet, as Box isn't
16
+ // const constructable
17
+ #[ allow( unused) ]
18
+ const fn const_forget_box < T : ?Sized > ( b : Box < T > ) {
19
+ forget ( b) ;
20
+ }
21
+
22
+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments