1 error[E0423]: expected value, found trait `SomeTrait`
2 --> $DIR/E0033-teach.rs:18:33
4 18 | let trait_obj: &SomeTrait = SomeTrait;
5 | ^^^^^^^^^ not a value
7 error[E0038]: the trait `SomeTrait` cannot be made into an object
8 --> $DIR/E0033-teach.rs:18:20
10 18 | let trait_obj: &SomeTrait = SomeTrait;
11 | ^^^^^^^^^^ the trait `SomeTrait` cannot be made into an object
13 = note: method `foo` has no receiver
15 error[E0033]: type `&SomeTrait` cannot be dereferenced
16 --> $DIR/E0033-teach.rs:23:9
18 23 | let &invalid = trait_obj;
19 | ^^^^^^^^ type `&SomeTrait` cannot be dereferenced
21 = 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.
23 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
25 error: aborting due to 3 previous errors