# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# DO NOT EDIT. THIS FILE IS GENERATED BY CARGO GNAW. EDIT THE CARGO TOML FILE

group("anyhow") {
  public_deps = [ ":anyhow-v1_0_27" ]
}

rust_library("anyhow-v1_0_27") {
  crate_name = "anyhow"
  crate_root = "//simple_deps/vendor/anyhow/src/lib.rs"
  output_name = "anyhow-d49cfcf8c47646f2"
  configs += [ "//build/config:some_config" ]

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=d49cfcf8c47646f2",
    "-Cextra-filename=-d49cfcf8c47646f2",
    "--cfg=feature=\"default\"",
    "--cfg=feature=\"std\"",
    "--cfg=backtrace",
  ]

  visibility = [ ":*" ]
}
