mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-29 20:46:07 +03:00
Updated codeblocks to specify language where required.
This commit is contained in:
@@ -353,8 +353,8 @@ pub struct ScopeTree {
|
||||
/// the result of `g()` occurs after the yield (and therefore
|
||||
/// doesn't). If we want to infer that, we can look at the
|
||||
/// postorder traversal:
|
||||
/// ```
|
||||
/// `foo` `f` Call#1 `y` Yield `bar` `g` Call#3 Call#2 Call#0
|
||||
/// ```plain,ignore
|
||||
/// `foo` `f` Call#1 `y` Yield `bar` `g` Call#3 Call#2 Call#0
|
||||
/// ```
|
||||
///
|
||||
/// In which we can easily see that `Call#1` occurs before the yield,
|
||||
|
||||
@@ -362,7 +362,9 @@ enum EvaluationResult {
|
||||
/// When checking `foo`, we have to prove `T: Trait`. This basically
|
||||
/// translates into this:
|
||||
///
|
||||
/// ```plain,ignore
|
||||
/// (T: Trait + Sized →_\impl T: Trait), T: Trait ⊢ T: Trait
|
||||
/// ```
|
||||
///
|
||||
/// When we try to prove it, we first go the first option, which
|
||||
/// recurses. This shows us that the impl is "useless" - it won't
|
||||
|
||||
@@ -427,14 +427,14 @@ fn generate_fn_name_span(cm: &CodeMap, span: Span) -> Option<Span> {
|
||||
/// a new local type parameter.
|
||||
///
|
||||
/// For instance:
|
||||
/// ```
|
||||
/// ```rust,ignore (pseudo-Rust)
|
||||
/// // Given span
|
||||
/// fn my_function(param: T)
|
||||
/// ^ Original span
|
||||
/// // ^ Original span
|
||||
///
|
||||
/// // Result
|
||||
/// fn my_function(param: T)
|
||||
/// ^^^^^^^^^^^ Generated span with snippet `my_function<T>`
|
||||
/// // ^^^^^^^^^^^ Generated span with snippet `my_function<T>`
|
||||
/// ```
|
||||
///
|
||||
/// Attention: The method used is very fragile since it essentially duplicates the work of the
|
||||
|
||||
@@ -1164,10 +1164,12 @@ fn link_region(&self,
|
||||
/// constraint that `'z <= 'a`. Given this setup, let's clarify the
|
||||
/// parameters in (roughly) terms of the example:
|
||||
///
|
||||
/// ```plain,ignore (pseudo-Rust)
|
||||
/// A borrow of: `& 'z bk * r` where `r` has type `& 'a bk T`
|
||||
/// borrow_region ^~ ref_region ^~
|
||||
/// borrow_kind ^~ ref_kind ^~
|
||||
/// ref_cmt ^
|
||||
/// ```
|
||||
///
|
||||
/// Here `bk` stands for some borrow-kind (e.g., `mut`, `uniq`, etc).
|
||||
///
|
||||
|
||||
@@ -42,21 +42,21 @@
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// ```
|
||||
/// ```rust,ignore (pseudo-Rust)
|
||||
/// impl<T> Trait<Foo> for Bar { ... }
|
||||
/// ^ T does not appear in `Foo` or `Bar`, error!
|
||||
/// // ^ T does not appear in `Foo` or `Bar`, error!
|
||||
///
|
||||
/// impl<T> Trait<Foo<T>> for Bar { ... }
|
||||
/// ^ T appears in `Foo<T>`, ok.
|
||||
/// // ^ T appears in `Foo<T>`, ok.
|
||||
///
|
||||
/// impl<T> Trait<Foo> for Bar where Bar: Iterator<Item=T> { ... }
|
||||
/// ^ T is bound to `<Bar as Iterator>::Item`, ok.
|
||||
/// // ^ T is bound to `<Bar as Iterator>::Item`, ok.
|
||||
///
|
||||
/// impl<'a> Trait<Foo> for Bar { }
|
||||
/// ^ 'a is unused, but for back-compat we allow it
|
||||
/// // ^ 'a is unused, but for back-compat we allow it
|
||||
///
|
||||
/// impl<'a> Trait<Foo> for Bar { type X = &'a i32; }
|
||||
/// ^ 'a is unused and appears in assoc type, error
|
||||
/// // ^ 'a is unused and appears in assoc type, error
|
||||
/// ```
|
||||
pub fn impl_wf_check<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {
|
||||
// We will tag this as part of the WF check -- logically, it is,
|
||||
|
||||
Reference in New Issue
Block a user