mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
26 lines
518 B
Rust
26 lines
518 B
Rust
//@ known-bug: #119299
|
|
#![feature(adt_const_params)]
|
|
#![allow(incomplete_features)]
|
|
|
|
use std::marker::ConstParamTy;
|
|
|
|
#[derive(Eq, PartialEq)]
|
|
struct ConstStrU(*const u8, usize);
|
|
|
|
impl ConstParamTy for &'static ConstStrU {}
|
|
|
|
impl ConstStrU {
|
|
const fn from_bytes(bytes: &'static [u8]) -> Self {
|
|
Self(bytes.as_ptr(), bytes.len())
|
|
}
|
|
}
|
|
|
|
const fn chars_s<const S: &'static ConstStrU>() -> [char; 3] {
|
|
['a','b','c']
|
|
}
|
|
|
|
fn main() {
|
|
const A: &'static ConstStrU = &ConstStrU::from_bytes(b"abc");
|
|
chars_s::<A>();
|
|
}
|