// Build don't link:

struct IsCompressed { };
struct Field {
};

template<class C>
inline bool
for_each(const Field& p, IsCompressed, C)
{
  return p.IsCompressed(); // ERROR - calling type like a method
}

template bool for_each<int>(const Field& p, IsCompressed, int); // ERROR - instantiated from here
