You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
error[E0423]: expected value, found trait `SomeTrait`
2
-
--> $DIR/E0033-teach.rs:8:37
3
-
|
4
-
LL | let trait_obj: &dyn SomeTrait = SomeTrait;
5
-
| ^^^^^^^^^ not a value
6
-
7
-
error[E0038]: the trait `SomeTrait` cannot be made into an object
8
-
--> $DIR/E0033-teach.rs:8:20
9
-
|
10
-
LL | let trait_obj: &dyn SomeTrait = SomeTrait;
11
-
| ^^^^^^^^^^^^^^ `SomeTrait` cannot be made into an object
12
-
|
13
-
note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
14
-
--> $DIR/E0033-teach.rs:4:8
15
-
|
16
-
LL | trait SomeTrait {
17
-
| --------- this trait cannot be made into an object...
18
-
LL | fn foo();
19
-
| ^^^ ...because associated function `foo` has no `self` parameter
20
-
help: consider turning `foo` into a method by giving it a `&self` argument
21
-
|
22
-
LL | fn foo(&self);
23
-
| +++++
24
-
help: alternatively, consider constraining `foo` so it does not apply to trait objects
25
-
|
26
-
LL | fn foo() where Self: Sized;
27
-
| +++++++++++++++++
28
-
29
1
error[E0033]: type `&dyn SomeTrait` cannot be dereferenced
30
2
--> $DIR/E0033-teach.rs:12:9
31
3
|
@@ -36,7 +8,6 @@ LL | let &invalid = trait_obj;
36
8
37
9
You can read more about trait objects in the Trait Objects section of the Reference: https://doc.rust-lang.org/reference/types.html#trait-objects
38
10
39
-
error: aborting due to 3 previous errors
11
+
error: aborting due to previous error
40
12
41
-
Some errors have detailed explanations: E0033, E0038, E0423.
42
-
For more information about an error, try `rustc --explain E0033`.
13
+
For more information about this error, try `rustc --explain E0033`.
error[E0423]: expected value, found trait `SomeTrait`
2
-
--> $DIR/E0033.rs:6:37
3
-
|
4
-
LL | let trait_obj: &dyn SomeTrait = SomeTrait;
5
-
| ^^^^^^^^^ not a value
6
-
7
-
error[E0038]: the trait `SomeTrait` cannot be made into an object
8
-
--> $DIR/E0033.rs:6:20
9
-
|
10
-
LL | let trait_obj: &dyn SomeTrait = SomeTrait;
11
-
| ^^^^^^^^^^^^^^ `SomeTrait` cannot be made into an object
12
-
|
13
-
note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
14
-
--> $DIR/E0033.rs:2:8
15
-
|
16
-
LL | trait SomeTrait {
17
-
| --------- this trait cannot be made into an object...
18
-
LL | fn foo();
19
-
| ^^^ ...because associated function `foo` has no `self` parameter
20
-
help: consider turning `foo` into a method by giving it a `&self` argument
21
-
|
22
-
LL | fn foo(&self);
23
-
| +++++
24
-
help: alternatively, consider constraining `foo` so it does not apply to trait objects
25
-
|
26
-
LL | fn foo() where Self: Sized;
27
-
| +++++++++++++++++
28
-
29
1
error[E0033]: type `&dyn SomeTrait` cannot be dereferenced
30
-
--> $DIR/E0033.rs:10:9
2
+
--> $DIR/E0033.rs:11:9
31
3
|
32
4
LL | let &invalid = trait_obj;
33
5
| ^^^^^^^^ type `&dyn SomeTrait` cannot be dereferenced
34
6
35
-
error: aborting due to 3 previous errors
7
+
error: aborting due to previous error
36
8
37
-
Some errors have detailed explanations: E0033, E0038, E0423.
38
-
For more information about an error, try `rustc --explain E0033`.
9
+
For more information about this error, try `rustc --explain E0033`.
| help: replace with the correct type: `Option<u8>`
430
430
431
+
error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
432
+
--> $DIR/typeck_type_placeholder_item.rs:224:31
433
+
|
434
+
LL | fn evens_squared(n: usize) -> _ {
435
+
| ^
436
+
| |
437
+
| not allowed in type signatures
438
+
| help: replace with an appropriate return type: `impl Iterator<Item = usize>`
439
+
440
+
error[E0121]: the placeholder `_` is not allowed within types on item signatures for constants
441
+
--> $DIR/typeck_type_placeholder_item.rs:229:10
442
+
|
443
+
LL | const _: _ = (1..10).filter(|x| x % 2 == 0).map(|x| x * x);
444
+
| ^ not allowed in type signatures
445
+
|
446
+
note: however, the inferred type `Map<Filter<Range<i32>, [closure@typeck_type_placeholder_item.rs:229:29]>, [closure@typeck_type_placeholder_item.rs:229:49]>` cannot be named
447
+
--> $DIR/typeck_type_placeholder_item.rs:229:14
448
+
|
449
+
LL | const _: _ = (1..10).filter(|x| x % 2 == 0).map(|x| x * x);
450
+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
451
+
431
452
error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
432
453
--> $DIR/typeck_type_placeholder_item.rs:140:31
433
454
|
@@ -636,7 +657,7 @@ LL | const D: _ = 42;
636
657
| not allowed in type signatures
637
658
| help: replace with the correct type: `i32`
638
659
639
-
error: aborting due to 69 previous errors
660
+
error: aborting due to 71 previous errors
640
661
641
662
Some errors have detailed explanations: E0121, E0282, E0403.
642
663
For more information about an error, try `rustc --explain E0121`.
0 commit comments