# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.87.0"
name = "daml-parser"
version = "0.10.0"
authors = ["Steven Nevins"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Lossless lexer, layout resolver, and parser for the Daml smart-contract language"
homepage = "https://github.com/stevennevins/daml-tools"
documentation = "https://docs.rs/daml-parser"
readme = "README.md"
keywords = [
    "daml",
    "parser",
    "lexer",
    "syntax-tree",
    "lossless",
]
categories = [
    "parser-implementations",
    "development-tools",
]
license = "AGPL-3.0-only"
repository = "https://github.com/stevennevins/daml-tools"

[lib]
name = "daml_parser"
path = "src/lib.rs"

[[test]]
name = "ast_render"
path = "tests/ast_render.rs"

[[test]]
name = "declared_fixity_grouping"
path = "tests/declared_fixity_grouping.rs"

[[test]]
name = "diagnostic_goldens"
path = "tests/diagnostic_goldens.rs"

[[test]]
name = "diagnostics_recovery"
path = "tests/diagnostics_recovery.rs"

[[test]]
name = "malformed_recovery"
path = "tests/malformed_recovery.rs"

[[test]]
name = "module_parse_behavior"
path = "tests/module_parse_behavior.rs"

[[test]]
name = "package_qualified_imports"
path = "tests/package_qualified_imports.rs"

[[test]]
name = "parser_non_goals_guardrail"
path = "tests/parser_non_goals_guardrail.rs"

[[test]]
name = "projection_precedence"
path = "tests/projection_precedence.rs"

[[test]]
name = "record_pattern_fields"
path = "tests/record_pattern_fields.rs"

[[test]]
name = "span_losslessness"
path = "tests/span_losslessness.rs"

[[test]]
name = "strict_parse_contract"
path = "tests/strict_parse_contract.rs"

[[test]]
name = "syntax_change_counterexamples"
path = "tests/syntax_change_counterexamples.rs"

[[test]]
name = "type_wiring"
path = "tests/type_wiring.rs"

[dependencies]

[lints.clippy]
branches_sharing_code = "deny"
cast_possible_truncation = "deny"
cast_possible_wrap = "deny"
cast_sign_loss = "deny"
clear_with_drain = "deny"
collection_is_never_read = "deny"
dbg_macro = "deny"
debug_assert_with_mut_call = "deny"
derive_partial_eq_without_eq = "deny"
doc_markdown = "deny"
enum_glob_use = "deny"
fallible_impl_from = "deny"
fn_params_excessive_bools = "deny"
format_push_string = "deny"
ignored_unit_patterns = "deny"
items_after_statements = "deny"
iter_not_returning_iterator = "deny"
iter_with_drain = "deny"
iter_without_into_iter = "warn"
literal_string_with_formatting_args = "deny"
manual_let_else = "warn"
match_bool = "deny"
match_same_arms = "deny"
match_wildcard_for_single_variants = "warn"
missing_const_for_fn = "deny"
missing_errors_doc = "deny"
missing_fields_in_debug = "warn"
missing_panics_doc = "deny"
must_use_candidate = "deny"
needless_collect = "deny"
needless_pass_by_ref_mut = "deny"
needless_pass_by_value = "deny"
option_if_let_else = "deny"
or_fun_call = "deny"
path_buf_push_overwrite = "deny"
pub_underscore_fields = "deny"
redundant_clone = "deny"
ref_option = "deny"
return_self_not_must_use = "deny"
search_is_some = "deny"
struct_excessive_bools = "deny"
todo = "deny"
too_long_first_doc_paragraph = "deny"
trait_duplication_in_bounds = "deny"
type_repetition_in_bounds = "deny"
unimplemented = "deny"
uninlined_format_args = "deny"
unnested_or_patterns = "deny"
unused_peekable = "deny"
unwrap_used = "deny"
use_self = "deny"
useless_let_if_seq = "deny"
wildcard_imports = "deny"

[lints.clippy.all]
level = "deny"
priority = -1

[lints.clippy.cargo]
level = "deny"
priority = -1

[lints.clippy.nursery]
level = "warn"
priority = -1

[lints.rust]
unsafe_code = "forbid"

[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1

[lints.rustdoc]
bare_urls = "deny"
broken_intra_doc_links = "deny"
invalid_codeblock_attributes = "deny"
private_intra_doc_links = "deny"
