Skip to content

Commit ff902a1

Browse files
detect missing trait methods at compile time (vercel/turborepo#3657)
Leaves the default implementations of a trait "in place" and implements the "cross-trait" resolving differently we get back the normal rust error messages when you don't have every method implemented 🎉
1 parent dae1f3c commit ff902a1

File tree

82 files changed

+265
-112
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+265
-112
lines changed

crates/next-core/src/app_render/next_layout_entry_transition.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ use turbopack::{
77
transition::{Transition, TransitionVc},
88
ModuleAssetContextVc,
99
};
10-
use turbopack_core::{asset::AssetVc, environment::EnvironmentVc, virtual_asset::VirtualAssetVc};
10+
use turbopack_core::{
11+
asset::{Asset, AssetVc},
12+
environment::EnvironmentVc,
13+
virtual_asset::VirtualAssetVc,
14+
};
1115
use turbopack_ecmascript::chunk::EcmascriptChunkPlaceableVc;
1216

1317
use crate::{

crates/next-core/src/app_source.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use turbopack::{
2020
};
2121
use turbopack_core::{
2222
chunk::dev::DevChunkingContextVc,
23-
context::AssetContextVc,
23+
context::{AssetContext, AssetContextVc},
2424
environment::ServerAddrVc,
2525
issue::{Issue, IssueSeverity, IssueSeverityVc, IssueVc},
2626
virtual_asset::VirtualAssetVc,

crates/next-core/src/embed_js.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use anyhow::Result;
22
use turbo_tasks_fs::{
3-
attach::AttachedFileSystemVc, embed_directory, FileContentVc, FileSystemPathVc, FileSystemVc,
3+
attach::AttachedFileSystemVc, embed_directory, FileContentVc, FileSystem, FileSystemPathVc,
4+
FileSystemVc,
45
};
56
use turbopack_core::{asset::AssetVc, virtual_asset::VirtualAssetVc};
67

crates/next-core/src/env.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
use anyhow::Result;
22
use indexmap::indexmap;
33
use turbo_tasks_env::{
4-
CommandLineProcessEnvVc, CustomProcessEnvVc, EnvMapVc, FilterProcessEnvVc, ProcessEnvVc,
4+
CommandLineProcessEnvVc, CustomProcessEnvVc, EnvMapVc, FilterProcessEnvVc, ProcessEnv,
5+
ProcessEnvVc,
56
};
67
use turbo_tasks_fs::FileSystemPathVc;
78
use turbopack_env::{EmbeddableProcessEnvVc, TryDotenvProcessEnvVc};

crates/next-core/src/next_build.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@ use anyhow::{Context, Result};
22
use turbo_tasks::Value;
33
use turbo_tasks_fs::FileSystemPathVc;
44
use turbopack::{resolve_options, resolve_options_context::ResolveOptionsContext};
5-
use turbopack_core::resolve::{
6-
options::{ImportMapping, ImportMappingVc},
7-
parse::RequestVc,
8-
pattern::Pattern,
9-
resolve,
5+
use turbopack_core::{
6+
asset::Asset,
7+
resolve::{
8+
options::{ImportMapping, ImportMappingVc},
9+
parse::RequestVc,
10+
pattern::Pattern,
11+
resolve,
12+
},
1013
};
1114

1215
#[turbo_tasks::function]

crates/next-core/src/next_client/runtime_entry.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use anyhow::{bail, Result};
22
use turbo_tasks::ValueToString;
33
use turbo_tasks_fs::FileSystemPathVc;
44
use turbopack_core::{
5+
asset::Asset,
56
context::AssetContextVc,
67
resolve::{origin::PlainResolveOriginVc, parse::RequestVc},
78
};

crates/next-core/src/next_client/transition.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use turbopack::{
99
ModuleAssetContextVc,
1010
};
1111
use turbopack_core::{
12-
asset::AssetVc,
12+
asset::{Asset, AssetVc},
1313
chunk::{ChunkableAssetVc, ChunkingContextVc},
1414
environment::EnvironmentVc,
1515
virtual_asset::VirtualAssetVc,

crates/next-core/src/next_client_component/server_to_client_transition.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
use turbopack::transition::{Transition, TransitionVc};
2-
use turbopack_core::{asset::AssetVc, virtual_asset::VirtualAssetVc};
2+
use turbopack_core::{
3+
asset::{Asset, AssetVc},
4+
virtual_asset::VirtualAssetVc,
5+
};
36

47
use crate::embed_js::next_js_file;
58

crates/next-core/src/next_client_component/with_chunking_context_scope_asset.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use turbopack::ecmascript::chunk::{
66
};
77
use turbopack_core::{
88
asset::{Asset, AssetContentVc, AssetVc},
9-
chunk::{ChunkVc, ChunkableAsset, ChunkableAssetVc, ChunkingContextVc},
9+
chunk::{ChunkVc, ChunkableAsset, ChunkableAssetVc, ChunkingContext, ChunkingContextVc},
1010
reference::AssetReferencesVc,
1111
};
1212

crates/next-core/src/next_client_component/with_client_chunks.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ use turbopack_core::{
1414
asset::{Asset, AssetContentVc, AssetVc},
1515
chunk::{
1616
ChunkGroupVc, ChunkItem, ChunkItemVc, ChunkVc, ChunkableAsset, ChunkableAssetReference,
17-
ChunkableAssetReferenceVc, ChunkableAssetVc, ChunkingContextVc, ChunkingType,
18-
ChunkingTypeOptionVc,
17+
ChunkableAssetReferenceVc, ChunkableAssetVc, ChunkingContext, ChunkingContextVc,
18+
ChunkingType, ChunkingTypeOptionVc,
1919
},
2020
reference::{AssetReference, AssetReferenceVc, AssetReferencesVc},
2121
resolve::{ResolveResult, ResolveResultVc},

0 commit comments

Comments
 (0)