Files
lix/src/libexpr/print-ambiguous.hh
T
Raito Bezarius 19ad871b74 chore(libexpr): license it under LGPL-2.1-only
Progress towards REUSE compliance.

Change-Id: Ia64efc4fbf4e8eb3800b75159f357ea009438ae1
Signed-off-by: Raito Bezarius <raito@lix.systems>
2024-08-10 20:47:12 +02:00

30 lines
695 B
C++

// SPDX-FileCopyrightText: 2024 Nix and Lix Authors
//
// SPDX-License-Identifier: LGPL-2.1-only
#pragma once
///@file
#include "value.hh"
namespace nix {
/**
* Print a value in the deprecated format used by `nix-instantiate --eval` and
* `nix-env` (for manifests).
*
* This output can't be changed because it's part of the `nix-instantiate` API,
* but it produces ambiguous output; unevaluated thunks and lambdas (and a few
* other types) are printed as Nix path syntax like `<CODE>`.
*
* See: https://github.com/NixOS/nix/issues/9730
*/
void printAmbiguous(
Value &v,
const SymbolTable &symbols,
std::ostream &str,
std::set<const void *> *seen,
int depth);
}