diff --git a/app/buck2_interpreter_for_build/src/attrs/attrs_global.rs b/app/buck2_interpreter_for_build/src/attrs/attrs_global.rs index 8b75cf27a3fe..2d26d7c327a8 100644 --- a/app/buck2_interpreter_for_build/src/attrs/attrs_global.rs +++ b/app/buck2_interpreter_for_build/src/attrs/attrs_global.rs @@ -217,16 +217,11 @@ fn attr_module(registry: &mut GlobalsBuilder) { let coerced_default = match default { None => None, - Some(default) => { - match coercer.coerce( - AttrIsConfigurable::Yes, - &attr_coercion_context_for_bzl(eval)?, - default, - ) { - Ok(coerced_default) => Some(coerced_default), - Err(_) => return Err(ValueError::IncorrectParameterType.into()), - } - } + Some(default) => Some(coercer.coerce( + AttrIsConfigurable::Yes, + &attr_coercion_context_for_bzl(eval)?, + default, + )?), }; Ok(StarlarkAttribute::new(Attribute::new( @@ -262,16 +257,11 @@ fn attr_module(registry: &mut GlobalsBuilder) { let coerced_default = match default { None => None, - Some(default) => { - match coercer.coerce( - AttrIsConfigurable::Yes, - &attr_coercion_context_for_bzl(eval)?, - default, - ) { - Ok(coerced_default) => Some(coerced_default), - Err(_) => return Err(ValueError::IncorrectParameterType.into()), - } - } + Some(default) => Some(coercer.coerce( + AttrIsConfigurable::Yes, + &attr_coercion_context_for_bzl(eval)?, + default, + )?), }; Ok(StarlarkAttribute::new(Attribute::new( diff --git a/tests/core/interpreter/test_attr_default_coercion_data/golden/default_not_a_label.golden.stderr b/tests/core/interpreter/test_attr_default_coercion_data/golden/default_not_a_label.golden.stderr index a00b962cbf75..e98cd9775e76 100644 --- a/tests/core/interpreter/test_attr_default_coercion_data/golden/default_not_a_label.golden.stderr +++ b/tests/core/interpreter/test_attr_default_coercion_data/golden/default_not_a_label.golden.stderr @@ -12,10 +12,12 @@ Caused by: 2: Traceback (most recent call last): * error_rule.bzl:22, in "someattr": attrs.transition_dep(default = "notaproperlabel", cfg = _transiti... - error: Type of parameters mismatch + + error: Error coercing "notaproperlabel" --> error_rule.bzl:22:21 | 22 | "someattr": attrs.transition_dep(default = "notaproperlabel", cfg = _transition), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | - + 3: Invalid target pattern `notaproperlabel` is not allowed + 4: Expected a `:`, a trailing `/...` or the literal `...`.