// { dg-do assemble  }
template<class T>
class A {
public:
  operator const T*() const;
  const T* cast() const;
};
template<class T>
const T* A<T>::cast() const {
  return operator const T*();
}
template class A<char>;
// { dg-do assemble  }
template<class T>
class A {
public:
  operator const T*() const;
  const T* cast() const;
};
template<class T>
const T* A<T>::cast() const {
  return operator const T*();
}
template class A<char>;