Rollup merge of #25255 - caipre:diagnostic-messages, r=alexcrichton

Add a few diagnostic messages; part of  #24407.
This commit is contained in:
Steve Klabnik 2015-05-10 16:44:23 -04:00
commit 5160bf80cd

View file

@ -46,6 +46,23 @@ enum variant, one of the fields was not provided. Each field should be specified
exactly once.
"##,
E0067: r##"
The left-hand side of an assignment operator must be an lvalue expression. An
lvalue expression represents a memory location and includes item paths (ie,
namespaced variables), dereferences, indexing expressions, and field references.
```
use std::collections::LinkedList;
// Good
let mut list = LinkedList::new();
// Bad: assignment to non-lvalue expression
LinkedList::new() += 1;
```
"##,
E0081: r##"
Enum discriminants are used to differentiate enum variants stored in memory.
This error indicates that the same value was used for two or more variants,
@ -119,6 +136,20 @@ construct an instance of the following type using only safe code:
```
enum Empty {}
```
"##,
E0131: r##"
It is not possible to define `main` with type parameters, or even with function
parameters. When `main` is present, it must take no arguments and return `()`.
"##,
E0132: r##"
It is not possible to declare type parameters on a function that has the `start`
attribute. Such a function must have the following type signature:
```
fn(isize, *const *const u8) -> isize
```
"##
}
@ -149,7 +180,6 @@ register_diagnostics! {
E0060,
E0061,
E0066,
E0067,
E0068,
E0069,
E0070,
@ -189,8 +219,6 @@ register_diagnostics! {
E0128,
E0129,
E0130,
E0131,
E0132,
E0141,
E0159,
E0163,