Closed
Description
Consider the following code
struct Foo { a: i32 }
impl Default for Foo {
fn default() -> Self {
Foo { a: 42 }
}
}
We can't replace the last use of Foo
in the impl with Self
(you get E0071). But Self
is a kind of type alias, or it acts like one anyway, and normally you can construct a struct through a type alias. So we should allow usage of Self
like this.