// ignore-tidy-linelength
#![feature(type_alias_impl_trait)]

use std::fmt::Debug;

pub trait Foo {
    type Item: Debug;

    fn foo<T: Debug>(_: T) -> Self::Item;
}

#[derive(Debug)]
pub struct S<T>(std::marker::PhantomData<T>);

pub struct S2;

impl Foo for S2 {
    type Item = impl Debug;

    fn foo<T: Debug>(_: T) -> Self::Item {
    //~^ Error type parameter `T` is part of concrete type but not used in parameter list for the `impl Trait` type alias
        S::<T>(Default::default())
    }
}

fn main() {
    S2::foo(123);
}
