]> git.lizzy.rs Git - rust.git/blob - src/test/ui/impl-trait/equality2.stderr
Rollup merge of #98441 - calebzulawski:simd_as, r=oli-obk
[rust.git] / src / test / ui / impl-trait / equality2.stderr
1 warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
2   --> $DIR/equality2.rs:1:12
3    |
4 LL | #![feature(specialization)]
5    |            ^^^^^^^^^^^^^^
6    |
7    = note: `#[warn(incomplete_features)]` on by default
8    = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
9    = help: consider using `min_specialization` instead, which is more stable and complete
10
11 error[E0308]: mismatched types
12   --> $DIR/equality2.rs:25:18
13    |
14 LL | fn hide<T: Foo>(x: T) -> impl Foo {
15    |                          -------- the found opaque type
16 ...
17 LL |     let _: u32 = hide(0_u32);
18    |            ---   ^^^^^^^^^^^ expected `u32`, found opaque type
19    |            |
20    |            expected due to this
21    |
22    = note:     expected type `u32`
23            found opaque type `impl Foo`
24
25 error[E0308]: mismatched types
26   --> $DIR/equality2.rs:31:18
27    |
28 LL | fn hide<T: Foo>(x: T) -> impl Foo {
29    |                          -------- the found opaque type
30 ...
31 LL |     let _: i32 = Leak::leak(hide(0_i32));
32    |            ---   ^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found associated type
33    |            |
34    |            expected due to this
35    |
36    = note:         expected type `i32`
37            found associated type `<impl Foo as Leak>::T`
38 help: consider constraining the associated type `<impl Foo as Leak>::T` to `i32`
39    |
40 LL | fn hide<T: Foo>(x: T) -> impl Foo<T = i32> {
41    |                                  +++++++++
42
43 error[E0308]: mismatched types
44   --> $DIR/equality2.rs:38:10
45    |
46 LL | fn hide<T: Foo>(x: T) -> impl Foo {
47    |                          --------
48    |                          |
49    |                          the expected opaque type
50    |                          the found opaque type
51 ...
52 LL |     x = (x.1,
53    |          ^^^ expected `u32`, found `i32`
54    |
55    = note: expected opaque type `impl Foo` (`u32`)
56               found opaque type `impl Foo` (`i32`)
57
58 error[E0308]: mismatched types
59   --> $DIR/equality2.rs:41:10
60    |
61 LL | fn hide<T: Foo>(x: T) -> impl Foo {
62    |                          --------
63    |                          |
64    |                          the expected opaque type
65    |                          the found opaque type
66 ...
67 LL |          x.0);
68    |          ^^^ expected `i32`, found `u32`
69    |
70    = note: expected opaque type `impl Foo` (`i32`)
71               found opaque type `impl Foo` (`u32`)
72
73 error: aborting due to 4 previous errors; 1 warning emitted
74
75 For more information about this error, try `rustc --explain E0308`.