1 // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 #![allow(non_snake_case)]
13 register_diagnostics! {
27 E0040, // explicit use of destructor method
98 E0173, // manual implementations of unboxed closure traits are experimental
99 E0174, // explicit use of unboxed closure methods are experimental
106 E0187, // can't infer the kind of the closure
107 E0188, // types differ in mutability
108 E0189, // can only cast a boxed pointer to a boxed object
109 E0190, // can only cast a &-pointer to an &-object
110 E0191, // value of the associated type must be specified
111 E0192, // negative imples are allowed just fo `Send` and `Sync`
112 E0193, // cannot bound type where clause bounds may only be attached to types
113 // involving type parameters
115 E0195, // lifetime parameters or bounds on method do not match the trait declaration
116 E0196, // cannot determine a type for this unboxed closure
117 E0197, // inherent impls cannot be declared as unsafe
118 E0198, // negative implementations are not unsafe
119 E0199, // implementing trait is not unsafe
120 E0200, // trait requires an `unsafe impl` declaration
121 E0201, // duplicate method in trait impl
122 E0202, // associated items are not allowed in inherint impls
123 E0203, // type parameter has more than one relaxed default bound,
124 // and only one is supported
125 E0204, // trait `Copy` may not be implemented for this type; field
126 // does not implement `Copy`
127 E0205, // trait `Copy` may not be implemented for this type; variant
128 // does not implement `copy`
129 E0206, // trait `Copy` may not be implemented for this type; type is
130 // not a structure or enumeration
131 E0207, // type parameter is not constrained by the impl trait, self type, or predicate
133 E0209, // builtin traits can only be implemented on structs or enums
134 E0210, // type parameter is not constrained by any local type
136 E0212, // cannot extract an associated type from a higher-ranked trait bound
137 E0213, // associated types are not accepted in this context
138 E0214, // parenthesized parameters may only be used with a trait
139 E0215, // angle-bracket notation is not stable with `Fn`
140 E0216, // parenthetical notation is only stable with `Fn`
141 E0217, // ambiguous associated type, defined in multiple supertraits
142 E0218, // no associated type defined
143 E0219, // associated type defined in higher-ranked supertrait
144 E0220, // associated type not found for type parameter
145 E0221, // ambiguous associated type in bounds
146 E0222, // variadic function must have C calling convention
147 E0223, // ambiguous associated type
148 E0224, // at least one non-builtin train is required for an object type
149 E0225, // only the builtin traits can be used as closure or object bounds
150 E0226, // only a single explicit lifetime bound is permitted
151 E0227, // ambiguous lifetime bound, explicit lifetime bound required
152 E0228, // explicit lifetime bound required
153 E0229, // associated type bindings are not allowed here
154 E0230, // there is no type parameter on trait
155 E0231, // only named substitution parameters are allowed
156 E0232, // this attribute must have a value
158 E0234, // `for` loop expression has type which does not implement the `Iterator` trait
159 E0235, // structure constructor specifies a structure of type but
160 E0236, // no lang item for range syntax
161 E0237, // no lang item for range syntax
162 E0238, // parenthesized parameters may only be used with a trait
163 E0239, // `next` method of `Iterator` trait has unexpected type
166 E0242, // internal error looking up a definition
167 E0243, // wrong number of type arguments
168 E0244, // wrong number of type arguments
169 E0245, // not a trait
170 E0246, // illegal recursive type
171 E0247, // found module name used as a type
172 E0248, // found value name used as a type
173 E0249, // expected constant expr for array length
174 E0250 // expected constant expr for array length
177 __build_diagnostic_array! { DIAGNOSTICS }