| error: inherent impls cannot be const |
| --> $DIR/span-bug-issue-121418.rs:6:12 |
| | |
| LL | impl const dyn T { |
| | ----- ^^^^^ inherent impl for this type |
| | | |
| | const because of this |
| | |
| = note: only trait implementations may be annotated with `const` |
| |
| error[E0277]: the size for values of type `(dyn T + 'static)` cannot be known at compilation time |
| --> $DIR/span-bug-issue-121418.rs:8:27 |
| | |
| LL | pub const fn new() -> std::sync::Mutex<dyn T> {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time |
| | |
| = help: within `std::sync::Mutex<(dyn T + 'static)>`, the trait `Sized` is not implemented for `(dyn T + 'static)` |
| note: required because it appears within the type `std::sync::Mutex<(dyn T + 'static)>` |
| --> $SRC_DIR/std/src/sync/poison/mutex.rs:LL:COL |
| = note: the return type of a function must have a statically known size |
| |
| error[E0308]: mismatched types |
| --> $DIR/span-bug-issue-121418.rs:8:27 |
| | |
| LL | pub const fn new() -> std::sync::Mutex<dyn T> {} |
| | --- ^^^^^^^^^^^^^^^^^^^^^^^ expected `Mutex<dyn T>`, found `()` |
| | | |
| | implicitly returns `()` as its body has no tail or `return` expression |
| | |
| = note: expected struct `std::sync::Mutex<(dyn T + 'static)>` |
| found unit type `()` |
| |
| error: aborting due to 3 previous errors |
| |
| Some errors have detailed explanations: E0277, E0308. |
| For more information about an error, try `rustc --explain E0277`. |