//@ check-pass #![feature(type_alias_impl_trait)] use std::iter::{once, Chain}; fn test1>(x: A) -> Chain> { x.chain(once(",")) } type I = Chain>; #[define_opaque(I)] fn test2>(x: A) -> I { x.chain(once(",")) } fn main() {}