Commit 9fd753ea authored by Sergei Trofimovich's avatar Sergei Trofimovich Committed by SomeoneSerge
Browse files

cuda-modules: fix `sort` predicate stability

Incorrect sorting predicate was found as part of
https://github.com/NixOS/nix/issues/12106 where `nix` was crashing on
the code like:

    $ nix eval --expr 'builtins.sort (a: b: true) [ 1 2 3 ]'
    ...
    Aborted (core dumped)

Note: the crash happens here because sorting predicate does not
implement `isLess` and triggers assertion failures for
`std::stable_sort` that backs `builtins.sort`.

THe change restore `isLess` semantic for `preferable`.
parent 8fa343c6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ let
  redistArch = flags.getRedistArch hostPlatform.system;

  preferable =
    p1: p2: (isSupported p2 -> isSupported p1) && (strings.versionAtLeast p1.version p2.version);
    p1: p2: (isSupported p2 -> isSupported p1) && (strings.versionOlder p2.version p1.version);

  # All the supported packages we can build for our platform.
  # perSystemReleases :: List Package