| // Testing the display of range types in cdb. |
| |
| //@ only-cdb |
| |
| // FIXME(jieyouxu): triple check in CI if the directive actually works |
| //@ min-cdb-version: 10.0.26100.2161 |
| |
| //@ compile-flags:-g |
| |
| // === CDB TESTS ================================================================================== |
| |
| // cdb-command: g |
| |
| // cdb-command: dx r1,d |
| // cdb-check:r1,d : (3..5) [Type: core::ops::range::Range<i32>] |
| // cdb-check: [+0x000] start : 3 [Type: int] |
| // cdb-check: [+0x004] end : 5 [Type: int] |
| |
| // cdb-command: dx r2,d |
| // cdb-check:r2,d : (2..) [Type: core::ops::range::RangeFrom<i32>] |
| // cdb-check: [+0x000] start : 2 [Type: int] |
| |
| // cdb-command: dx r3,d |
| // cdb-check:r3,d : (1..=4) [Type: core::ops::range::RangeInclusive<i32>] |
| // cdb-check: [+0x000] start : 1 [Type: int] |
| // cdb-check: [+0x004] end : 4 [Type: int] |
| // cdb-check: [+0x008] exhausted : false [Type: bool] |
| |
| // cdb-command: dx r4,d |
| // cdb-check:r4,d : (..10) [Type: core::ops::range::RangeTo<i32>] |
| // cdb-check: [+0x000] end : 10 [Type: int] |
| |
| // cdb-command: dx r5,d |
| // cdb-check:r5,d : (..=3) [Type: core::ops::range::RangeToInclusive<i32>] |
| // cdb-check: [+0x000] end : 3 [Type: int] |
| |
| // cdb-command: dx r6,d |
| // cdb-check:r6,d [Type: core::ops::range::RangeFull] |
| |
| #[allow(unused_variables)] |
| |
| use std::ops::{Range, RangeFrom, RangeFull, RangeInclusive, RangeToInclusive}; |
| |
| fn main() |
| { |
| let r1 = (3..5); |
| let r2 = (2..); |
| let r3 = (1..=4); |
| let r4 = (..10); |
| let r5 = (..=3); |
| let r6 = (..); |
| zzz(); // #break |
| } |
| |
| fn zzz() { () } |