What happens when you don't use a metric in k-means? K-means is a clustering algorithm which works like this:

def kmeans(int k, Coordinate[] points):
    Step 1: initialize k cluster centers to any (distinct) coordinates
    Step 2: check which points are closest to which cluster centers
    Step 3: move the cluster centers so they are central to their nodes
            e.g. by taking the average coordinate
    Step 4: back to step 2 (with some stop criterion)


Usually, the Euclidean metric is used in Step 2. What happens when no metric,  but only a (symmetric) function $d: points \times points \rightarrow \mathbb{R}$ is used? Can k-means still produce meaningful results?
You should use k-means when you have coordinates and a euclidian distance metric. Its not just the distance that matters - you need to reassign cluster centers. So if you have coordinates, why use something other than euclidian distance? If you don't have coordinates, you can't use K-means.