Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Print top-level errors normally in nix repl #10209

Merged

Commits on Mar 10, 2024

  1. Print top-level errors normally in nix repl

    Previously, errors while printing values in `nix repl` would be printed
    in `«error: ...»` brackets rather than displayed normally:
    
    ```
    nix-repl> legacyPackages.aarch64-darwin.pythonPackages.APScheduler
    «error: Package ‘python-2.7.18.7’ in /nix/store/6s0m1qc31zw3l3kq0q4wd5cp3lqpkq0q-source/pkgs/development/interpreters/python/cpython/2.7/default.nix:335 is marked as insecure, refusing to evaluate.»
    ```
    
    Now, errors will be displayed normally if they're emitted at the
    top-level of an expression:
    
    ```
    nix-repl> legacyPackages.aarch64-darwin.pythonPackages.APScheduler
    error:
           … in the condition of the assert statement
             at /nix/store/6s0m1qc31zw3l3kq0q4wd5cp3lqpkq0q-source/lib/customisation.nix:268:17:
              267|     in commonAttrs // {
              268|       drvPath = assert condition; drv.drvPath;
                 |                 ^
              269|       outPath = assert condition; drv.outPath;
    
           … in the left operand of the OR (||) operator
             at /nix/store/6s0m1qc31zw3l3kq0q4wd5cp3lqpkq0q-source/pkgs/development/interpreters/python/passthrufun.nix:28:45:
               27|         if lib.isDerivation value then
               28|           lib.extendDerivation (valid value || throw "${name} should use `buildPythonPackage` or `toPythonModule` if it is to be part of the Python packages set.") {} value
                 |                                             ^
               29|         else
    
           (stack trace truncated; use '--show-trace' to show the full trace)
    
           error: Package ‘python-2.7.18.7’ in /nix/store/6s0m1qc31zw3l3kq0q4wd5cp3lqpkq0q-source/pkgs/development/interpreters/python/cpython/2.7/default.nix:335 is marked as insecure, refusing to evaluate.
    ```
    
    Errors emitted in nested structures (like e.g. when printing `nixpkgs`)
    will still be printed in brackets.
    9999years committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    d13c63a View commit details
    Browse the repository at this point in the history