
I defer to SimonM but IIRC each stable name corresponds to an entry in the stable-name table; the index in the table is the “stable” thing in a stable name. So I bet that comparison compares these indices.
If two stable names are pointer-equal, they presumably contain the same index into the table.
But is the reverse true? That is, can we be sure that two pointer-distinct stable name objects contain different indices?
Simon
From: ghc-devs