Synthetica9 / nix-linter

Linter for the Nix expression language
BSD 3-Clause "New" or "Revised" License
158 stars 16 forks source link

Incorrect "unused argument" classification #25

Closed puffnfresh closed 5 years ago

puffnfresh commented 5 years ago

Given wrap-jar.nix:

{ stdenv, makeWrapper, jre }:
{ name, jar, javaFlags ? "" }:

stdenv.mkDerivation rec {
  inherit name;

  buildInputs = [ makeWrapper ];

  phases = [ "installPhase" ];
  installPhase = ''
    mkdir -p $out/bin
    makeWrapper ${jre}/bin/java $out/bin/${name} \
      --add-flags "${javaFlags} -jar ${jar}"
  '';
}

We get:

Unused argument name at wrap-jar.nix:2:1-16:1

But I count 2 uses of name.

Synthetica9 commented 5 years ago

Reduces to:

bar:

rec {
  inherit bar;
}

This might be an upstream issue in hnix, but I'll investigate further.