Treat rustfmt as optional (#1164)
Treat rustfmt as optional (#1164)

All the code above this call treats rustfmt as optional, but then when
we make the BUILD for the rust toolchain, we unconditionally point at
the presumed rustfmt label.

At
https://github.com/bazelbuild/rules_rust/blob/59fab4e79f62bfa13551ac851a40696c24c0c3a4/rust/toolchain.bzl#L331-L335
we conditionally create a symlink based on whether the attribute is set,
but because we unconditionally set the attribute, this causes a hard
error failing to symlink to a non-existent file.

Instead, treat rustfmt as optional in this function too, so that the
code above and below properly convey the optionality to each other.
bazelbuild/rules_rust,bazelbuild/rules_rust,bazelbuild/rules_rust,bazelbuild/rules_rust,bazelbuild/rules_rust