@@ -58,49 +58,9 @@ impl Default for Foo {
5858 }
5959 }
6060}
61- pub static mut static_fn: Option < unsafe fn ( i32 ) -> i32 > = None ;
62- pub static mut static_outer: Outer = Outer {
63- p1 : std:: ptr:: null_mut ( ) ,
64- p2 : std:: ptr:: null ( ) ,
65- arr : [ std:: ptr:: null_mut ( ) ; 3 ] ,
66- cp : std:: ptr:: null ( ) ,
67- pp : std:: ptr:: null_mut ( ) ,
68- inner : Inner {
69- v : 0_i32 ,
70- name : std:: ptr:: null ( ) ,
71- } ,
72- x : 0_i32 ,
73- fn_ : None ,
74- } ;
75- pub static mut static_inner_array: [ Inner ; 2 ] = [ Inner {
76- v : 0_i32 ,
77- name : std:: ptr:: null ( ) ,
78- } ; 2 ] ;
79- pub static mut static_foo: Foo = Foo {
80- s1 : b"hello\0 " . as_ptr ( ) ,
81- s2 : std:: ptr:: null ( ) ,
82- fn1 : None ,
83- fn2 : None ,
84- n : 42 ,
85- } ;
86- pub static mut static_foo_array: [ Foo ; 2 ] = [
87- Foo {
88- s1 : b"first\0 " . as_ptr ( ) ,
89- s2 : std:: ptr:: null ( ) ,
90- fn1 : None ,
91- fn2 : None ,
92- n : 1 ,
93- } ,
94- Foo {
95- s1 : b"second\0 " . as_ptr ( ) ,
96- s2 : std:: ptr:: null ( ) ,
97- fn1 : None ,
98- fn2 : None ,
99- n : 2 ,
100- } ,
101- ] ;
102- pub unsafe fn check_local_static_0 ( ) {
103- static mut local_outer: Outer = Outer {
61+ pub static mut static_fn: Option < unsafe fn ( i32 ) -> i32 > = unsafe { None } ;
62+ pub static mut static_outer: Outer = unsafe {
63+ Outer {
10464 p1 : std:: ptr:: null_mut ( ) ,
10565 p2 : std:: ptr:: null ( ) ,
10666 arr : [ std:: ptr:: null_mut ( ) ; 3 ] ,
@@ -112,9 +72,59 @@ pub unsafe fn check_local_static_0() {
11272 } ,
11373 x : 0_i32 ,
11474 fn_ : None ,
75+ }
76+ } ;
77+ pub static mut static_inner_array: [ Inner ; 2 ] = unsafe {
78+ [ Inner {
79+ v : 0_i32 ,
80+ name : std:: ptr:: null ( ) ,
81+ } ; 2 ]
82+ } ;
83+ pub static mut static_foo: Foo = unsafe {
84+ Foo {
85+ s1 : b"hello\0 " . as_ptr ( ) ,
86+ s2 : std:: ptr:: null ( ) ,
87+ fn1 : None ,
88+ fn2 : None ,
89+ n : 42 ,
90+ }
91+ } ;
92+ pub static mut static_foo_array: [ Foo ; 2 ] = unsafe {
93+ [
94+ Foo {
95+ s1 : b"first\0 " . as_ptr ( ) ,
96+ s2 : std:: ptr:: null ( ) ,
97+ fn1 : None ,
98+ fn2 : None ,
99+ n : 1 ,
100+ } ,
101+ Foo {
102+ s1 : b"second\0 " . as_ptr ( ) ,
103+ s2 : std:: ptr:: null ( ) ,
104+ fn1 : None ,
105+ fn2 : None ,
106+ n : 2 ,
107+ } ,
108+ ]
109+ } ;
110+ pub unsafe fn check_local_static_0 ( ) {
111+ static mut local_outer: Outer = unsafe {
112+ Outer {
113+ p1 : std:: ptr:: null_mut ( ) ,
114+ p2 : std:: ptr:: null ( ) ,
115+ arr : [ std:: ptr:: null_mut ( ) ; 3 ] ,
116+ cp : std:: ptr:: null ( ) ,
117+ pp : std:: ptr:: null_mut ( ) ,
118+ inner : Inner {
119+ v : 0_i32 ,
120+ name : std:: ptr:: null ( ) ,
121+ } ,
122+ x : 0_i32 ,
123+ fn_ : None ,
124+ }
115125 } ; ;
116- static mut local_fn: Option < unsafe fn ( i32 ) -> i32 > = None ; ;
117- static mut local_p: * mut i32 = std:: ptr:: null_mut ( ) ; ;
126+ static mut local_fn: Option < unsafe fn ( i32 ) -> i32 > = unsafe { None } ; ;
127+ static mut local_p: * mut i32 = unsafe { std:: ptr:: null_mut ( ) } ; ;
118128 assert ! ( ( local_outer. p1) . is_null( ) ) ;
119129 assert ! ( ( local_outer. fn_) . is_none( ) ) ;
120130 assert ! ( ( local_fn) . is_none( ) ) ;
0 commit comments