@@ -1550,6 +1550,31 @@ impl Foo for Bar {
1550
1550
```
1551
1551
"## ,
1552
1552
1553
+ E0191 : r##"
1554
+ Trait objects need to have all associated types specified. Erroneous code
1555
+ example:
1556
+
1557
+ ```
1558
+ trait Trait {
1559
+ type Bar;
1560
+ }
1561
+
1562
+ type Foo = Trait; // error: the value of the associated type `Bar` (from
1563
+ // the trait `Trait`) must be specified
1564
+ ```
1565
+
1566
+ Please verify you specified all associated types of the trait and that you
1567
+ used the right trait. Example:
1568
+
1569
+ ```
1570
+ trait Trait {
1571
+ type Bar;
1572
+ }
1573
+
1574
+ type Foo = Trait<Bar=i32>; // ok!
1575
+ ```
1576
+ "## ,
1577
+
1553
1578
E0192 : r##"
1554
1579
Negative impls are only allowed for traits with default impls. For more
1555
1580
information see the [opt-in builtin traits RFC](https://github.com/rust-lang/
@@ -1831,6 +1856,47 @@ extern "rust-intrinsic" {
1831
1856
```
1832
1857
"## ,
1833
1858
1859
+ E0220 : r##"
1860
+ You used an associated type which isn't defined in the trait.
1861
+ Erroneous code example:
1862
+
1863
+ ```
1864
+ trait Trait {
1865
+ type Bar;
1866
+ }
1867
+
1868
+ type Foo = Trait<F=i32>; // error: associated type `F` not found for
1869
+ // `Trait`
1870
+ ```
1871
+
1872
+ Please verify you used the right trait or you didn't misspell the
1873
+ associated type name. Example:
1874
+
1875
+ ```
1876
+ trait Trait {
1877
+ type Bar;
1878
+ }
1879
+
1880
+ type Foo = Trait<Bar=i32>; // ok!
1881
+ ```
1882
+ "## ,
1883
+
1884
+ E0232 : r##"
1885
+ The attribute must have a value. Erroneous code example:
1886
+
1887
+ ```
1888
+ #[rustc_on_unimplemented] // error: this attribute must have a value
1889
+ trait Bar {}
1890
+ ```
1891
+
1892
+ Please supply the missing value of the attribute. Example:
1893
+
1894
+ ```
1895
+ #[rustc_on_unimplemented = "foo"] // ok!
1896
+ trait Bar {}
1897
+ ```
1898
+ "## ,
1899
+
1834
1900
E0243 : r##"
1835
1901
This error indicates that not enough type parameters were found in a type or
1836
1902
trait.
@@ -2074,7 +2140,6 @@ register_diagnostics! {
2074
2140
E0188 , // can not cast a immutable reference to a mutable pointer
2075
2141
E0189 , // deprecated: can only cast a boxed pointer to a boxed object
2076
2142
E0190 , // deprecated: can only cast a &-pointer to an &-object
2077
- E0191 , // value of the associated type must be specified
2078
2143
E0193 , // cannot bound type where clause bounds may only be attached to types
2079
2144
// involving type parameters
2080
2145
E0194 ,
@@ -2092,7 +2157,6 @@ register_diagnostics! {
2092
2157
E0217 , // ambiguous associated type, defined in multiple supertraits
2093
2158
E0218 , // no associated type defined
2094
2159
E0219 , // associated type defined in higher-ranked supertrait
2095
- E0220 , // associated type not found for type parameter
2096
2160
E0221 , // ambiguous associated type in bounds
2097
2161
//E0222, // Error code E0045 (variadic function must have C calling
2098
2162
// convention) duplicate
@@ -2105,7 +2169,6 @@ register_diagnostics! {
2105
2169
E0229 , // associated type bindings are not allowed here
2106
2170
E0230 , // there is no type parameter on trait
2107
2171
E0231 , // only named substitution parameters are allowed
2108
- E0232 , // this attribute must have a value
2109
2172
E0233 ,
2110
2173
E0234 ,
2111
2174
E0235 , // structure constructor specifies a structure of type but
0 commit comments