Commit a9f6df0
core: declare the smart-pointer converting constructors once
The three constructors taking a smart pointer to a derived class carried two
copies of their template parameter list: an unqualified one under
`#ifdef __MRDOCS__`, for the reference, and the real `detail::`-qualified one.
Only MrDocs ever compiles the first, so the two could drift apart without
anything failing, and the reference would document a constraint the library
does not have.
The rules recorded in the previous commits cover this case, so state each
constraint once, with SameSmartPtr and IsPolymorphic in a defaulted template
parameter each. The rendered requires-clause is byte-for-byte what the
duplicated declarations produced.
The `#ifdef __MRDOCS__` blocks that remain remove declarations from the
reference - friends, deleted overloads, the VirtualTraits blueprint - rather
than restate them.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 00e7fbf commit a9f6df0
2 files changed
Lines changed: 19 additions & 33 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
311 | 311 | | |
312 | 312 | | |
313 | 313 | | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
314 | 320 | | |
315 | 321 | | |
316 | 322 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1227 | 1227 | | |
1228 | 1228 | | |
1229 | 1229 | | |
1230 | | - | |
| 1230 | + | |
1231 | 1231 | | |
1232 | 1232 | | |
1233 | 1233 | | |
| |||
1252 | 1252 | | |
1253 | 1253 | | |
1254 | 1254 | | |
| 1255 | + | |
| 1256 | + | |
1255 | 1257 | | |
1256 | | - | |
1257 | | - | |
1258 | | - | |
1259 | | - | |
1260 | | - | |
1261 | | - | |
1262 | | - | |
1263 | | - | |
1264 | | - | |
| 1258 | + | |
| 1259 | + | |
1265 | 1260 | | |
1266 | | - | |
1267 | 1261 | | |
1268 | 1262 | | |
1269 | 1263 | | |
1270 | 1264 | | |
1271 | 1265 | | |
1272 | 1266 | | |
1273 | 1267 | | |
1274 | | - | |
1275 | 1268 | | |
1276 | 1269 | | |
1277 | 1270 | | |
| |||
1288 | 1281 | | |
1289 | 1282 | | |
1290 | 1283 | | |
| 1284 | + | |
| 1285 | + | |
1291 | 1286 | | |
1292 | | - | |
1293 | | - | |
1294 | | - | |
1295 | | - | |
1296 | | - | |
1297 | | - | |
1298 | | - | |
1299 | | - | |
1300 | | - | |
| 1287 | + | |
| 1288 | + | |
1301 | 1289 | | |
1302 | | - | |
1303 | 1290 | | |
1304 | 1291 | | |
1305 | 1292 | | |
1306 | 1293 | | |
1307 | 1294 | | |
1308 | 1295 | | |
1309 | 1296 | | |
1310 | | - | |
1311 | 1297 | | |
1312 | 1298 | | |
1313 | 1299 | | |
| |||
1331 | 1317 | | |
1332 | 1318 | | |
1333 | 1319 | | |
| 1320 | + | |
| 1321 | + | |
1334 | 1322 | | |
1335 | | - | |
1336 | | - | |
1337 | | - | |
1338 | | - | |
1339 | | - | |
1340 | | - | |
1341 | | - | |
1342 | | - | |
1343 | | - | |
| 1323 | + | |
| 1324 | + | |
1344 | 1325 | | |
1345 | | - | |
1346 | 1326 | | |
1347 | 1327 | | |
1348 | 1328 | | |
| |||
0 commit comments