From 0b79e93c84185d7b904cf66090d2e064b4b5dfba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fe=CC=81lix=20Saparelli?= Date: Sun, 11 Apr 2021 00:56:47 +1200 Subject: [PATCH] Mark cli::Args non-exhaustive so ArgsBuilder usage is mandatory --- src/cli.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cli.rs b/src/cli.rs index 2ae67a6..73d98b4 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -1,7 +1,6 @@ //! CLI arguments and library Args struct //! -//! Use `ArgsBuilder` preferentially as that will shield you from breaking changes resulting from -//! added fields and some field type changes. +//! The [`Args`] struct is not constructable, use [`ArgsBuilder`]. //! //! # Examples //! @@ -26,6 +25,7 @@ use std::{ #[derive(Builder, Clone, Debug)] #[builder(setter(into, strip_option))] #[builder(build_fn(validate = "Self::validate"))] +#[non_exhaustive] pub struct Args { /// Command to execute in popen3 format (first program, rest arguments). pub cmd: Vec,