Skip to content

Commit 0010939

Browse files
committed
rustc-args removed from Metadata
Docs.rs is never running rustc on main crate and because of this reason, cargo is ignoring rustdoc-args when rustc-args set. Users must define rustdoc-args to manipulate rustc.
1 parent 21516cd commit 0010939

File tree

2 files changed

+1
-16
lines changed

2 files changed

+1
-16
lines changed

src/docbuilder/metadata.rs

+1-13
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,12 @@ use toml::Value;
1414
/// ```text
1515
/// [package]
1616
/// name = "test"
17-
///
17+
///
1818
/// [package.metadata.docs.rs]
1919
/// features = [ "feature1", "feature2" ]
2020
/// all-features = true
2121
/// no-default-features = true
2222
/// default-target = "x86_64-unknown-linux-gnu"
23-
/// rustc-args = [ "--example-rustc-arg" ]
2423
/// rustdoc-args = [ "--example-rustdoc-arg" ]
2524
/// dependencies = [ "example-system-dependency" ]
2625
/// ```
@@ -44,9 +43,6 @@ pub struct Metadata {
4443
/// is always built on this target. You can change default target by setting this.
4544
pub default_target: Option<String>,
4645

47-
/// List of command line arguments for `rustc`.
48-
pub rustc_args: Option<Vec<String>>,
49-
5046
/// List of command line arguments for `rustdoc`.
5147
pub rustdoc_args: Option<Vec<String>>,
5248

@@ -85,7 +81,6 @@ impl Metadata {
8581
all_features: false,
8682
no_default_features: false,
8783
default_target: None,
88-
rustc_args: None,
8984
rustdoc_args: None,
9085
dependencies: None,
9186
}
@@ -112,8 +107,6 @@ impl Metadata {
112107
.and_then(|v| v.as_bool()).unwrap_or(metadata.all_features);
113108
metadata.default_target = table.get("default-target")
114109
.and_then(|v| v.as_str()).map(|v| v.to_owned());
115-
metadata.rustc_args = table.get("rustc-args").and_then(|f| f.as_array())
116-
.and_then(|f| f.iter().map(|v| v.as_str().map(|v| v.to_owned())).collect());
117110
metadata.rustdoc_args = table.get("rustdoc-args").and_then(|f| f.as_array())
118111
.and_then(|f| f.iter().map(|v| v.as_str().map(|v| v.to_owned())).collect());
119112
metadata.dependencies = table.get("dependencies").and_then(|f| f.as_array())
@@ -154,7 +147,6 @@ mod test {
154147
assert!(metadata.all_features == true);
155148
assert!(metadata.no_default_features == true);
156149
assert!(metadata.default_target.is_some());
157-
assert!(metadata.rustc_args.is_some());
158150
assert!(metadata.rustdoc_args.is_some());
159151

160152
let features = metadata.features.unwrap();
@@ -164,10 +156,6 @@ mod test {
164156

165157
assert_eq!(metadata.default_target.unwrap(), "x86_64-unknown-linux-gnu".to_owned());
166158

167-
let rustc_args = metadata.rustc_args.unwrap();
168-
assert_eq!(rustc_args.len(), 1);
169-
assert_eq!(rustc_args[0], "--example-rustc-arg".to_owned());
170-
171159
let rustdoc_args = metadata.rustdoc_args.unwrap();
172160
assert_eq!(rustdoc_args.len(), 1);
173161
assert_eq!(rustdoc_args[0], "--example-rustdoc-arg".to_owned());

src/utils/build_doc.rs

-3
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,6 @@ pub fn build_doc(name: &str, vers: Option<&str>, target: Option<&str>) -> CargoR
6363
&[], false,
6464
&[], false,
6565
&[], false),
66-
// FIXME: cargo is ignoring target_rustdoc_args if rustc_args set.
67-
// I believe this is expected behavior when building docs but I am not sure.
68-
// This needs to be investigated.
6966
target_rustc_args: None,
7067
target_rustdoc_args: metadata.rustdoc_args.as_ref().map(Vec::as_slice),
7168
};

0 commit comments

Comments
 (0)