This repository was archived by the owner on May 23, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 63
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
=== stdout === // WARNING: This output format is intended for human consumers only // and is subject to change without notice. Knock yourself out. fn function_with_bytes() -> &[u8] { let mut _0: &[u8]; // return place in scope 0 at <anon>:5:64: 5:77 let mut _1: &[u8; 4]; // in scope 0 at <anon>:6:5: 6:10 let _2: &[u8; 4]; // in scope 0 at <anon>:6:5: 6:10 bb0: { _2 = const BYTES; // scope 0 at <anon>:6:5: 6:10 // mir::Constant // + span: <anon>:6:5: 6:10 // + literal: Const { ty: &[u8; 4], val: Param(BYTES) } _1 = _2; // scope 0 at <anon>:6:5: 6:10 _0 = move _1 as &[u8] (Pointer(Unsize)); // scope 0 at <anon>:6:5: 6:10 return; // scope 0 at <anon>:7:2: 7:2 } } function_with_bytes::{constant#0}: usize = { let mut _0: usize; // return place in scope 0 at <anon>:5:55: 5:56 bb0: { _0 = const 4_usize; // scope 0 at <anon>:5:55: 5:56 return; // scope 0 at <anon>:5:55: 5:56 } } fn main() -> () { let mut _0: (); // return place in scope 0 at <anon>:9:15: 9:15 let mut _1: (&&[u8], &&[u8; 4]); // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:15: 38:32 let mut _2: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:16: 38:22 let _3: &[u8]; // in scope 0 at <anon>:10:16: 10:48 let mut _4: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 let _5: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:14: 39:22 let _6: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:24: 39:33 let mut _7: bool; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:20: 40:46 let mut _8: bool; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:21: 40:46 let mut _9: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:22: 40:31 let mut _10: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:35: 40:45 let _12: !; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:21: 45:114 let mut _13: core::panicking::AssertKind; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:54: 45:58 let mut _14: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:60: 45:70 let _15: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:60: 45:70 let mut _16: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:72: 45:83 let _17: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:72: 45:83 let mut _18: std::option::Option<std::fmt::Arguments>; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:85: 45:113 let mut _19: (&&[u8], &&[u8; 4]); // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:15: 38:32 let mut _20: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:16: 38:22 let _21: &[u8]; // in scope 0 at <anon>:11:16: 11:70 let mut _22: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 let _23: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:14: 39:22 let _24: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:24: 39:33 let mut _25: bool; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:20: 40:46 let mut _26: bool; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:21: 40:46 let mut _27: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:22: 40:31 let mut _28: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:35: 40:45 let _30: !; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:21: 45:114 let mut _31: core::panicking::AssertKind; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:54: 45:58 let mut _32: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:60: 45:70 let _33: &&[u8]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:60: 45:70 let mut _34: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:72: 45:83 let _35: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:72: 45:83 let mut _36: std::option::Option<std::fmt::Arguments>; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:85: 45:113 let mut _37: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 let mut _38: &&[u8; 4]; // in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 scope 1 { debug left_val => _5; // in scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:14: 39:22 debug right_val => _6; // in scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:24: 39:33 let _11: core::panicking::AssertKind; // in scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:41:25: 41:29 scope 2 { debug kind => _11; // in scope 2 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:41:25: 41:29 } } scope 3 { debug left_val => _23; // in scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:14: 39:22 debug right_val => _24; // in scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:24: 39:33 let _29: core::panicking::AssertKind; // in scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:41:25: 41:29 scope 4 { debug kind => _29; // in scope 4 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:41:25: 41:29 } } bb0: { _3 = function_with_bytes::<&*b"AAAA">() -> bb1; // scope 0 at <anon>:10:16: 10:48 // mir::Constant // + span: <anon>:10:16: 10:46 // + user_ty: UserType(0) // + literal: Const { ty: fn() -> &'static [u8] {function_with_bytes::<&*b"AAAA">}, val: Value(<ZST>) } } bb1: { _2 = &_3; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:16: 38:22 _38 = const main::promoted[1]; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 // mir::Constant // + span: /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 // + literal: Const { ty: &&[u8; 4], val: Unevaluated(main, [], Some(promoted[1])) } _4 = _38; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 Deinit(_1); // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:15: 38:32 (_1.0: &&[u8]) = move _2; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:15: 38:32 (_1.1: &&[u8; 4]) = move _4; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:15: 38:32 _5 = (_1.0: &&[u8]); // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:14: 39:22 _6 = (_1.1: &&[u8; 4]); // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:24: 39:33 _9 = _5; // scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:22: 40:31 _10 = _6; // scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:35: 40:45 _8 = <&[u8] as PartialEq<&[u8; 4]>>::eq(move _9, move _10) -> bb2; // scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:21: 40:46 // mir::Constant // + span: /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:21: 40:46 // + literal: Const { ty: for<'r, 's> fn(&'r &[u8], &'s &[u8; 4]) -> bool {<&[u8] as PartialEq<&[u8; 4]>>::eq}, val: Value(<ZST>) } } bb2: { _7 = Not(move _8); // scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:20: 40:46 switchInt(move _7) -> [false: bb4, otherwise: bb3]; // scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:20: 40:46 } bb3: { Deinit(_11); // scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:41:32: 41:65 discriminant(_11) = 0; // scope 1 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:41:32: 41:65 _13 = const core::panicking::AssertKind::Eq; // scope 2 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:54: 45:58 // mir::Constant // + span: /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:54: 45:58 // + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) } _15 = _5; // scope 2 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:60: 45:70 _14 = _15; // scope 2 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:60: 45:70 _17 = _6; // scope 2 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:72: 45:83 _16 = _17; // scope 2 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:72: 45:83 Deinit(_18); // scope 2 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:85: 45:113 discriminant(_18) = 0; // scope 2 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:85: 45:113 _12 = core::panicking::assert_failed::<&[u8], &[u8; 4]>(move _13, move _14, move _16, move _18); // scope 2 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:21: 45:114 // mir::Constant // + span: /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:21: 45:53 // + literal: Const { ty: for<'r, 's, 't0> fn(core::panicking::AssertKind, &'r &[u8], &'s &[u8; 4], Option<Arguments<'t0>>) -> ! {core::panicking::assert_failed::<&[u8], &[u8; 4]>}, val: Value(<ZST>) } } bb4: { _21 = function_with_bytes::<&*b"AAAA">() -> bb5; // scope 0 at <anon>:11:16: 11:70 // mir::Constant // + span: <anon>:11:16: 11:68 // + user_ty: UserType(1) // + literal: Const { ty: fn() -> &'static [u8] {function_with_bytes::<&*b"AAAA">}, val: Value(<ZST>) } } bb5: { _20 = &_21; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:16: 38:22 _37 = const main::promoted[0]; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 // mir::Constant // + span: /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 // + literal: Const { ty: &&[u8; 4], val: Unevaluated(main, [], Some(promoted[0])) } _22 = _37; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 Deinit(_19); // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:15: 38:32 (_19.0: &&[u8]) = move _20; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:15: 38:32 (_19.1: &&[u8; 4]) = move _22; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:15: 38:32 _23 = (_19.0: &&[u8]); // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:14: 39:22 _24 = (_19.1: &&[u8; 4]); // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:39:24: 39:33 _27 = _23; // scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:22: 40:31 _28 = _24; // scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:35: 40:45 _26 = <&[u8] as PartialEq<&[u8; 4]>>::eq(move _27, move _28) -> bb6; // scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:21: 40:46 // mir::Constant // + span: /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:21: 40:46 // + literal: Const { ty: for<'r, 's> fn(&'r &[u8], &'s &[u8; 4]) -> bool {<&[u8] as PartialEq<&[u8; 4]>>::eq}, val: Value(<ZST>) } } bb6: { _25 = Not(move _26); // scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:20: 40:46 switchInt(move _25) -> [false: bb8, otherwise: bb7]; // scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:40:20: 40:46 } bb7: { Deinit(_29); // scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:41:32: 41:65 discriminant(_29) = 0; // scope 3 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:41:32: 41:65 _31 = const core::panicking::AssertKind::Eq; // scope 4 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:54: 45:58 // mir::Constant // + span: /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:54: 45:58 // + literal: Const { ty: core::panicking::AssertKind, val: Value(Scalar(0x00)) } _33 = _23; // scope 4 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:60: 45:70 _32 = _33; // scope 4 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:60: 45:70 _35 = _24; // scope 4 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:72: 45:83 _34 = _35; // scope 4 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:72: 45:83 Deinit(_36); // scope 4 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:85: 45:113 discriminant(_36) = 0; // scope 4 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:85: 45:113 _30 = core::panicking::assert_failed::<&[u8], &[u8; 4]>(move _31, move _32, move _34, move _36); // scope 4 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:21: 45:114 // mir::Constant // + span: /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:45:21: 45:53 // + literal: Const { ty: for<'r, 's, 't0> fn(core::panicking::AssertKind, &'r &[u8], &'s &[u8; 4], Option<Arguments<'t0>>) -> ! {core::panicking::assert_failed::<&[u8], &[u8; 4]>}, val: Value(<ZST>) } } bb8: { return; // scope 0 at <anon>:12:2: 12:2 } } promoted[0] in main: &&[u8; 4] = { let mut _0: &&[u8; 4]; // return place in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 let mut _1: &[u8; 4]; // in scope 0 at <anon>:11:72: 11:79 bb0: { _1 = const b"AAAA"; // scope 0 at <anon>:11:72: 11:79 // mir::Constant // + span: <anon>:11:72: 11:79 // + literal: Const { ty: &[u8; 4], val: Value(Scalar(alloc4)) } _0 = &_1; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 return; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 } } alloc4 (size: 4, align: 1) { 41 41 41 41 │ AAAA } promoted[1] in main: &&[u8; 4] = { let mut _0: &&[u8; 4]; // return place in scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 let mut _1: &[u8; 4]; // in scope 0 at <anon>:10:50: 10:75 let mut _2: [u8; 4]; // in scope 0 at <anon>:10:51: 10:75 bb0: { _2 = [const 65_u8, const 65_u8, const 65_u8, const 65_u8]; // scope 0 at <anon>:10:51: 10:75 _1 = &_2; // scope 0 at <anon>:10:50: 10:75 _0 = &_1; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 return; // scope 0 at /rustc/2643b16468fda787470340890212591d8bc832b7/library/core/src/macros/mod.rs:38:24: 38:31 } } main::{constant#0}: &[u8; 4] = { let mut _0: &[u8; 4]; // return place in scope 0 at <anon>:10:38: 10:45 bb0: { _0 = const b"AAAA"; // scope 0 at <anon>:10:38: 10:45 // mir::Constant // + span: <anon>:10:38: 10:45 // + literal: Const { ty: &[u8; 4], val: Value(Scalar(alloc5)) } return; // scope 0 at <anon>:10:38: 10:45 } } alloc5 (size: 4, align: 1) { 41 41 41 41 │ AAAA } main::{constant#1}: &[u8; 4] = { let mut _0: &[u8; 4]; // return place in scope 0 at <anon>:11:38: 11:67 let _1: &[u8; 4]; // in scope 0 at <anon>:11:40: 11:65 let _2: [u8; 4]; // in scope 0 at <anon>:11:41: 11:65 let mut _3: &[u8; 4]; // in scope 0 at <anon>:11:40: 11:65 bb0: { StorageLive(_1); // scope 0 at <anon>:11:40: 11:65 _3 = const main::{constant#1}::promoted[0]; // scope 0 at <anon>:11:40: 11:65 // mir::Constant // + span: <anon>:11:40: 11:65 // + literal: Const { ty: &[u8; 4], val: Unevaluated(main::{constant#1}, [], Some(promoted[0])) } _1 = &(*_3); // scope 0 at <anon>:11:40: 11:65 _0 = &(*_1); // scope 0 at <anon>:11:40: 11:65 StorageDead(_1); // scope 0 at <anon>:11:66: 11:67 return; // scope 0 at <anon>:11:38: 11:67 } } promoted[0] in main::{constant#1}: &[u8; 4] = { let mut _0: &[u8; 4]; // return place in scope 0 at <anon>:11:40: 11:65 let mut _1: [u8; 4]; // in scope 0 at <anon>:11:41: 11:65 bb0: { _1 = [const 65_u8, const 65_u8, const 65_u8, const 65_u8]; // scope 0 at <anon>:11:41: 11:65 _0 = &_1; // scope 0 at <anon>:11:40: 11:65 return; // scope 0 at <anon>:11:40: 11:65 } } === stderr === ==============
Alexendoo
approved these changes
Jul 28, 2022
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue: rust-lang/rust#99325