@@ -23,25 +23,25 @@ class FromWorkspace(TypedDict):
23
23
'Package' ,
24
24
{
25
25
'name' : Required [str ],
26
- 'version' : Required [str ],
27
- 'authors' : T .List [str ],
28
- 'edition' : EDITION ,
29
- 'rust-version' : str ,
30
- 'description' : str ,
31
- 'readme' : str ,
32
- 'license' : str ,
33
- 'license-file' : str ,
34
- 'keywords' : T .List [str ],
35
- 'categories' : T .List [str ],
36
- 'homepage' : str ,
37
- 'repository' : str ,
38
- 'documentation' : str ,
26
+ 'version' : Required [T . Union [ FromWorkspace , str ] ],
27
+ 'authors' : T .Union [ FromWorkspace , T . List [str ] ],
28
+ 'edition' : T . Union [ FromWorkspace , EDITION ] ,
29
+ 'rust-version' : T . Union [ FromWorkspace , str ] ,
30
+ 'description' : T . Union [ FromWorkspace , str ] ,
31
+ 'readme' : T . Union [ FromWorkspace , str ] ,
32
+ 'license' : T . Union [ FromWorkspace , str ] ,
33
+ 'license-file' : T . Union [ FromWorkspace , str ] ,
34
+ 'keywords' : T .Union [ FromWorkspace , T . List [str ] ],
35
+ 'categories' : T .Union [ FromWorkspace , T . List [str ] ],
36
+ 'homepage' : T . Union [ FromWorkspace , str ] ,
37
+ 'repository' : T . Union [ FromWorkspace , str ] ,
38
+ 'documentation' : T . Union [ FromWorkspace , str ] ,
39
39
'workspace' : str ,
40
40
'build' : str ,
41
41
'links' : str ,
42
- 'include' : T .List [str ],
43
- 'exclude' : T .List [str ],
44
- 'publish' : bool ,
42
+ 'include' : T .Union [ FromWorkspace , T . List [str ] ],
43
+ 'exclude' : T .Union [ FromWorkspace , T . List [str ] ],
44
+ 'publish' : T . Union [ FromWorkspace , bool ] ,
45
45
'metadata' : T .Dict [str , T .Dict [str , str ]],
46
46
'default-run' : str ,
47
47
'autolib' : bool ,
@@ -117,7 +117,7 @@ class Target(TypedDict):
117
117
118
118
"""Target entry in the Manifest File."""
119
119
120
- dependencies : T .Dict [str , DependencyV ]
120
+ dependencies : T .Dict [str , T . Union [ FromWorkspace , DependencyV ] ]
121
121
122
122
123
123
class Workspace (TypedDict ):
@@ -142,9 +142,9 @@ class Workspace(TypedDict):
142
142
{
143
143
'package' : Required [Package ],
144
144
'badges' : T .Dict [str , Badge ],
145
- 'dependencies' : T .Dict [str , DependencyV ],
146
- 'dev-dependencies' : T .Dict [str , DependencyV ],
147
- 'build-dependencies' : T .Dict [str , DependencyV ],
145
+ 'dependencies' : T .Dict [str , T . Union [ FromWorkspace , DependencyV ] ],
146
+ 'dev-dependencies' : T .Dict [str , T . Union [ FromWorkspace , DependencyV ] ],
147
+ 'build-dependencies' : T .Dict [str , T . Union [ FromWorkspace , DependencyV ] ],
148
148
'lib' : LibTarget ,
149
149
'bin' : T .List [BuildTarget ],
150
150
'test' : T .List [BuildTarget ],
@@ -162,7 +162,7 @@ class Workspace(TypedDict):
162
162
"""The Cargo Manifest format."""
163
163
164
164
165
- class VirtualManifest (TypedDict ):
165
+ class VirtualManifest (TypedDict , total = False ):
166
166
167
167
"""The Representation of a virtual manifest.
168
168
0 commit comments