Commit b570fce
committed
[cxx-interop] Use clang lookups for std::vector conformance
Instead of looking up the *imported* Swift type aliases, this patch
shifts the conformance to look up these typedefs from Clang, and *then*
imports them to Swift types to satisfy CxxVector conformance. Doing so
removes the conformance's dependency on eagerly importing such typedefs.
This patch also drops a conformance check that RawIterator conforms to
UnsafeCxxRandomAccessIterator. It shouldn't be necessary, because we are
looking at std::vector, which we assume comes from a conforming stdlib.
Even if it were necessary, it's not clear that this is the right place
and strategy for doing conformance checking. Besides we are fairly
inconsistent about checking other associated types. Let's be optimistic
about conformance for now (-:1 parent e7f493e commit b570fce
1 file changed
+19
-21
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1223 | 1223 | | |
1224 | 1224 | | |
1225 | 1225 | | |
| 1226 | + | |
1226 | 1227 | | |
1227 | | - | |
1228 | | - | |
1229 | | - | |
1230 | | - | |
1231 | | - | |
1232 | | - | |
1233 | | - | |
1234 | | - | |
1235 | | - | |
1236 | | - | |
1237 | | - | |
1238 | | - | |
1239 | | - | |
1240 | | - | |
1241 | | - | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
1242 | 1235 | | |
1243 | | - | |
1244 | | - | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
1245 | 1243 | | |
1246 | 1244 | | |
1247 | 1245 | | |
1248 | | - | |
| 1246 | + | |
1249 | 1247 | | |
1250 | | - | |
| 1248 | + | |
1251 | 1249 | | |
1252 | | - | |
| 1250 | + | |
1253 | 1251 | | |
1254 | | - | |
| 1252 | + | |
1255 | 1253 | | |
1256 | 1254 | | |
1257 | 1255 | | |
| |||
0 commit comments