Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-7467] associatedType having a default type is broken with more than two use #50010

Closed
kateinoigakukun opened this issue Apr 18, 2018 · 2 comments · Fixed by #69826
Closed
Assignees
Labels
associated type inference bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself conformances Feature → protocol: protocol conformances swift 6.0 type checker Area → compiler: Semantic analysis unexpected error Bug: Unexpected error

Comments

@kateinoigakukun
Copy link
Member

kateinoigakukun commented Apr 18, 2018

Previous ID SR-7467
Radar None
Original Reporter @kateinoigakukun
Type Bug
Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug
Assignee @kateinoigakukun
Priority Medium

md5: f2f22b2ccca7f1fd5d33002d0d33e04f

Issue Description:

Minimum code is here.

protocol P {
    associatedtype X = Int

    func f1(_ x: X)
    func f2(_ x: X)
}

struct S: P {
    func f1(_ x: X) {}
    func f2(_ x: X) {}
}
 
error: reference to invalid associated type 'X' of type 'S'
    func f2(_ x: X) {}
@belkadan
Copy link
Contributor

I think there's a dup of this but I can't find it at the moment. @DougGregor?

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
slavapestov added a commit to slavapestov/swift that referenced this issue Nov 13, 2023
…request cycle

This implements a structural walk over the TypeRepr to catch
situations where we attempt to infer `A` from `func f(_: A)`,
which references the concrete `A` that will be synthesized
in the conforming type.

Fixes:
- rdar://34956654 / apple#48680
- rdar://38913692 / apple#49066
- rdar://56672411
- apple#50010
- rdar://81587765 / apple#57355
- rdar://117442510
slavapestov added a commit to slavapestov/swift that referenced this issue Nov 14, 2023
…request cycle

This implements a structural walk over the TypeRepr to catch
situations where we attempt to infer `A` from `func f(_: A)`,
which references the concrete `A` that will be synthesized
in the conforming type.

Fixes:
- rdar://34956654 / apple#48680
- rdar://38913692 / apple#49066
- rdar://56672411
- apple#50010
- rdar://81587765 / apple#57355
- rdar://117442510
slavapestov added a commit to slavapestov/swift that referenced this issue Nov 14, 2023
…request cycle

This implements a structural walk over the TypeRepr to catch
situations where we attempt to infer `A` from `func f(_: A)`,
which references the concrete `A` that will be synthesized
in the conforming type.

Fixes:
- rdar://34956654 / apple#48680
- rdar://38913692 / apple#49066
- rdar://56672411
- apple#50010
- rdar://81587765 / apple#57355
- rdar://117442510
slavapestov added a commit to slavapestov/swift that referenced this issue Nov 14, 2023
…request cycle

This implements a structural walk over the TypeRepr to catch
situations where we attempt to infer `A` from `func f(_: A)`,
which references the concrete `A` that will be synthesized
in the conforming type.

Fixes:
- rdar://34956654 / apple#48680
- rdar://38913692 / apple#49066
- rdar://56672411
- apple#50010
- rdar://81587765 / apple#57355
- rdar://117442510
@slavapestov
Copy link
Member

Fixed by #69826

slavapestov added a commit to slavapestov/swift that referenced this issue Nov 17, 2023
…request cycle

This implements a structural walk over the TypeRepr to catch
situations where we attempt to infer `A` from `func f(_: A)`,
which references the concrete `A` that will be synthesized
in the conforming type.

Fixes:
- rdar://34956654 / apple#48680
- rdar://38913692 / apple#49066
- rdar://56672411
- apple#50010
- rdar://81587765 / apple#57355
- rdar://117442510
@AnthonyLatsis AnthonyLatsis added type checker Area → compiler: Semantic analysis conformances Feature → protocol: protocol conformances associated type inference unexpected error Bug: Unexpected error swift 6.0 labels Nov 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
associated type inference bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself conformances Feature → protocol: protocol conformances swift 6.0 type checker Area → compiler: Semantic analysis unexpected error Bug: Unexpected error
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants