about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLin Clark <lclark@mozilla.com>2016-11-30 21:32:14 -0500
committerLin Clark <lclark@mozilla.com>2017-01-05 12:17:27 -0500
commit437c66cce5b13e18fa7ae09a4bb7fa9d86b01ec3 (patch)
treebec5b95ec7bd1d24892cf80fc5e12cf114f27c97
parent74e5b7d96af721b98474f6d4982b5eb594cd022c (diff)
downloadrust-437c66cce5b13e18fa7ae09a4bb7fa9d86b01ec3.tar.gz
rust-437c66cce5b13e18fa7ae09a4bb7fa9d86b01ec3.zip
Add error explanation for E0328.
-rw-r--r--src/librustc_typeck/diagnostics.rs24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/librustc_typeck/diagnostics.rs b/src/librustc_typeck/diagnostics.rs
index 1a971be64d8..1a87a5e709b 100644
--- a/src/librustc_typeck/diagnostics.rs
+++ b/src/librustc_typeck/diagnostics.rs
@@ -3087,6 +3087,29 @@ impl Foo for Bar {
 ```
 "##,
 
+E0328: r##"
+The Unsize trait should not be implemented directly. All implementations of
+Unsize are provided automatically by the compiler.
+
+Here's an example of this error:
+
+```compile_fail,E0328
+#![feature(unsize)]
+
+use std::marker::Unsize;
+
+pub struct MyType;
+
+impl<T> Unsize<T> for MyType {}
+```
+
+If you are defining your own smart pointer type and would like to enable
+conversion from a sized to an unsized type with the [DST coercion system]
+(https://github.com/rust-lang/rfcs/blob/master/text/0982-dst-coercion.md), use
+[`CoerceUnsized`](https://doc.rust-lang.org/std/ops/trait.CoerceUnsized.html)
+instead.
+"##,
+
 E0329: r##"
 An attempt was made to access an associated constant through either a generic
 type parameter or `Self`. This is not supported yet. An example causing this
@@ -4195,7 +4218,6 @@ register_diagnostics! {
 //  E0249,
 //  E0319, // trait impls for defaulted traits allowed just for structs/enums
     E0320, // recursive overflow during dropck
-    E0328, // cannot implement Unsize explicitly
 //  E0372, // coherence not object safe
     E0377, // the trait `CoerceUnsized` may only be implemented for a coercion
            // between structures with the same definition