Skip to content

Commit

Permalink
Ignore doctest for capture analysis examples
Browse files Browse the repository at this point in the history
  • Loading branch information
arora-aman committed Nov 15, 2020
1 parent bb8c5e5 commit 40dfe1e
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 9 deletions.
6 changes: 3 additions & 3 deletions compiler/rustc_middle/src/ty/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -797,12 +797,12 @@ pub struct CaptureInfo<'tcx> {
/// None. In such case we fallback on uvpars_mentioned for span.
///
/// Eg:
/// ```rust
/// let x = ...;
/// ```rust,no_run
/// let x = 5;
///
/// let c = || {
/// let _ = x
/// }
/// };
/// ```
///
/// In this example, if `capture_disjoint_fields` is **not** set, then x will be captured,
Expand Down
13 changes: 8 additions & 5 deletions compiler/rustc_typeck/src/check/upvar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
/// the required captured paths.
///
/// Eg:
/// ```rust
/// ```rust,no_run
/// struct Point { x: i32, y: i32 }
///
/// let s: String; // hir_id_s
Expand Down Expand Up @@ -575,7 +575,9 @@ struct InferBorrowKind<'a, 'tcx> {
/// Consider closure where s.str1 is captured via an ImmutableBorrow and
/// s.str2 via a MutableBorrow
///
/// ```rust
/// ```rust,no_run
/// struct SomeStruct { str1: String, str2: String }
///
/// // Assume that the HirId for the variable definition is `V1`
/// let mut s = SomeStruct { str1: format!("s1"), str2: format!("s2") }
///
Expand All @@ -584,7 +586,7 @@ struct InferBorrowKind<'a, 'tcx> {
/// println!("Updating SomeStruct with str1=", s.str1);
/// // Assume that the HirId for the expression `*s.str2` is `E2`
/// s.str2 = new_s2;
/// }
/// };
/// ```
///
/// For closure `fix_s`, (at a high level) the map contains
Expand Down Expand Up @@ -931,7 +933,8 @@ fn var_name(tcx: TyCtxt<'_>, var_hir_id: hir::HirId) -> Symbol {
/// `determine_capture_info(existing_info, current_info)`. This works out because the
/// expressions that occur earlier in the closure body than the current expression are processed before.
/// Consider the following example
/// ```rust
/// ```rust,no_run
/// struct Point { x: i32, y: i32 }
/// let mut p: Point { x: 10, y: 10 };
///
/// let c = || {
Expand All @@ -942,7 +945,7 @@ fn var_name(tcx: TyCtxt<'_>, var_hir_id: hir::HirId) -> Symbol {
/// // ...
/// p.x += 10; // E2
/// // ^ E2 ^
/// }
/// };
/// ```
/// `CaptureKind` associated with both `E1` and `E2` will be ByRef(MutBorrow),
/// and both have an expression associated, however for diagnostics we prefer reporting
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_typeck/src/expr_use_visitor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -611,7 +611,7 @@ impl<'a, 'tcx> ExprUseVisitor<'a, 'tcx> {
/// In the following example the closures `c` only captures `p.x`` even though `incr`
/// is a capture of the nested closure
///
/// ```rust
/// ```rust,ignore(cannot-test-this-because-pseduo-code)
/// let p = ..;
/// let c = || {
/// let incr = 10;
Expand Down

0 comments on commit 40dfe1e

Please sign in to comment.