File: E0033-teach.stderr

package info (click to toggle)
rustc 1.41.1%2Bdfsg1-1~deb10u1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 997,884 kB
  • sloc: xml: 133,832; ansic: 15,300; sh: 14,409; javascript: 6,505; python: 5,619; cpp: 3,984; makefile: 2,795; asm: 227; ruby: 68; awk: 10
file content (29 lines) | stat: -rw-r--r-- 1,457 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
error[E0423]: expected value, found trait `SomeTrait`
  --> $DIR/E0033-teach.rs:8:37
   |
LL |     let trait_obj: &dyn SomeTrait = SomeTrait;
   |                                     ^^^^^^^^^ not a value

error[E0038]: the trait `SomeTrait` cannot be made into an object
  --> $DIR/E0033-teach.rs:8:20
   |
LL |     fn foo();
   |        --- associated function `foo` has no `self` parameter
...
LL |     let trait_obj: &dyn SomeTrait = SomeTrait;
   |                    ^^^^^^^^^^^^^^ the trait `SomeTrait` cannot be made into an object

error[E0033]: type `&dyn SomeTrait` cannot be dereferenced
  --> $DIR/E0033-teach.rs:12:9
   |
LL |     let &invalid = trait_obj;
   |         ^^^^^^^^ type `&dyn SomeTrait` cannot be dereferenced
   |
   = note: This error indicates that a pointer to a trait type cannot be implicitly dereferenced by a pattern. Every trait defines a type, but because the size of trait implementors isn't fixed, this type has no compile-time size. Therefore, all accesses to trait types must be through pointers. If you encounter this error you should try to avoid dereferencing the pointer.
           
           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

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0033, E0038, E0423.
For more information about an error, try `rustc --explain E0033`.