Cannot use dependent box in Rust documentation tests

I am trying to write documents for a project that I am writing in Rust. One of the documents is required to be used regex::Regex. Here is the document I'm trying to write:

/// Return a list of the offsets of the tokens in `s`, as a sequence of `(start, end)`
/// tuples, by splitting the string at each successive match of `regex`.
///
/// # Examples
///
/// ```
/// use rusty_nltk::tokenize::util::regexp_span_tokenize;
/// use regex::Regex;
///
/// let s = "Good muffins cost $3.88\nin New York.  Please buy me
///         two of them.\n\nThanks.";
/// let regex = regex::Regex::new(r"\s").unwrap();
/// let spans = regexp_span_tokenize(s, regex).unwrap();
/// ```

This gives me this error:

---- tokenize::util::regexp_span_tokenize_0 stdout ----
    <anon>:4:9: 4:14 error: unresolved import `regex::Regex`. Maybe a missing `extern crate regex`? [E0432]
<anon>:4     use regex::Regex;
                 ^~~~~
error: aborting due to previous error

But when I add extern crate regex;, I get this error:

---- tokenize::util::regexp_span_tokenize_0 stdout ----
    <anon>:3:9: 3:19 error: unresolved import `rusty_nltk::tokenize::util::regexp_span_tokenize`. Maybe a missing `extern crate rusty_nltk`? [E0432]
<anon>:3     use rusty_nltk::tokenize::util::regexp_span_tokenize;
                 ^~~~~~~~~~
<anon>:4:9: 4:14 error: unresolved import `regex::Regex`. Did you mean `self::regex`? [E0432]
<anon>:4     use regex::Regex;
                 ^~~~~
error: aborting due to 2 previous errors

Some relevant parts of the corresponding files:

SRC / lib.rs:

extern crate regex;
pub mod tokenize;

Src / markup / mod.rs:

extern crate regex;
pub mod util;

(top) src / tokenize / util.rs:

extern crate regex; 
use regex::Regex;

What am I doing wrong with the layout of my project?

+6
source share
2 answers

From The Rust Programming Language, first edition of the documentation chapter :

rustdoc :

  1. #![foo] .
  2. , unused_variables, unused_assignments, unused_mut, unused_attributes dead_code. .
  3. extern crate, extern crate <mycrate>;.
  4. , fn main, fn main() { your_code }

№ 3 . extern crate , . extern crate, , !

extern crate regex rusty_nltk.

+9

, , , main extern crate s:

/// Return a list of the offsets of the tokens in `s`, as a sequence of `(start, end)`
/// tuples, by splitting the string at each successive match of `regex`.
///
/// # Examples
///
/// To return a list of spans based on whitespaces:
///
/// ```
/// extern crate regex;
/// extern crate rusty_nltk;
/// use rusty_nltk::tokenize::util::regexp_span_tokenize;
/// use regex::Regex;
///
/// fn main() {
///   let s = "Good muffins cost $3.88\nin New York.  Please buy me
///           two of them.\n\nThanks.";
///   let regex = Regex::new(r"\s").unwrap();
///   let spans = regexp_span_tokenize(s, &regex);
/// }
/// ```

main , , # , .

+4

Source: https://habr.com/ru/post/1620892/


All Articles