//@ run-pass const S: &str = "foo"; pub const B: &[u8] = S.as_bytes(); pub const C: usize = B.len(); pub const D: bool = B.is_empty(); pub const E: bool = S.is_empty(); pub const F: usize = S.len(); pub fn foo() -> [u8; S.len()] { let mut buf = [0; S.len()]; for (i, &c) in S.as_bytes().iter().enumerate() { buf[i] = c; } buf } fn main() { assert_eq!(&foo()[..], b"foo"); assert_eq!(foo().len(), S.len()); const LEN: usize = S.len(); assert_eq!(LEN, S.len()); assert_eq!(B, foo()); assert_eq!(B, b"foo"); assert_eq!(C, 3); assert_eq!(F, 3); assert!(!D); assert!(!E); const EMPTY: bool = "".is_empty(); assert!(EMPTY); }