diff --git a/ices/79674.rs b/ices/79674.rs new file mode 100644 index 00000000..d55986c1 --- /dev/null +++ b/ices/79674.rs @@ -0,0 +1,28 @@ +#![feature(const_generics)] +#![feature(const_evaluatable_checked)] +#![feature(const_fn)] + +trait MiniTypeId { + const TYPE_ID: u64; +} + +impl MiniTypeId for T { + const TYPE_ID: u64 = 0; +} + +enum Lift {} + +trait IsFalse {} +impl IsFalse for Lift {} + +const fn is_same_type() -> bool { + T::TYPE_ID == U::TYPE_ID +} + +fn requires_distinct(_a: A, _b: B) where + A: MiniTypeId, B: MiniTypeId, + Lift<{is_same_type::()}>: IsFalse {} + +fn main() { + requires_distinct("str", 12); +} \ No newline at end of file