// run-pass #![feature(type_alias_impl_trait)] use std::iter::{once, Chain}; type I = Chain>; fn test2>(x: A) -> I { x.chain(once("5")) } fn main() { assert_eq!(vec!["1", "3", "5"], test2(["1", "3"].iter().cloned()).collect::>()); }