Skip to content

Conversation

@slavapestov
Copy link
Contributor

No description provided.

…blePack()

Both return the pack immediately if its already heap allocated, by
checking the least significant bit of the pack pointer.

Then,

- swift_allocateMetadataPack() uniques the metadata pack by the
  pointer equality of elements.

- swift_allocateWitnessTablePack() does not unique the pack.

Both return a pack pointer with the least significant bit set,
indicating heap allocation.
…tead of twiddling the LSB by hand

This is more type safe in theory, but in practice it's just catnip for C++ fans.
…ments for flags

For now, we have a single flag, which indicates that our generic
context has generic parameter packs.
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov slavapestov force-pushed the variadic-generic-types-plumbing branch from 977cdc5 to 9323dbe Compare February 28, 2023 22:33
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov slavapestov force-pushed the variadic-generic-types-plumbing branch from 9323dbe to 5215406 Compare March 1, 2023 17:15
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov slavapestov merged commit 2173db0 into swiftlang:main Mar 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant