blob: 7fdd2770db894ce6c4e8de1ff5aa19d95d7d1d05 [file]
// Copyright 2026 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/// Errors returned by the GN Starlark rule system.
#[derive(thiserror::Error, Debug)]
pub(crate) enum Error {
#[error("Rule must be assigned to a global variable to be used")]
RuleMustBeNamed,
#[error("Parent must be a rule")]
ParentMustBeARule,
#[error("Attribute '{0}' is reserved")]
ReservedAttribute(String),
}
impl From<Error> for starlark::Error {
fn from(err: Error) -> Self {
starlark::Error::new_other(err)
}
}
impl From<Error> for starlark::values::FreezeError {
fn from(err: Error) -> Self {
Self::new(err.to_string())
}
}