add regression test for #70586
This commit is contained in:
parent
137ca05ccd
commit
eee160cdea
1 changed files with 33 additions and 0 deletions
33
src/test/ui/const-generics/type-dependent/issue-70586.rs
Normal file
33
src/test/ui/const-generics/type-dependent/issue-70586.rs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
// check-pass
|
||||
#![feature(const_generics)]
|
||||
#![allow(incomplete_features)]
|
||||
|
||||
use std::marker::PhantomData;
|
||||
|
||||
// This namespace is necessary for the ICE to trigger
|
||||
struct Namespace;
|
||||
|
||||
impl Namespace {
|
||||
pub fn const_chunks_exact<T, const N: usize>() -> ConstChunksExact<'static, T, N> {
|
||||
ConstChunksExact { inner: PhantomData }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct ConstChunksExact<'a, T, const N: usize> {
|
||||
inner: PhantomData<&'a T>
|
||||
}
|
||||
|
||||
impl <'a, T, const N: usize> Iterator for ConstChunksExact<'a, T, { N }> {
|
||||
type Item = &'a [T; N];
|
||||
|
||||
fn next(&mut self) -> Option<Self::Item> {
|
||||
unreachable!()
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut chunks = Namespace::const_chunks_exact::<i32, 3usize>();
|
||||
let _next: &[i32; 3] = chunks.next().unwrap();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue