Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 90e2073

Browse files
committed
Add doc field to Target.
Added in rust-lang/cargo#8869
1 parent 312b8a5 commit 90e2073

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,12 @@ pub struct Target {
428428
#[serde(default = "default_true")]
429429
#[cfg_attr(feature = "builder", builder(default = "true"))]
430430
pub test: bool,
431+
/// Whether or not this target is documented by `cargo doc`.
432+
///
433+
/// This is always `true` if running with a version of Cargo older than 1.50.
434+
#[serde(default = "default_true")]
435+
#[cfg_attr(feature = "builder", builder(default = "true"))]
436+
pub doc: bool,
431437
}
432438

433439
fn default_true() -> bool {

tests/all/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ crate-type = ["rlib", "cdylib", "dylib", "staticlib"]
4747
[[bin]]
4848
name = "otherbin"
4949
edition = '2015'
50+
doc = false
5051

5152
[[bin]]
5253
name = "reqfeat"

tests/test_samples.rs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ fn old_minimal() {
9595
assert_eq!(target.edition, "2015");
9696
assert_eq!(target.doctest, true);
9797
assert_eq!(target.test, true);
98+
assert_eq!(target.doc, true);
9899
assert_eq!(pkg.features.len(), 0);
99100
assert_eq!(pkg.manifest_path, "/foo/Cargo.toml");
100101
assert_eq!(pkg.categories.len(), 0);
@@ -155,10 +156,10 @@ struct TestObject {
155156

156157
#[test]
157158
fn all_the_fields() {
158-
// All the fields currently generated as of 1.49. This tries to exercise as
159+
// All the fields currently generated as of 1.51. This tries to exercise as
159160
// much as possible.
160161
let ver = cargo_version();
161-
let minimum = semver::Version::parse("1.49.0").unwrap();
162+
let minimum = semver::Version::parse("1.51.0").unwrap();
162163
if ver < minimum {
163164
// edition added in 1.30
164165
// rename added in 1.31
@@ -169,6 +170,7 @@ fn all_the_fields() {
169170
// test added in 1.47
170171
// homepage added in 1.49
171172
// documentation added in 1.49
173+
// doc added in 1.50
172174
// path added in 1.51
173175
eprintln!("Skipping all_the_fields test, cargo {} is too old.", ver);
174176
return;
@@ -222,12 +224,10 @@ fn all_the_fields() {
222224
assert_eq!(path_dep.source, None);
223225
assert_eq!(path_dep.kind, DependencyKind::Normal);
224226
assert_eq!(path_dep.req, semver::VersionReq::parse("*").unwrap());
225-
if ver >= semver::Version::parse("1.51.0").unwrap() {
226-
assert_eq!(
227-
path_dep.path.as_ref().map(|p| p.ends_with("path-dep")),
228-
Some(true),
229-
);
230-
}
227+
assert_eq!(
228+
path_dep.path.as_ref().map(|p| p.ends_with("path-dep")),
229+
Some(true),
230+
);
231231

232232
all.dependencies
233233
.iter()
@@ -292,15 +292,18 @@ fn all_the_fields() {
292292
assert_eq!(lib.edition, "2018");
293293
assert_eq!(lib.doctest, true);
294294
assert_eq!(lib.test, true);
295+
assert_eq!(lib.doc, true);
295296

296297
let main = get_file_name!("main.rs");
297298
assert_eq!(main.crate_types, vec!["bin"]);
298299
assert_eq!(main.kind, vec!["bin"]);
299300
assert_eq!(main.doctest, false);
300301
assert_eq!(main.test, true);
302+
assert_eq!(main.doc, true);
301303

302304
let otherbin = get_file_name!("otherbin.rs");
303305
assert_eq!(otherbin.edition, "2015");
306+
assert_eq!(otherbin.doc, false);
304307

305308
let reqfeat = get_file_name!("reqfeat.rs");
306309
assert_eq!(reqfeat.required_features, vec!["feat2"]);

0 commit comments

Comments
 (0)