This and related matters have been previously discussed. Most recently at the thread Sealed traits. Also, you should try to format you code using backticks. Write
```rust
trait newtype{
type output;
fn get(&self)->self::output
fn new(input:output)->Self;
}
```
to display
trait newtype{
type output;
fn get(&self)->self::output
fn new(input:output)->Self;
}