about summary refs log tree commit diff
path: root/src/test/ui/const-generics/slice-const-param.rs
blob: bf1bf8af9222c424d88b362772417c68191a9804 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//[full] run-pass
// revisions: min full

#![cfg_attr(full, feature(const_generics))]
#![cfg_attr(full, allow(incomplete_features))]

pub fn function_with_str<const STRING: &'static str>() -> &'static str {
    //[min]~^ ERROR `&'static str` is forbidden
    STRING
}

pub fn function_with_bytes<const BYTES: &'static [u8]>() -> &'static [u8] {
    //[min]~^ ERROR `&'static [u8]` is forbidden
    BYTES
}

pub fn main() {
    assert_eq!(function_with_str::<"Rust">(), "Rust");
    assert_eq!(function_with_str::<"ℇ㇈↦">(), "ℇ㇈↦");
    assert_eq!(function_with_bytes::<b"AAAA">(), &[0x41, 0x41, 0x41, 0x41]);
    assert_eq!(function_with_bytes::<{&[0x41, 0x41, 0x41, 0x41]}>(), b"AAAA");
}