From 677c10c50e6944e9e11d5579048f77cab59cf91a Mon Sep 17 00:00:00 2001 From: Ary Borenszweig Date: Tue, 25 Feb 2025 13:10:38 -0300 Subject: [PATCH] fix: don't crash on broken impl syntax (#7512) --- compiler/noirc_frontend/src/elaborator/mod.rs | 2 +- test_programs/compile_failure/broken_impl/Nargo.toml | 7 +++++++ test_programs/compile_failure/broken_impl/src/main.nr | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 test_programs/compile_failure/broken_impl/Nargo.toml create mode 100644 test_programs/compile_failure/broken_impl/src/main.nr diff --git a/compiler/noirc_frontend/src/elaborator/mod.rs b/compiler/noirc_frontend/src/elaborator/mod.rs index 7b553b88ac9..a65a1a94cf1 100644 --- a/compiler/noirc_frontend/src/elaborator/mod.rs +++ b/compiler/noirc_frontend/src/elaborator/mod.rs @@ -2134,7 +2134,7 @@ impl<'context> Elaborator<'context> { let span = location.span; let found = trait_impl.r#trait.typ.to_string(); self.push_err(ResolverError::ExpectedTrait { span, found }, location.file); - continue; + (None, GenericTypeArgs::default(), location) } }; diff --git a/test_programs/compile_failure/broken_impl/Nargo.toml b/test_programs/compile_failure/broken_impl/Nargo.toml new file mode 100644 index 00000000000..a200adc27b0 --- /dev/null +++ b/test_programs/compile_failure/broken_impl/Nargo.toml @@ -0,0 +1,7 @@ +[package] +name = "broken_impl" +type = "bin" +authors = [""] +compiler_version = ">=0.26.0" + +[dependencies] diff --git a/test_programs/compile_failure/broken_impl/src/main.nr b/test_programs/compile_failure/broken_impl/src/main.nr new file mode 100644 index 00000000000..033b0e741ed --- /dev/null +++ b/test_programs/compile_failure/broken_impl/src/main.nr @@ -0,0 +1,2 @@ +// This used to crash the compiler +impl< Foo for