Skip to content

Commit 569dde3

Browse files
authored
Revert "Fix diagnostics reporter main crates setup (#1514)" (#1540)
1 parent 2fc6baf commit 569dde3

File tree

7 files changed

+57
-15
lines changed

7 files changed

+57
-15
lines changed

scarb/src/compiler/compilers/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ impl Compiler for LibCompiler {
5656

5757
let target_dir = unit.target_dir(ws);
5858

59-
let main_crate_ids = collect_main_crate_ids(&unit, db);
59+
let compiler_config = build_compiler_config(&unit, ws);
6060

61-
let compiler_config = build_compiler_config(&unit, &main_crate_ids, ws);
61+
let main_crate_ids = collect_main_crate_ids(&unit, db);
6262

6363
validate_compiler_config(db, &compiler_config, &unit, ws);
6464

scarb/src/compiler/compilers/starknet_contract.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -227,9 +227,9 @@ impl Compiler for StarknetContractCompiler {
227227

228228
let target_dir = unit.target_dir(ws);
229229

230-
let main_crate_ids = collect_main_crate_ids(&unit, db);
230+
let compiler_config = build_compiler_config(&unit, ws);
231231

232-
let compiler_config = build_compiler_config(&unit, &main_crate_ids, ws);
232+
let main_crate_ids = collect_main_crate_ids(&unit, db);
233233

234234
let contracts = find_project_contracts(
235235
db.upcast_mut(),

scarb/src/compiler/compilers/test.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ impl Compiler for TestCompiler {
3232
&& plugin.package.id.source_id == SourceId::for_std()
3333
});
3434

35-
let diagnostics_reporter =
36-
build_compiler_config(&unit, &main_crate_ids, ws).diagnostics_reporter;
35+
let diagnostics_reporter = build_compiler_config(&unit, ws).diagnostics_reporter;
3736

3837
diagnostics_reporter
3938
.with_crates(&main_crate_ids)

scarb/src/compiler/helpers.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use crate::flock::Filesystem;
1616

1717
pub fn build_compiler_config<'c>(
1818
unit: &CairoCompilationUnit,
19-
main_crate_ids: &[CrateId],
2019
ws: &Workspace<'c>,
2120
) -> CompilerConfig<'c> {
2221
let diagnostics_reporter = DiagnosticsReporter::callback({
@@ -44,8 +43,7 @@ pub fn build_compiler_config<'c>(
4443
}
4544
};
4645
}
47-
})
48-
.with_crates(main_crate_ids);
46+
});
4947
CompilerConfig {
5048
diagnostics_reporter: if unit.compiler_config.allow_warnings {
5149
diagnostics_reporter.allow_warnings()

scarb/src/ops/compile.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use scarb_ui::components::Status;
1111
use scarb_ui::HumanDuration;
1212

1313
use crate::compiler::db::{build_scarb_root_database, has_starknet_plugin, ScarbDatabase};
14-
use crate::compiler::helpers::{build_compiler_config, collect_main_crate_ids};
14+
use crate::compiler::helpers::build_compiler_config;
1515
use crate::compiler::plugin::proc_macro;
1616
use crate::compiler::{CairoCompilationUnit, CompilationUnit, CompilationUnitAttributes};
1717
use crate::core::{
@@ -193,9 +193,8 @@ fn check_unit(unit: CompilationUnit, ws: &Workspace<'_>) -> Result<()> {
193193
CompilationUnit::ProcMacro(unit) => proc_macro::check_unit(unit, ws),
194194
CompilationUnit::Cairo(unit) => {
195195
let ScarbDatabase { db, .. } = build_scarb_root_database(&unit, ws)?;
196-
let main_crate_ids = collect_main_crate_ids(&unit, &db);
197196
check_starknet_dependency(&unit, ws, &db, &package_name);
198-
let mut compiler_config = build_compiler_config(&unit, &main_crate_ids, ws);
197+
let mut compiler_config = build_compiler_config(&unit, ws);
199198
compiler_config
200199
.diagnostics_reporter
201200
.ensure(&db)

scarb/src/ops/expand.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -158,12 +158,12 @@ fn do_expand(
158158
ws: &Workspace<'_>,
159159
) -> Result<()> {
160160
let ScarbDatabase { db, .. } = build_scarb_root_database(compilation_unit, ws)?;
161+
let mut compiler_config = build_compiler_config(compilation_unit, ws);
162+
// Report diagnostics, but do not fail.
163+
let _ = compiler_config.diagnostics_reporter.check(&db);
161164
let main_crate_id = db.intern_crate(CrateLongId::Real(
162165
compilation_unit.main_component().cairo_package_name(),
163166
));
164-
let mut compiler_config = build_compiler_config(compilation_unit, &[main_crate_id], ws);
165-
// Report diagnostics, but do not fail.
166-
let _ = compiler_config.diagnostics_reporter.check(&db);
167167
let main_module = ModuleId::CrateRoot(main_crate_id);
168168
let module_file = db
169169
.module_main_file(main_module)

scarb/tests/build.rs

+46
Original file line numberDiff line numberDiff line change
@@ -863,6 +863,52 @@ fn warnings_can_be_disallowed() {
863863
}
864864

865865
#[test]
866+
fn does_show_errors_from_deps() {
867+
let t = TempDir::new().unwrap();
868+
let first = t.child("first");
869+
let second = t.child("second");
870+
ProjectBuilder::start()
871+
.name("first")
872+
.lib_cairo(indoc! {r#"
873+
fn hello() -> felt252 {
874+
;
875+
12
876+
}
877+
"#})
878+
.manifest_extra(indoc! {r#"
879+
[cairo]
880+
allow-warnings = false
881+
"#})
882+
.build(&first);
883+
ProjectBuilder::start()
884+
.name("second")
885+
.lib_cairo(indoc! {r#"
886+
fn hello() -> felt252 { 42 }
887+
"#})
888+
.dep("first", &first)
889+
.manifest_extra(indoc! {r#"
890+
[cairo]
891+
allow-warnings = false
892+
"#})
893+
.build(&second);
894+
Scarb::quick_snapbox()
895+
.arg("build")
896+
.current_dir(&second)
897+
.assert()
898+
.failure()
899+
.stdout_matches(indoc! {r#"
900+
[..]Compiling second v1.0.0 ([..]Scarb.toml)
901+
error: Skipped tokens. Expected: statement.
902+
--> [..]lib.cairo:2:5
903+
;
904+
^
905+
906+
error: could not compile `second` due to previous error
907+
"#});
908+
}
909+
910+
#[test]
911+
#[ignore = "fix(maciektr): hide warnings from dependencies"]
866912
fn does_not_show_warnings_from_deps() {
867913
let t = TempDir::new().unwrap();
868914
let first = t.child("first");

0 commit comments

Comments
 (0)