anchor.diff:      dependencies_ = dependencies;
       buildDependencies_ = buildDependencies;
       processedAttrs = [
  -      "src" "buildInputs" "crateBin" "crateLib" "libName" "libPath"
  +      "src" "nativeBuildInputs" "buildInputs" "crateBin" "crateLib" "libName" "libPath"
         "buildDependencies" "dependencies" "features" "crateRenames"
         "crateName" "version" "build" "authors" "colors" "edition"
         "buildTests"
       ];
       extraDerivationAttrs = builtins.removeAttrs crate processedAttrs;
  +    nativeBuildInputs_ = nativeBuildInputs;
       buildInputs_ = buildInputs;
       extraRustcOpts_ = extraRustcOpts;
       buildTests_ = buildTests;
  
positive.code:     src = crate.src or (fetchCrate { inherit (crate) crateName version sha256; });
      name = "rust_${crate.crateName}-${crate.version}${lib.optionalString buildTests_ "-test"}";
      version = crate.version;
      depsBuildBuild = [ rust stdenv.cc cargo jq ];
      buildInputs = (crate.buildInputs or []) ++ buildInputs_;
      dependencies = map lib.getLib dependencies_;
      buildDependencies = map lib.getLib buildDependencies_;
  
negative.code: # This can be useful for deploying packages with NixOps, and to share
  # binary dependencies between projects.
  
  { lib, stdenv, defaultCrateOverrides, fetchCrate, pkgsBuildBuild, rustc, rust
  , cargo, jq }:
  
  let
      # This doesn't appear to be officially documented anywhere yet.
  