Es ist mein Verständnis, dass die Konstruktoren eines Typs, die keine Felder haben, "statisch zugewiesen" sind und GHC teilt diese zwischen allen Anwendungen , und dass der GC diese nicht verschiebt .
Wenn das korrekt ist, würde ich die Verwendung von reallyUnsafePtrEquality#
auf Werte wie False
und Nothing
als sehr sicher (keine falsch negativen oder positiven), weil sie nur als identische Zeiger auf die dargestellt werden können einzelne Instanz dieses Konstruktors.
Stimmt meine Argumentation? Gibt es irgendwelche potenziellen Fehler oder Gründe zu vermuten, dass dies in naher Zukunft Versionen von GHC unsicher werden könnte?