From d8cb903e7ff6dd0550d62c8f9fe33581eed197e6 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 16 May 2022 15:53:01 +0100 Subject: [PATCH] W --- src/main.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main.rs b/src/main.rs index 86167f9..4d52515 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,15 +1,36 @@ #![allow(dead_code)] trait Ish { + const N: usize; const F: &'static [&'static str]; } struct Inner { i: usize, } impl Ish for Inner { + const N: usize = 1; const F: &'static [&'static str] = &["i"]; } +const fn plus(x: &'static [&'static str], + b: &'static [&'static str]) + -> &'static [&'static str] +{ + unsafe { + static mut A: [MaybeUninit<&'static str>; _] = [MaybeUninit::new_uninit(); an + bn]; + } + panic!() +} + +struct Outer { o: usize, } +impl Ish for Outer { + const F: &'static [&'static str] = plus( + Inner::N, Inner::F, + 1, &["o"] + ); +} + fn main(){ eprintln!("IF {:?}", Inner::F); + eprintln!("OF {:?}", Outer::F); } -- 2.30.2