Skip to content

Self alias as struct constructor #1588

Closed
@durka

Description

@durka

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.

brought up here cc @huonw

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-langRelevant to the language team, which will review and decide on the RFC.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions