# 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" ])

import("//example.gni")

group("example_lib") {
  public_deps = [ ":example_lib-v1_0_0" ]

  visibility = example_visibility_var
}

rust_library("example_lib-v1_0_0") {
  crate_name = "example_lib"
  crate_root = "//visibility/example_lib/src/lib.rs"
  output_name = "example_lib-4b9f22a13a4b11e0"

  deps = []

  rustenv = []

  rustflags = [
    "--cap-lints=allow",
    "--edition=2021",
    "-Cmetadata=4b9f22a13a4b11e0",
    "-Cextra-filename=-4b9f22a13a4b11e0",
  ]

  visibility = [ ":*" ]

  applicable_licenses = []
}
