# 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

import("//build/licenses/license.gni")

gn_source_root = rebase_path("//", root_build_dir)
not_needed([ "gn_source_root" ])

group("simple") {
  public_deps = [ ":simple-v1_0_25" ]
}

rust_library("simple-v1_0_25") {
  crate_name = "simple"
  crate_root = "//simple/src/lib.rs"
  output_name = "simple-3b5ec47e038ac967"

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2018",
    "-Cmetadata=3b5ec47e038ac967",
    "-Cextra-filename=-3b5ec47e038ac967",
  ]

  visibility = [ ":*" ]

  applicable_licenses = []
}
