blob: 364827e9444f6e5eebbcad91016729f2cea5be86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
//@ known-bug: rust-lang/rust#129556
#![feature(adt_const_params)]
#![feature(generic_const_exprs)]
use core::marker::ConstParamTy;
// #[derive(ConstParamTy, PartialEq, Eq)]
// struct StructOrEnum;
#[derive(ConstParamTy, PartialEq, Eq)]
enum StructOrEnum {
A,
}
trait TraitParent<const SMTH: StructOrEnum = { StructOrEnum::A }> {}
trait TraitChild<const SMTH: StructOrEnum = { StructOrEnum::A }>: TraitParent<SMTH> {}
impl TraitParent for StructOrEnum {}
// ICE occurs
impl TraitChild for StructOrEnum {}
// ICE does not occur
// impl TraitChild<{ StructOrEnum::A }> for StructOrEnum {}
|