Swift: more mangling

This commit is contained in:
Paolo Tranquilli
2023-03-21 15:26:07 +01:00
parent 2592129d83
commit 0aed7d56c2
12 changed files with 77 additions and 99 deletions

View File

@@ -1,61 +0,0 @@
[INVALID_KEY_SET] predicate types(@type id, string name, @type_or_none canonical_type): The key set {id} does not functionally determine all fields.
Here is a pair of tuples that agree on the key set but differ at index 1:
Tuple 1 in row 813: (2081,"<τ_0_0> (_unchecked: Int) -> τ_0_0",2081)
Tuple 2 in row 814: (2081,"<τ_0_0> (Int) -> τ_0_0",2081)
Relevant element: Tuple 1: id=2081
Full ID for 2081: @"GenericFunctionType_(401)->(319)<(319)>". The ID may expand to @"GenericFunctionType_{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}Int"}"}->{@"GenericTypeParamType_0_0"}<{@"GenericTypeParamType_0_0"}>"
Relevant element: Tuple 2: id=2081
Full ID for 2081: @"GenericFunctionType_(401)->(319)<(319)>". The ID may expand to @"GenericFunctionType_{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}Int"}"}->{@"GenericTypeParamType_0_0"}<{@"GenericTypeParamType_0_0"}>"
Relevant element: Tuple 1: canonical_type=2081
Full ID for 2081: @"GenericFunctionType_(401)->(319)<(319)>". The ID may expand to @"GenericFunctionType_{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}Int"}"}->{@"GenericTypeParamType_0_0"}<{@"GenericTypeParamType_0_0"}>"
Relevant element: Tuple 2: canonical_type=2081
Full ID for 2081: @"GenericFunctionType_(401)->(319)<(319)>". The ID may expand to @"GenericFunctionType_{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}Int"}"}->{@"GenericTypeParamType_0_0"}<{@"GenericTypeParamType_0_0"}>"
[INVALID_KEY_SET] predicate types(@type id, string name, @type_or_none canonical_type): The key set {id} does not functionally determine all fields.
Here is a pair of tuples that agree on the key set but differ at index 1:
Tuple 1 in row 971: (2709,"<Element> (Int) -> Element",2081)
Tuple 2 in row 972: (2709,"<Element> (_unchecked: Int) -> Element",2081)
Relevant element: Tuple 1: id=2709
Full ID for 2709: @"GenericFunctionType_(401)->(2649)<(2607)>". The ID may expand to @"GenericFunctionType_{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}Int"}"}->{@"GenericTypeParamType_{@"GenericTypeParamDecl_{@"ExtensionDecl_(5)(2052)0"}Element"}"}<{@"GenericTypeParamType_{@"GenericTypeParamDecl_{@"StructDecl_(5)UnsafeMutableBufferPointer<1>"}Element"}"}>"
Relevant element: Tuple 2: id=2709
Full ID for 2709: @"GenericFunctionType_(401)->(2649)<(2607)>". The ID may expand to @"GenericFunctionType_{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}Int"}"}->{@"GenericTypeParamType_{@"GenericTypeParamDecl_{@"ExtensionDecl_(5)(2052)0"}Element"}"}<{@"GenericTypeParamType_{@"GenericTypeParamDecl_{@"StructDecl_(5)UnsafeMutableBufferPointer<1>"}Element"}"}>"
Relevant element: Tuple 1: canonical_type=2081
Full ID for 2081: @"GenericFunctionType_(401)->(319)<(319)>". The ID may expand to @"GenericFunctionType_{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}Int"}"}->{@"GenericTypeParamType_0_0"}<{@"GenericTypeParamType_0_0"}>"
Relevant element: Tuple 2: canonical_type=2081
Full ID for 2081: @"GenericFunctionType_(401)->(319)<(319)>". The ID may expand to @"GenericFunctionType_{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}Int"}"}->{@"GenericTypeParamType_0_0"}<{@"GenericTypeParamType_0_0"}>"
[INVALID_KEY_SET] predicate types(@type id, string name, @type_or_none canonical_type): The key set {id} does not functionally determine all fields.
Here is a pair of tuples that agree on the key set but differ at index 1:
Tuple 1 in row 4339: (12488,"Unicode.ASCII.EncodedScalar",12453)
Tuple 2 in row 4340: (12488,"Unicode.ASCII.Parser.Encoding.EncodedScalar",12453)
Relevant element: Tuple 1: id=12488
Full ID for 12488: @"TypeAliasType_(12450)". The ID may expand to @"TypeAliasType_{@"TypeAliasDecl_{@"ExtensionDecl_{@"ModuleDecl_Swift"}{@"EnumDecl_(12442)ASCII"}0"}EncodedScalar"}"
Relevant element: Tuple 2: id=12488
Full ID for 12488: @"TypeAliasType_(12450)". The ID may expand to @"TypeAliasType_{@"TypeAliasDecl_{@"ExtensionDecl_{@"ModuleDecl_Swift"}{@"EnumDecl_(12442)ASCII"}0"}EncodedScalar"}"
Relevant element: Tuple 1: canonical_type=12453
Full ID for 12453: @"BoundGenericStructType_(12452)(1736)". The ID may expand to @"BoundGenericStructType_{@"StructDecl_{@"ModuleDecl_Swift"}CollectionOfOne<1>"}{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}UInt8"}"}"
Relevant element: Tuple 2: canonical_type=12453
Full ID for 12453: @"BoundGenericStructType_(12452)(1736)". The ID may expand to @"BoundGenericStructType_{@"StructDecl_{@"ModuleDecl_Swift"}CollectionOfOne<1>"}{@"StructType_{@"StructDecl_{@"ModuleDecl_Swift"}UInt8"}"}"
[INVALID_KEY_SET] predicate types(@type id, string name, @type_or_none canonical_type): The key set {id} does not functionally determine all fields.
Here is a pair of tuples that agree on the key set but differ at index 1:
Tuple 1 in row 4993: (14194,"<τ_0_0, τ_0_1> (of: τ_0_0) -> τ_0_1",14194)
Tuple 2 in row 4994: (14194,"<τ_0_0, τ_0_1> (τ_0_0) -> τ_0_1",14194)
Relevant element: Tuple 1: id=14194
Full ID for 14194: @"GenericFunctionType_(319)->(331)<(319)(331)>". The ID may expand to @"GenericFunctionType_{@"GenericTypeParamType_0_0"}->{@"GenericTypeParamType_0_1"}<{@"GenericTypeParamType_0_0"}{@"GenericTypeParamType_0_1"}>"
Relevant element: Tuple 2: id=14194
Full ID for 14194: @"GenericFunctionType_(319)->(331)<(319)(331)>". The ID may expand to @"GenericFunctionType_{@"GenericTypeParamType_0_0"}->{@"GenericTypeParamType_0_1"}<{@"GenericTypeParamType_0_0"}{@"GenericTypeParamType_0_1"}>"
Relevant element: Tuple 1: canonical_type=14194
Full ID for 14194: @"GenericFunctionType_(319)->(331)<(319)(331)>". The ID may expand to @"GenericFunctionType_{@"GenericTypeParamType_0_0"}->{@"GenericTypeParamType_0_1"}<{@"GenericTypeParamType_0_0"}{@"GenericTypeParamType_0_1"}>"
Relevant element: Tuple 2: canonical_type=14194
Full ID for 14194: @"GenericFunctionType_(319)->(331)<(319)(331)>". The ID may expand to @"GenericFunctionType_{@"GenericTypeParamType_0_0"}->{@"GenericTypeParamType_0_1"}<{@"GenericTypeParamType_0_0"}{@"GenericTypeParamType_0_1"}>"
[INVALID_KEY_SET] predicate types(@type id, string name, @type_or_none canonical_type): The key set {id} does not functionally determine all fields.
Here is a pair of tuples that agree on the key set but differ at index 1:
Tuple 1 in row 5002: (14206,"<τ_0_0, τ_0_1> (τ_0_0, do: (τ_0_0) throws -> τ_0_1) throws -> τ_0_1",14206)
Tuple 2 in row 5003: (14206,"<τ_0_0, τ_0_1> (τ_0_0, (τ_0_0) throws -> τ_0_1) throws -> τ_0_1",14206)
Relevant element: Tuple 1: id=14206
Full ID for 14206: @"GenericFunctionType_(319)(14205)->(331)_throws<(319)(331)>". The ID may expand to @"GenericFunctionType_{@"GenericTypeParamType_0_0"}{@"FunctionType_{@"GenericTypeParamType_0_0"}->{@"GenericTypeParamType_0_1"}_throws"}->{@"GenericTypeParamType_0_1"}_throws<{@"GenericTypeParamType_0_0"}{@"GenericTypeParamType_0_1"}>"
Relevant element: Tuple 2: id=14206
Full ID for 14206: @"GenericFunctionType_(319)(14205)->(331)_throws<(319)(331)>". The ID may expand to @"GenericFunctionType_{@"GenericTypeParamType_0_0"}{@"FunctionType_{@"GenericTypeParamType_0_0"}->{@"GenericTypeParamType_0_1"}_throws"}->{@"GenericTypeParamType_0_1"}_throws<{@"GenericTypeParamType_0_0"}{@"GenericTypeParamType_0_1"}>"
Relevant element: Tuple 1: canonical_type=14206
Full ID for 14206: @"GenericFunctionType_(319)(14205)->(331)_throws<(319)(331)>". The ID may expand to @"GenericFunctionType_{@"GenericTypeParamType_0_0"}{@"FunctionType_{@"GenericTypeParamType_0_0"}->{@"GenericTypeParamType_0_1"}_throws"}->{@"GenericTypeParamType_0_1"}_throws<{@"GenericTypeParamType_0_0"}{@"GenericTypeParamType_0_1"}>"
Relevant element: Tuple 2: canonical_type=14206
Full ID for 14206: @"GenericFunctionType_(319)(14205)->(331)_throws<(319)(331)>". The ID may expand to @"GenericFunctionType_{@"GenericTypeParamType_0_0"}{@"FunctionType_{@"GenericTypeParamType_0_0"}->{@"GenericTypeParamType_0_1"}_throws"}->{@"GenericTypeParamType_0_1"}_throws<{@"GenericTypeParamType_0_0"}{@"GenericTypeParamType_0_1"}>"
[INVALID_KEY_SET] predicate types(@type id, string name, @type_or_none canonical_type): More errors, not displayed. There are 27 pairs of tuples not satisfying the key dependency for a relation of size 52810

View File

@@ -39,11 +39,15 @@
| Sources/deduplication/def.swift:24:36:24:39 | _ | ParamDecl | A [GenericTypeParamType] |
| Sources/deduplication/def.swift:24:42:24:45 | _ | ParamDecl | B [GenericTypeParamType] |
| Sources/deduplication/def.swift:24:48:24:51 | _ | ParamDecl | C [GenericTypeParamType] |
| Sources/deduplication/def.swift:26:1:26:21 | Protocol1 | ProtocolDecl | Protocol1.Protocol [MetatypeType] |
| Sources/deduplication/def.swift:27:1:29:1 | Protocol2 | ProtocolDecl | Protocol2.Protocol [MetatypeType] |
| Sources/deduplication/def.swift:28:5:28:20 | Associated | AssociatedTypeDecl | Self.Associated.Type [MetatypeType] |
| Sources/deduplication/def.swift:30:1:30:14 | Class | ClassDecl | Class.Type [MetatypeType] |
| Sources/deduplication/def.swift:30:7:30:7 | Class.deinit() | Deinitializer | (Class) -> () -> () [FunctionType] |
| Sources/deduplication/def.swift:30:7:30:7 | Class.init() | Initializer | (Class.Type) -> () -> Class [FunctionType] |
| Sources/deduplication/def.swift:30:7:30:7 | self | ParamDecl | Class [ClassType] |
| Sources/deduplication/def.swift:30:7:30:7 | self | ParamDecl | Class [ClassType] |
| Sources/deduplication/def.swift:32:1:32:128 | def_generic_function_with_conformance(_:_:_:) | ConcreteFuncDecl | <A, B, C where A : Protocol1, A : Protocol2, B : Class, C == A.Associated> (A, B, C) -> () [GenericFunctionType] |
| Sources/deduplication/def.swift:32:44:32:60 | A | GenericTypeParamDecl | A.Type [MetatypeType] |
| Sources/deduplication/def.swift:32:71:32:75 | B | GenericTypeParamDecl | B.Type [MetatypeType] |
| Sources/deduplication/def.swift:32:82:32:82 | C | GenericTypeParamDecl | C.Type [MetatypeType] |
@@ -70,6 +74,7 @@
| Sources/deduplication/use.swift:6:33:6:36 | _ | ParamDecl | Int [StructType] |
| Sources/deduplication/use.swift:7:1:7:61 | use_async_throwing_function_type(_:) | NamedFunction | (Int) async throws -> () [FunctionType] |
| Sources/deduplication/use.swift:7:39:7:42 | _ | ParamDecl | Int [StructType] |
| Sources/deduplication/use.swift:8:1:8:150 | use_generic_function_with_conformance_type(_:_:_:) | ConcreteFuncDecl | <AA, BB, CC where AA : Protocol1, AA : Protocol2, BB : Class, CC == AA.Associated> (AA, BB, CC) -> () [GenericFunctionType] |
| Sources/deduplication/use.swift:8:49:8:49 | AA | GenericTypeParamDecl | AA.Type [MetatypeType] |
| Sources/deduplication/use.swift:8:53:8:53 | BB | GenericTypeParamDecl | BB.Type [MetatypeType] |
| Sources/deduplication/use.swift:8:57:8:57 | CC | GenericTypeParamDecl | CC.Type [MetatypeType] |

View File

@@ -1,10 +1,13 @@
// swift-tools-version: 5.5
// swift-tools-version: 5.7
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "deduplication",
platforms: [
.macOS(.v10_15),
],
products: [
.library(
name: "deduplication",

View File

@@ -8,8 +8,11 @@
| (Int) throws -> () | FunctionType | def_throwing_function(_:), use_throwing_function_type(_:) | |
| (Int, Double) -> Double | FunctionType | def_function_overloaded_on_return(_:_:) | |
| (Int, Double) -> Int | FunctionType | def_function_overloaded_on_return(_:_:) | |
| <A, B, C where A : Protocol1, A : Protocol2, B : Class, C == A.Associated> (A, B, C) -> () | GenericFunctionType | def_generic_function_with_conformance(_:_:_:) | <\u03c4_0_0, \u03c4_0_1, \u03c4_0_2 where \u03c4_0_0 : Protocol1, \u03c4_0_0 : Protocol2, \u03c4_0_1 : Class, \u03c4_0_2 == \u03c4_0_0.Associated> (\u03c4_0_0, \u03c4_0_1, \u03c4_0_2) -> () |
| <A, B, C> (A, B, C) -> () | GenericFunctionType | def_generic_function(_:_:_:) | <\u03c4_0_0, \u03c4_0_1, \u03c4_0_2> (\u03c4_0_0, \u03c4_0_1, \u03c4_0_2) -> () |
| <AA, BB, CC where AA : Protocol1, AA : Protocol2, BB : Class, CC == AA.Associated> (AA, BB, CC) -> () | GenericFunctionType | use_generic_function_with_conformance_type(_:_:_:) | <\u03c4_0_0, \u03c4_0_1, \u03c4_0_2 where \u03c4_0_0 : Protocol1, \u03c4_0_0 : Protocol2, \u03c4_0_1 : Class, \u03c4_0_2 == \u03c4_0_0.Associated> (\u03c4_0_0, \u03c4_0_1, \u03c4_0_2) -> () |
| <AA, BB, CC> (AA, BB, CC) -> () | GenericFunctionType | use_generic_function_type(_:_:_:) | <\u03c4_0_0, \u03c4_0_1, \u03c4_0_2> (\u03c4_0_0, \u03c4_0_1, \u03c4_0_2) -> () |
| <\u03c4_0_0, \u03c4_0_1, \u03c4_0_2 where \u03c4_0_0 : Protocol1, \u03c4_0_0 : Protocol2, \u03c4_0_1 : Class, \u03c4_0_2 == \u03c4_0_0.Associated> (\u03c4_0_0, \u03c4_0_1, \u03c4_0_2) -> () | GenericFunctionType | def_generic_function_with_conformance(_:_:_:), use_generic_function_with_conformance_type(_:_:_:) | |
| <\u03c4_0_0, \u03c4_0_1, \u03c4_0_2> (\u03c4_0_0, \u03c4_0_1, \u03c4_0_2) -> () | GenericFunctionType | def_generic_function(_:_:_:), use_generic_function_type(_:_:_:) | |
| Generic<Int> | BoundGenericStructType | def_instantiated_generic, use_instantiated_generic | |
| Int | StructType | def_int, use_int | |