]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #33058 - Manishearth:fx-E0102, r=GuillaumeGomez
authorSteve Klabnik <steve@steveklabnik.com>
Mon, 18 Apr 2016 18:50:35 +0000 (14:50 -0400)
committerSteve Klabnik <steve@steveklabnik.com>
Mon, 18 Apr 2016 18:50:35 +0000 (14:50 -0400)
Update E0102's example (fixes #33057)

r? @GuillaumeGomez

1  2 
src/librustc_typeck/diagnostics.rs

index 646efe09da81e15d4293e87d82b471b6472830e3,ed74a5166d40a256c76f7b78812c137df5191889..582b9696bb1aa09c189029bf49cde33d55daf3dc
@@@ -1420,45 -1420,24 +1420,24 @@@ fn main() 
  "##,
  
  E0102: r##"
- You hit this error because the compiler lacks information to
- determine a type for this variable. Erroneous code example:
+ You hit this error because the compiler lacks the information to
+ determine the type of this variable. Erroneous code example:
  
  ```compile_fail
- fn demo(devil: fn () -> !) {
-     let x: &_ = devil();
-     // error: cannot determine a type for this local variable
- }
- fn oh_no() -> ! { panic!("the devil is in the details") }
  fn main() {
-     demo(oh_no);
+     // could be an array of anything
+     let x = []; // error: cannot determine a type for this local variable
  }
  ```
  
  To solve this situation, constrain the type of the variable.
  Examples:
  
- ```no_run
+ ```
  #![allow(unused_variables)]
  
- fn some_func(x: &u32) {
-     // some code
- }
- fn demo(devil: fn () -> !) {
-     let x: &u32 = devil();
-     // Here we defined the type at the variable creation
-     let x: &_ = devil();
-     some_func(x);
-     // Here, the type is determined by the function argument type
- }
- fn oh_no() -> ! { panic!("the devil is in the details") }
  fn main() {
-     demo(oh_no);
+     let x: [u8; 0] = [];
  }
  ```
  "##,
@@@ -2717,7 -2696,7 +2696,7 @@@ Rust does not currently support this. 
  
  ```compile_fail
  fn main() {
 -    let _: Box<std::io::Read+std::io::Write>;
 +    let _: Box<std::io::Read + std::io::Write>;
  }
  ```
  
@@@ -2727,7 -2706,7 +2706,7 @@@ following compiles correctly
  
  ```
  fn main() {
 -    let _: Box<std::io::Read+Copy+Sync>;
 +    let _: Box<std::io::Read + Send + Sync>;
  }
  ```
  "##,