summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_error_codes/src/error_codes/E0225.md
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_error_codes/src/error_codes/E0225.md')
-rw-r--r--compiler/rustc_error_codes/src/error_codes/E0225.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0225.md b/compiler/rustc_error_codes/src/error_codes/E0225.md
new file mode 100644
index 000000000..c306e7100
--- /dev/null
+++ b/compiler/rustc_error_codes/src/error_codes/E0225.md
@@ -0,0 +1,21 @@
+Multiple types were used as bounds for a closure or trait object.
+
+Erroneous code example:
+
+```compile_fail,E0225
+fn main() {
+ let _: Box<dyn std::io::Read + std::io::Write>;
+}
+```
+
+Rust does not currently support this.
+
+Auto traits such as Send and Sync are an exception to this rule:
+It's possible to have bounds of one non-builtin trait, plus any number of
+auto traits. For example, the following compiles correctly:
+
+```
+fn main() {
+ let _: Box<dyn std::io::Read + Send + Sync>;
+}
+```