File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change 1+ // Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ // Regression test for #35546. Check that we are able to codegen
12+ // this. Before we had problems because of the drop glue signature
13+ // around dropping a trait object (specifically, when dropping the
14+ // `value` field of `Node<Send>`).
15+
16+ struct Node < T : ?Sized + Send > {
17+ next : Option < Box < Node < Send > > > ,
18+ value : T ,
19+ }
20+
21+ fn clear ( head : & mut Option < Box < Node < Send > > > ) {
22+ match head. take ( ) {
23+ Some ( node) => * head = node. next ,
24+ None => ( ) ,
25+ }
26+ }
27+
28+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments