File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -281,13 +281,20 @@ impl HasUnsafeFn {
281281 unsafe fn unsafe_method(&self) {}
282282}
283283
284+ struct TypeForStaticMut {
285+ a: u8
286+ }
287+
288+ static mut global_mut: TypeForStaticMut = TypeForStaticMut { a: 0 };
289+
284290fn main() {
285291 let x = &5 as *const usize;
286292 unsafe {
287293 unsafe_fn();
288294 HasUnsafeFn.unsafe_method();
289295 let y = *(x);
290296 let z = -x;
297+ let a = global_mut.a;
291298 }
292299}
293300"#
Original file line number Diff line number Diff line change 4343 < span class ="keyword unsafe "> unsafe</ span > < span class ="keyword "> fn</ span > < span class ="function declaration unsafe "> unsafe_method</ span > < span class ="punctuation "> (</ span > < span class ="operator "> &</ span > < span class ="self_keyword "> self</ span > < span class ="punctuation "> )</ span > < span class ="punctuation "> {</ span > < span class ="punctuation "> }</ span >
4444< span class ="punctuation "> }</ span >
4545
46+ < span class ="keyword "> struct</ span > < span class ="struct declaration "> TypeForStaticMut</ span > < span class ="punctuation "> {</ span >
47+ < span class ="field declaration "> a</ span > < span class ="punctuation "> :</ span > < span class ="builtin_type "> u8</ span >
48+ < span class ="punctuation "> }</ span >
49+
50+ < span class ="keyword "> static</ span > < span class ="keyword "> mut</ span > < span class ="static declaration mutable "> global_mut</ span > < span class ="punctuation "> :</ span > < span class ="struct "> TypeForStaticMut</ span > < span class ="operator "> =</ span > < span class ="struct "> TypeForStaticMut</ span > < span class ="punctuation "> {</ span > < span class ="field "> a</ span > < span class ="punctuation "> :</ span > < span class ="numeric_literal "> 0</ span > < span class ="punctuation "> }</ span > < span class ="punctuation "> ;</ span >
51+
4652< span class ="keyword "> fn</ span > < span class ="function declaration "> main</ span > < span class ="punctuation "> (</ span > < span class ="punctuation "> )</ span > < span class ="punctuation "> {</ span >
4753 < span class ="keyword "> let</ span > < span class ="variable declaration "> x</ span > < span class ="operator "> =</ span > < span class ="operator "> &</ span > < span class ="numeric_literal "> 5</ span > < span class ="keyword "> as</ span > < span class ="keyword "> *</ span > < span class ="keyword "> const</ span > < span class ="builtin_type "> usize</ span > < span class ="punctuation "> ;</ span >
4854 < span class ="keyword unsafe "> unsafe</ span > < span class ="punctuation "> {</ span >
4955 < span class ="function unsafe "> unsafe_fn</ span > < span class ="punctuation "> (</ span > < span class ="punctuation "> )</ span > < span class ="punctuation "> ;</ span >
5056 < span class ="struct "> HasUnsafeFn</ span > < span class ="punctuation "> .</ span > < span class ="function unsafe "> unsafe_method</ span > < span class ="punctuation "> (</ span > < span class ="punctuation "> )</ span > < span class ="punctuation "> ;</ span >
5157 < span class ="keyword "> let</ span > < span class ="variable declaration "> y</ span > < span class ="operator "> =</ span > < span class ="operator unsafe "> *</ span > < span class ="punctuation "> (</ span > < span class ="variable "> x</ span > < span class ="punctuation "> )</ span > < span class ="punctuation "> ;</ span >
5258 < span class ="keyword "> let</ span > < span class ="variable declaration "> z</ span > < span class ="operator "> =</ span > < span class ="numeric_literal "> -</ span > < span class ="variable "> x</ span > < span class ="punctuation "> ;</ span >
59+ < span class ="keyword "> let</ span > < span class ="variable declaration "> a</ span > < span class ="operator "> =</ span > < span class ="static mutable "> global_mut</ span > < span class ="punctuation "> .</ span > < span class ="field "> a</ span > < span class ="punctuation "> ;</ span >
5360 < span class ="punctuation "> }</ span >
5461< span class ="punctuation "> }</ span > </ code > </ pre >
You can’t perform that action at this time.
0 commit comments