[package]
name = "gnucobol-rs"
version = "0.7.40"
description = "Faithful Rust port of GnuCOBOL packed-decimal (COMP-3), zoned, and display numeric byte semantics and the MOVE conversions between them, proven byte-identical against the GnuCOBOL 3.2 libcob oracle. Plus a PIC->field-model parser , DATA DIVISION record-layout engine, , COPY+REPLACING copybook expander, pure-Rust decimal arithmetic, VALUE initial-record images, PIC P-scaling, OCCURS DEPENDING ON physical-max layout, LEVEL-88 condition-name predicates, and SET-TO-TRUE byte construction. Not a compiler; not arithmetic."
license = "LGPL-3.0-or-later"
keywords = ["cobol", "gnucobol", "packed-decimal", "comp-3", "decimal"]
categories = ["encoding", "parsing"]
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
readme = "README.md"
exclude = ["fuzz/", "/lab", "/reports"]

[lints]
workspace = true

[dependencies]

[features]
default = []
# Surface-only features. They MUST NOT change admitted byte semantics (see GNURUST.UNSAFE.0 /
# the project README): they gate optional code paths, never dialect or conversion behavior.
fuzzing = []
