Files
nih-plug-template/Cargo.toml
T
mikkeli 689891d01b chore: deny future-incompatible warnings
Carried back from Bari 206, where sixteen deferred hard errors had
accumulated unnoticed because nothing distinguished them from style
warnings in the build log.

Future-incompatibility warnings are rustc saying this code stops compiling
on some later release. Denying the group makes that a build failure the
day it appears rather than a surprise during an unrelated toolchain bump.
Every plugin cloned from this template inherits the guard.

Clippy and style lints stay warnings; only the future_incompatible group
is denied.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
2026-09-03 08:25:56 +09:00

49 lines
1.9 KiB
TOML

[package]
name = "nih_plug_template"
version = "0.1.0"
edition = "2021"
authors = ["Your Name <your@email.com>"]
homepage = "https://github.com/YOUR-USERNAME/YOUR-PLUGIN-NAME"
description = "A minimal NIH-plug audio plugin"
license = "GPL-3.0-or-later"
[workspace]
members = ["xtask"]
[features]
# CLAP only by default. This crate is GPL-3.0-or-later, so enabling VST3 no
# longer raises a licensing question — the gate now just keeps the default build
# light, since `vst3-sys` and its macro machinery are a sizeable dependency a
# CLAP-only plugin never needs. Flip `default` to ["vst3"] if you always want it:
# cargo xtask bundle nih_plug_template --release --features vst3
default = []
vst3 = ["nih_plug/vst3"]
[lib]
# `cdylib` is the plugin binary; `lib` (rlib) lets `cargo test` link the unit tests.
crate-type = ["cdylib", "lib"]
# Future-incompatibility warnings are deferred hard errors: rustc is telling you
# this code stops compiling on some later release. Denying the group turns that
# into a build failure the day it appears, rather than accumulating unnoticed
# until a toolchain bump breaks the build on a day you did not choose. Style and
# clippy lints are deliberately untouched - they stay warnings.
[lints.rust]
future_incompatible = { level = "deny", priority = -1 }
[dependencies]
# Pinned to the same commit as musiikki/codename-206.
# Update the `rev` when you want to update NIH-plug.
# `default-features = false` drops nih_plug's default `vst3` feature; see [features] above.
nih_plug = { git = "https://github.com/robbert-vdh/nih-plug.git", rev = "f36931f7af4646065488a9845d8f8c2f95252c23", default-features = false, features = ["assert_process_allocs"] }
nih_plug_egui = { git = "https://github.com/robbert-vdh/nih-plug.git", rev = "f36931f7af4646065488a9845d8f8c2f95252c23" }
[profile.release]
lto = "thin"
strip = "symbols"
[profile.profiling]
inherits = "release"
debug = true
strip = "none"