diff --git a/Cargo.toml b/Cargo.toml index 775457398d3..e2ca1d1dbd8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,8 +8,8 @@ members = [ "src/v1/stage0_std_core", "src/v1/stage0_std_surface", "src/v1/stage0_extdeps_languages", - "src/v1/stage0_v1_infer", "src/v1/stage0_v1_artifact", + "src/v1/stage0_v1_infer", "src/v1/stage0_emit_core", # END generated stage0 crate members "src/v1/tests", diff --git a/dag/gunbc/stage0_crate_partition_generated.dag b/dag/gunbc/stage0_crate_partition_generated.dag index db9f11b1806..3a278933df0 100644 --- a/dag/gunbc/stage0_crate_partition_generated.dag +++ b/dag/gunbc/stage0_crate_partition_generated.dag @@ -112,6 +112,7 @@ data generated_partition_crate_rows: List = [ "extdeps_languages_python_emit", "extdeps_languages_python_syntax", "extdeps_languages_python_types", + "extdeps_languages_rust_capabilities", "extdeps_languages_rust_emit", "extdeps_languages_rust_syntax", "extdeps_languages_rust_types" @@ -124,17 +125,12 @@ data generated_partition_crate_rows: List = [ carries_non_empty_wrappers: false }, GeneratedPartitionCrateRow { - package_name: "v1-stage0-v1-infer", - crate_dir: "src/v1/stage0_v1_infer", + package_name: "v1-stage0-v1-artifact", + crate_dir: "src/v1/stage0_v1_artifact", kind: GeneratedLayeredCoreCrate, modules: [ - "v1_compiler_infer_emit_info", - "v1_compiler_infer_env", - "v1_compiler_infer_items", - "v1_compiler_infer_occurrence_binding", - "v1_compiler_infer_service", - "v1_compiler_infer_sigs", - "v1_compiler_infer_types" + "v1_compiler_artifact", + "v1_compiler_languages" ], reexport_packages: [ "v1-stage0-runtime", @@ -145,19 +141,26 @@ data generated_partition_crate_rows: List = [ carries_non_empty_wrappers: false }, GeneratedPartitionCrateRow { - package_name: "v1-stage0-v1-artifact", - crate_dir: "src/v1/stage0_v1_artifact", + package_name: "v1-stage0-v1-infer", + crate_dir: "src/v1/stage0_v1_infer", kind: GeneratedLayeredCoreCrate, modules: [ - "v1_compiler_artifact", - "v1_compiler_languages" + "v1_compiler_coercion", + "v1_compiler_infer_emit_info", + "v1_compiler_infer_env", + "v1_compiler_infer_items", + "v1_compiler_infer_occurrence_binding", + "v1_compiler_infer_service", + "v1_compiler_infer_sigs", + "v1_compiler_infer_types", + "v1_compiler_type_head_exposure" ], reexport_packages: [ "v1-stage0-runtime", "v1-stage0-std-core", "v1-stage0-std-surface", "v1-stage0-extdeps-languages", - "v1-stage0-v1-infer" + "v1-stage0-v1-artifact" ], carries_non_empty_wrappers: false }, diff --git a/src/v1/stage0/src/gunbc_stage0_crate_partition_generated.rs b/src/v1/stage0/src/gunbc_stage0_crate_partition_generated.rs index 260c249cec8..a86d78c966d 100644 --- a/src/v1/stage0/src/gunbc_stage0_crate_partition_generated.rs +++ b/src/v1/stage0/src/gunbc_stage0_crate_partition_generated.rs @@ -68,22 +68,22 @@ pub fn generated_partition_crate_rows() -> Rc package_name: "v1-stage0-extdeps-languages".to_string(), crate_dir: "src/v1/stage0_extdeps_languages".to_string(), kind: GeneratedPartitionCrateKind::GeneratedLayeredCoreCrate, - modules: Rc::new(vec!["extdeps_languages_dag_emit".to_string(), "extdeps_languages_dag_syntax".to_string(), "extdeps_languages_dag_types".to_string(), "extdeps_languages_go_emit".to_string(), "extdeps_languages_go_syntax".to_string(), "extdeps_languages_go_types".to_string(), "extdeps_languages_python_emit".to_string(), "extdeps_languages_python_syntax".to_string(), "extdeps_languages_python_types".to_string(), "extdeps_languages_rust_emit".to_string(), "extdeps_languages_rust_syntax".to_string(), "extdeps_languages_rust_types".to_string()]), + modules: Rc::new(vec!["extdeps_languages_dag_emit".to_string(), "extdeps_languages_dag_syntax".to_string(), "extdeps_languages_dag_types".to_string(), "extdeps_languages_go_emit".to_string(), "extdeps_languages_go_syntax".to_string(), "extdeps_languages_go_types".to_string(), "extdeps_languages_python_emit".to_string(), "extdeps_languages_python_syntax".to_string(), "extdeps_languages_python_types".to_string(), "extdeps_languages_rust_capabilities".to_string(), "extdeps_languages_rust_emit".to_string(), "extdeps_languages_rust_syntax".to_string(), "extdeps_languages_rust_types".to_string()]), reexport_packages: Rc::new(vec!["v1-stage0-runtime".to_string(), "v1-stage0-std-core".to_string(), "v1-stage0-std-surface".to_string()]), carries_non_empty_wrappers: false, }), Rc::new(GeneratedPartitionCrateRow { - package_name: "v1-stage0-v1-infer".to_string(), - crate_dir: "src/v1/stage0_v1_infer".to_string(), + package_name: "v1-stage0-v1-artifact".to_string(), + crate_dir: "src/v1/stage0_v1_artifact".to_string(), kind: GeneratedPartitionCrateKind::GeneratedLayeredCoreCrate, - modules: Rc::new(vec!["v1_compiler_infer_emit_info".to_string(), "v1_compiler_infer_env".to_string(), "v1_compiler_infer_items".to_string(), "v1_compiler_infer_occurrence_binding".to_string(), "v1_compiler_infer_service".to_string(), "v1_compiler_infer_sigs".to_string(), "v1_compiler_infer_types".to_string()]), + modules: Rc::new(vec!["v1_compiler_artifact".to_string(), "v1_compiler_languages".to_string()]), reexport_packages: Rc::new(vec!["v1-stage0-runtime".to_string(), "v1-stage0-std-core".to_string(), "v1-stage0-std-surface".to_string(), "v1-stage0-extdeps-languages".to_string()]), carries_non_empty_wrappers: false, }), Rc::new(GeneratedPartitionCrateRow { - package_name: "v1-stage0-v1-artifact".to_string(), - crate_dir: "src/v1/stage0_v1_artifact".to_string(), + package_name: "v1-stage0-v1-infer".to_string(), + crate_dir: "src/v1/stage0_v1_infer".to_string(), kind: GeneratedPartitionCrateKind::GeneratedLayeredCoreCrate, - modules: Rc::new(vec!["v1_compiler_artifact".to_string(), "v1_compiler_languages".to_string()]), - reexport_packages: Rc::new(vec!["v1-stage0-runtime".to_string(), "v1-stage0-std-core".to_string(), "v1-stage0-std-surface".to_string(), "v1-stage0-extdeps-languages".to_string(), "v1-stage0-v1-infer".to_string()]), + modules: Rc::new(vec!["v1_compiler_coercion".to_string(), "v1_compiler_infer_emit_info".to_string(), "v1_compiler_infer_env".to_string(), "v1_compiler_infer_items".to_string(), "v1_compiler_infer_occurrence_binding".to_string(), "v1_compiler_infer_service".to_string(), "v1_compiler_infer_sigs".to_string(), "v1_compiler_infer_types".to_string(), "v1_compiler_type_head_exposure".to_string()]), + reexport_packages: Rc::new(vec!["v1-stage0-runtime".to_string(), "v1-stage0-std-core".to_string(), "v1-stage0-std-surface".to_string(), "v1-stage0-extdeps-languages".to_string(), "v1-stage0-v1-artifact".to_string()]), carries_non_empty_wrappers: false, }), Rc::new(GeneratedPartitionCrateRow { package_name: "v1-stage0-emit-core".to_string(), diff --git a/src/v1/stage0_emit_core/Cargo.toml b/src/v1/stage0_emit_core/Cargo.toml index e1d52a050ca..17c780b9853 100644 --- a/src/v1/stage0_emit_core/Cargo.toml +++ b/src/v1/stage0_emit_core/Cargo.toml @@ -14,5 +14,5 @@ v1-stage0-runtime = { path = "../stage0_runtime" } v1-stage0-std-core = { path = "../stage0_std_core" } v1-stage0-std-surface = { path = "../stage0_std_surface" } v1-stage0-extdeps-languages = { path = "../stage0_extdeps_languages" } -v1-stage0-v1-infer = { path = "../stage0_v1_infer" } v1-stage0-v1-artifact = { path = "../stage0_v1_artifact" } +v1-stage0-v1-infer = { path = "../stage0_v1_infer" } diff --git a/src/v1/stage0_extdeps_languages/src/lib.rs b/src/v1/stage0_extdeps_languages/src/lib.rs index 6affc3bd7c3..4751989f64b 100644 --- a/src/v1/stage0_extdeps_languages/src/lib.rs +++ b/src/v1/stage0_extdeps_languages/src/lib.rs @@ -50,6 +50,9 @@ pub mod extdeps_languages_python_syntax; #[path = "../../stage0/src/extdeps_languages_python_types.rs"] pub mod extdeps_languages_python_types; #[rustfmt::skip] +#[path = "../../stage0/src/extdeps_languages_rust_capabilities.rs"] +pub mod extdeps_languages_rust_capabilities; +#[rustfmt::skip] #[path = "../../stage0/src/extdeps_languages_rust_emit.rs"] pub mod extdeps_languages_rust_emit; #[rustfmt::skip] diff --git a/src/v1/stage0_v1_artifact/Cargo.toml b/src/v1/stage0_v1_artifact/Cargo.toml index 071afe4e901..976ccb5a005 100644 --- a/src/v1/stage0_v1_artifact/Cargo.toml +++ b/src/v1/stage0_v1_artifact/Cargo.toml @@ -14,4 +14,3 @@ v1-stage0-runtime = { path = "../stage0_runtime" } v1-stage0-std-core = { path = "../stage0_std_core" } v1-stage0-std-surface = { path = "../stage0_std_surface" } v1-stage0-extdeps-languages = { path = "../stage0_extdeps_languages" } -v1-stage0-v1-infer = { path = "../stage0_v1_infer" } diff --git a/src/v1/stage0_v1_artifact/src/lib.rs b/src/v1/stage0_v1_artifact/src/lib.rs index 9e631f31e19..3a2ecd7240b 100644 --- a/src/v1/stage0_v1_artifact/src/lib.rs +++ b/src/v1/stage0_v1_artifact/src/lib.rs @@ -22,7 +22,6 @@ pub use v1_stage0_extdeps_languages::*; pub use v1_stage0_runtime::*; pub use v1_stage0_std_core::*; pub use v1_stage0_std_surface::*; -pub use v1_stage0_v1_infer::*; #[rustfmt::skip] #[path = "../../stage0/src/v1_compiler_artifact.rs"] diff --git a/src/v1/stage0_v1_infer/Cargo.toml b/src/v1/stage0_v1_infer/Cargo.toml index e6771854fd0..6c495643295 100644 --- a/src/v1/stage0_v1_infer/Cargo.toml +++ b/src/v1/stage0_v1_infer/Cargo.toml @@ -14,3 +14,4 @@ v1-stage0-runtime = { path = "../stage0_runtime" } v1-stage0-std-core = { path = "../stage0_std_core" } v1-stage0-std-surface = { path = "../stage0_std_surface" } v1-stage0-extdeps-languages = { path = "../stage0_extdeps_languages" } +v1-stage0-v1-artifact = { path = "../stage0_v1_artifact" } diff --git a/src/v1/stage0_v1_infer/src/lib.rs b/src/v1/stage0_v1_infer/src/lib.rs index f9286473a97..8d8ff6230d6 100644 --- a/src/v1/stage0_v1_infer/src/lib.rs +++ b/src/v1/stage0_v1_infer/src/lib.rs @@ -22,7 +22,11 @@ pub use v1_stage0_extdeps_languages::*; pub use v1_stage0_runtime::*; pub use v1_stage0_std_core::*; pub use v1_stage0_std_surface::*; +pub use v1_stage0_v1_artifact::*; +#[rustfmt::skip] +#[path = "../../stage0/src/v1_compiler_coercion.rs"] +pub mod v1_compiler_coercion; #[rustfmt::skip] #[path = "../../stage0/src/v1_compiler_infer_emit_info.rs"] pub mod v1_compiler_infer_emit_info; @@ -44,3 +48,6 @@ pub mod v1_compiler_infer_sigs; #[rustfmt::skip] #[path = "../../stage0/src/v1_compiler_infer_types.rs"] pub mod v1_compiler_infer_types; +#[rustfmt::skip] +#[path = "../../stage0/src/v1_compiler_type_head_exposure.rs"] +pub mod v1_compiler_type_head_exposure; diff --git a/src/v2/test/claim/rust_crate_partition_witness_test.dag b/src/v2/test/claim/rust_crate_partition_witness_test.dag index d9e632236f5..c666c055d33 100644 --- a/src/v2/test/claim/rust_crate_partition_witness_test.dag +++ b/src/v2/test/claim/rust_crate_partition_witness_test.dag @@ -221,7 +221,7 @@ test fn witness_v1_infer_unit_members_holds() -> Bool { Stage0PartitionReceiptOk { units: units } => match partition_unit_by_id(units: units, unit_id: stage0_unit_v1_infer) { Present { value: unit } => - (unit.members |> count) == 7 + (unit.members |> count) == 9 Absent => false } Stage0PartitionReceiptResolveRefused { cause: _ } => false diff --git a/src/v2/workflow/rust_crate_partition.dag b/src/v2/workflow/rust_crate_partition.dag index 59ffc973b7e..94b1d342dd2 100644 --- a/src/v2/workflow/rust_crate_partition.dag +++ b/src/v2/workflow/rust_crate_partition.dag @@ -254,6 +254,7 @@ fn stage0_extdeps_language_modules() -> List { "extdeps_languages_python_emit", "extdeps_languages_python_syntax", "extdeps_languages_python_types", + "extdeps_languages_rust_capabilities", "extdeps_languages_rust_emit", "extdeps_languages_rust_syntax", "extdeps_languages_rust_types" @@ -266,13 +267,15 @@ fn stage0_extdeps_modules() -> List { fn stage0_v1_infer_modules() -> List { [ + "v1_compiler_coercion", "v1_compiler_infer_emit_info", "v1_compiler_infer_env", "v1_compiler_infer_items", "v1_compiler_infer_occurrence_binding", "v1_compiler_infer_service", "v1_compiler_infer_sigs", - "v1_compiler_infer_types" + "v1_compiler_infer_types", + "v1_compiler_type_head_exposure" ] } @@ -298,8 +301,8 @@ fn stage0_all_partitioned_modules() -> List { |> concat(stage0_std_core_modules()) |> concat(stage0_std_surface_modules()) |> concat(stage0_extdeps_modules()) - |> concat(stage0_v1_infer_modules()) |> concat(stage0_v1_artifact_modules()) + |> concat(stage0_v1_infer_modules()) } fn stage0_assign_modules_to_unit( @@ -333,11 +336,11 @@ fn stage0_interim_explicit_assignment() -> Map { modules: stage0_extdeps_language_modules(), unit_id: stage0_unit_extdeps_languages ), - modules: stage0_v1_infer_modules(), - unit_id: stage0_unit_v1_infer + modules: stage0_v1_artifact_modules(), + unit_id: stage0_unit_v1_artifact ), - modules: stage0_v1_artifact_modules(), - unit_id: stage0_unit_v1_artifact + modules: stage0_v1_infer_modules(), + unit_id: stage0_unit_v1_infer ) } @@ -419,7 +422,11 @@ fn stage0_cross_unit_import_edges() -> List { stage0_module_dag_edge(from: "v1_compiler_infer_env", to: "v1_compiler_infer_occurrence_binding"), stage0_module_dag_edge(from: "v1_compiler_infer_sigs", to: "v1_compiler_infer_occurrence_binding"), stage0_module_dag_edge(from: "v1_compiler_infer_emit_info", to: "v1_compiler_infer_items"), - stage0_module_dag_edge(from: "v1_compiler_artifact", to: "v1_compiler_languages"), + stage0_module_dag_edge(from: "v1_compiler_infer_emit_info", to: "v1_compiler_artifact"), + stage0_module_dag_edge(from: "v1_compiler_infer_emit_info", to: "v1_compiler_coercion"), + stage0_module_dag_edge(from: "v1_compiler_infer_env", to: "v1_compiler_type_head_exposure"), + stage0_module_dag_edge(from: "v1_compiler_coercion", to: "v1_compiler_artifact"), + stage0_module_dag_edge(from: "v1_compiler_languages", to: "v1_compiler_artifact"), ] } @@ -630,11 +637,11 @@ fn stage0_module_bearing_crate_rows() -> List { carries_non_empty_wrappers: false }, Stage0PartitionCrateRow { - unit_id: stage0_unit_v1_infer, - package_name: "v1-stage0-v1-infer", - crate_dir: "src/v1/stage0_v1_infer", + unit_id: stage0_unit_v1_artifact, + package_name: "v1-stage0-v1-artifact", + crate_dir: "src/v1/stage0_v1_artifact", kind: Stage0LayeredCoreCrate, - modules: stage0_v1_infer_modules(), + modules: stage0_v1_artifact_modules(), reexport_packages: [ "v1-stage0-runtime", "v1-stage0-std-core", @@ -644,17 +651,17 @@ fn stage0_module_bearing_crate_rows() -> List { carries_non_empty_wrappers: false }, Stage0PartitionCrateRow { - unit_id: stage0_unit_v1_artifact, - package_name: "v1-stage0-v1-artifact", - crate_dir: "src/v1/stage0_v1_artifact", + unit_id: stage0_unit_v1_infer, + package_name: "v1-stage0-v1-infer", + crate_dir: "src/v1/stage0_v1_infer", kind: Stage0LayeredCoreCrate, - modules: stage0_v1_artifact_modules(), + modules: stage0_v1_infer_modules(), reexport_packages: [ "v1-stage0-runtime", "v1-stage0-std-core", "v1-stage0-std-surface", "v1-stage0-extdeps-languages", - "v1-stage0-v1-infer" + "v1-stage0-v1-artifact" ], carries_non_empty_wrappers: false }