@@ -409,10 +409,7 @@ impl<'gctx> Workspace<'gctx> {
409409 }
410410
411411 pub fn profiles ( & self ) -> Option < & TomlProfiles > {
412- match self . root_maybe ( ) {
413- MaybePackage :: Package ( p) => p. manifest ( ) . profiles ( ) ,
414- MaybePackage :: Virtual ( vm) => vm. profiles ( ) ,
415- }
412+ self . root_maybe ( ) . profiles ( )
416413 }
417414
418415 /// Returns the root path of this workspace.
@@ -907,10 +904,7 @@ impl<'gctx> Workspace<'gctx> {
907904
908905 /// Returns the unstable nightly-only features enabled via `cargo-features` in the manifest.
909906 pub fn unstable_features ( & self ) -> & Features {
910- match self . root_maybe ( ) {
911- MaybePackage :: Package ( p) => p. manifest ( ) . unstable_features ( ) ,
912- MaybePackage :: Virtual ( vm) => vm. unstable_features ( ) ,
913- }
907+ self . root_maybe ( ) . unstable_features ( )
914908 }
915909
916910 pub fn resolve_behavior ( & self ) -> ResolveBehavior {
@@ -1262,15 +1256,9 @@ impl<'gctx> Workspace<'gctx> {
12621256 . cloned ( )
12631257 . unwrap_or ( manifest:: TomlToolLints :: default ( ) ) ;
12641258
1265- let ws_contents = match self . root_maybe ( ) {
1266- MaybePackage :: Package ( pkg) => pkg. manifest ( ) . contents ( ) ,
1267- MaybePackage :: Virtual ( v) => v. contents ( ) ,
1268- } ;
1259+ let ws_contents = self . root_maybe ( ) . contents ( ) ;
12691260
1270- let ws_document = match self . root_maybe ( ) {
1271- MaybePackage :: Package ( pkg) => pkg. manifest ( ) . document ( ) ,
1272- MaybePackage :: Virtual ( v) => v. document ( ) ,
1273- } ;
1261+ let ws_document = self . root_maybe ( ) . document ( ) ;
12741262
12751263 analyze_cargo_lints_table (
12761264 pkg,
@@ -1888,6 +1876,41 @@ impl MaybePackage {
18881876 MaybePackage :: Virtual ( _) => false ,
18891877 }
18901878 }
1879+
1880+ pub fn contents ( & self ) -> & str {
1881+ match self {
1882+ MaybePackage :: Package ( p) => p. manifest ( ) . contents ( ) ,
1883+ MaybePackage :: Virtual ( v) => v. contents ( ) ,
1884+ }
1885+ }
1886+
1887+ pub fn document ( & self ) -> & toml:: Spanned < toml:: de:: DeTable < ' static > > {
1888+ match self {
1889+ MaybePackage :: Package ( p) => p. manifest ( ) . document ( ) ,
1890+ MaybePackage :: Virtual ( v) => v. document ( ) ,
1891+ }
1892+ }
1893+
1894+ pub fn edition ( & self ) -> Edition {
1895+ match self {
1896+ MaybePackage :: Package ( p) => p. manifest ( ) . edition ( ) ,
1897+ MaybePackage :: Virtual ( _) => Edition :: default ( ) ,
1898+ }
1899+ }
1900+
1901+ pub fn profiles ( & self ) -> Option < & TomlProfiles > {
1902+ match self {
1903+ MaybePackage :: Package ( p) => p. manifest ( ) . profiles ( ) ,
1904+ MaybePackage :: Virtual ( v) => v. profiles ( ) ,
1905+ }
1906+ }
1907+
1908+ pub fn unstable_features ( & self ) -> & Features {
1909+ match self {
1910+ MaybePackage :: Package ( p) => p. manifest ( ) . unstable_features ( ) ,
1911+ MaybePackage :: Virtual ( vm) => vm. unstable_features ( ) ,
1912+ }
1913+ }
18911914}
18921915
18931916impl WorkspaceRootConfig {
0 commit comments