Generic type Interface conformity in Java

interface IVehicle {
    void test();
}

class Car implements IVehicle {
    public void test() {
        //Implementation
    }
}

class Truck { }

class Service<T extends IVehicle> {
    List<T> list = new ArrayList<T>();

    public void add(T item) {
        list.add(item);
    }

    public void test() {
        for (T item : list) {
            item.test();
        }
    }
}

Service<IVehicle> service = new Service<>();
service.add(new Car());
service.test();

service.add(new Truck());//<- Error