about summary refs log tree commit diff
path: root/lib/systems/default.nix
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2023-06-22 00:18:31 -0700
committerAdam Joseph <adam@westernsemico.com>2023-06-22 00:18:33 -0700
commit00a749a3a641799c1732d1a2a6ec81c18d63eaa8 (patch)
tree739dddf70339bb58b6c4a568bca81ae3af423be7 /lib/systems/default.nix
parent66ee7de7179f8237694cd5195f4f75f2f625b425 (diff)
lib/system: move toLosslessStringMaybe into lib/tests
toLosslessStringMaybe is not used by anything other than lib/tests,
so it can be private to that file.

I don't think this function was terribly well thought-through.  If
people start using it, we will become permanently dependent on the
ability to test platforms for equality.  It also makes the
elaboration process more fragile, because it encourages code outside
of nixpkgs to become sensitive to the minute details of how
elaboration happens.
Diffstat (limited to 'lib/systems/default.nix')
-rw-r--r--lib/systems/default.nix15
1 files changed, 0 insertions, 15 deletions
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index eaf070ca71113..78ccd50ba79a5 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -27,21 +27,6 @@ rec {
     let removeFunctions = a: lib.filterAttrs (_: v: !builtins.isFunction v) a;
     in a: b: removeFunctions a == removeFunctions b;
 
-  /*
-    Try to convert an elaborated system back to a simple string. If not possible,
-    return null. So we have the property:
-
-        sys: _valid_ sys ->
-          sys == elaborate (toLosslessStringMaybe sys)
-
-    NOTE: This property is not guaranteed when `sys` was elaborated by a different
-          version of Nixpkgs.
-  */
-  toLosslessStringMaybe = sys:
-    if lib.isString sys then sys
-    else if equals sys (elaborate sys.system) then sys.system
-    else null;
-
   /* List of all Nix system doubles the nixpkgs flake will expose the package set
      for. All systems listed here must be supported by nixpkgs as `localSystem`.