looklook 0.5.0

Descriptive signal synthesiser.
// Copyright 2026 Gabriel Bjørnager Jensen.
//
// This file is part of LOOKLOOK.
//
// LOOKLOOK is free software: you can redistribute
// it and/or modify it under the terms of the GNU
// Affero General Public License as published by
// the Free Software Foundation, either version 3
// of the License, or (at your option) any later
// version.
//
// LOOKLOOK is distributed in the hope that it will
// be useful, but WITHOUT ANY WARRANTY; without
// even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Affero General Public License for more details.
//
// You should have received a copy of the GNU Af-
// fero General Public License along with LOOKLOOK.
// If not, see <https://www.gnu.org/licenses/>.

//! The [`FormatFromStrError`] type.

use std::error::Error;
use std::fmt::{self, Display, Formatter};

/// An output [`Format`] could not be parsed.
///
/// [`Format`]: crate::config::Format
#[derive(Debug)]
#[derive_const(Clone)]
pub struct FormatFromStrError(pub(super) ());

impl Display for FormatFromStrError {
	fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
		f.write_str("unknown output format")
	}
}

impl Error for FormatFromStrError {}