Commit e494019
committed
[SILGen] Never use a converting initialization when emitting member
initializers if the member is a property wrapper.
This code assumes that the initial value of the member and the result
of initialization are the same type (but differing in abstraction level).
This isn't true for property wrappers because the initial value can be
the wrapped value type, but the result is always the property wrapper
type. Property wrapper types are never reabstractable types anyway, so
the converting initialization isn't necessary.1 parent 0fccbcb commit e494019
File tree
2 files changed
+30
-3
lines changed- lib/SILGen
- test/SILGen
2 files changed
+30
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1142 | 1142 | | |
1143 | 1143 | | |
1144 | 1144 | | |
1145 | | - | |
1146 | | - | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
1147 | 1159 | | |
1148 | | - | |
| 1160 | + | |
1149 | 1161 | | |
1150 | 1162 | | |
1151 | 1163 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
967 | 967 | | |
968 | 968 | | |
969 | 969 | | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
0 commit comments