#include <iostream>
#include <type_traits>
#include <vector>
using namespace std;
struct bar{
	
};
template<typename T>
void foo(const T &t){
	static_assert(std::is_same<typename T::value_type,bar>::value
	 ,"element type must be bar"
	);
}

int main() {
	// your code goes here
	
	foo(std::vector<bar>());
	foo(std::vector<int>());
	
	return 0;
}