diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2018-03-23 09:27:26 -0500 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2018-03-23 10:16:10 -0700 |
| commit | 6fd3cc585a0d09bce600f345c27f1ebb7a2e06b8 (patch) | |
| tree | 054c675df9efb560686837468e98903f8bceffff /src/test | |
| parent | 815171b592c0ed5bc0c4a0d5df9d1c20dc146aab (diff) | |
| parent | b48a26cdd1d086a3ca7ffae35b73b72f9ce85b8f (diff) | |
| download | rust-6fd3cc585a0d09bce600f345c27f1ebb7a2e06b8.tar.gz rust-6fd3cc585a0d09bce600f345c27f1ebb7a2e06b8.zip | |
Rollup merge of #49262 - oli-obk:fixed_size_array_len, r=estebank
Produce nice array lengths on a best effort basis fixes #49208 r? @estebank
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/did_you_mean/bad-assoc-ty.stderr | 2 | ||||
| -rw-r--r-- | src/test/ui/unevaluated_fixed_size_array_len.rs | 23 | ||||
| -rw-r--r-- | src/test/ui/unevaluated_fixed_size_array_len.stderr | 17 |
3 files changed, 41 insertions, 1 deletions
diff --git a/src/test/ui/did_you_mean/bad-assoc-ty.stderr b/src/test/ui/did_you_mean/bad-assoc-ty.stderr index 45dce3d8740..169a12ef92e 100644 --- a/src/test/ui/did_you_mean/bad-assoc-ty.stderr +++ b/src/test/ui/did_you_mean/bad-assoc-ty.stderr @@ -46,7 +46,7 @@ error[E0223]: ambiguous associated type LL | type A = [u8; 4]::AssocTy; | ^^^^^^^^^^^^^^^^ ambiguous associated type | - = note: specify the type using the syntax `<[u8; <unevaluated[]>] as Trait>::AssocTy` + = note: specify the type using the syntax `<[u8; _] as Trait>::AssocTy` error[E0223]: ambiguous associated type --> $DIR/bad-assoc-ty.rs:15:10 diff --git a/src/test/ui/unevaluated_fixed_size_array_len.rs b/src/test/ui/unevaluated_fixed_size_array_len.rs new file mode 100644 index 00000000000..a6ed9f32106 --- /dev/null +++ b/src/test/ui/unevaluated_fixed_size_array_len.rs @@ -0,0 +1,23 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// https://github.com/rust-lang/rust/issues/49208 + +trait Foo { + fn foo(); +} + +impl Foo for [(); 1] { + fn foo() {} +} + +fn main() { + <[(); 0] as Foo>::foo() //~ ERROR E0277 +} diff --git a/src/test/ui/unevaluated_fixed_size_array_len.stderr b/src/test/ui/unevaluated_fixed_size_array_len.stderr new file mode 100644 index 00000000000..6e959da9939 --- /dev/null +++ b/src/test/ui/unevaluated_fixed_size_array_len.stderr @@ -0,0 +1,17 @@ +error[E0277]: the trait bound `[(); 0]: Foo` is not satisfied + --> $DIR/unevaluated_fixed_size_array_len.rs:22:5 + | +LL | <[(); 0] as Foo>::foo() //~ ERROR E0277 + | ^^^^^^^^^^^^^^^^^^^^^ the trait `Foo` is not implemented for `[(); 0]` + | + = help: the following implementations were found: + <[(); 1] as Foo> +note: required by `Foo::foo` + --> $DIR/unevaluated_fixed_size_array_len.rs:14:5 + | +LL | fn foo(); + | ^^^^^^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. |
