Skip to content

Conversation

@zygoloid
Copy link
Contributor

@zygoloid zygoloid commented Dec 6, 2025

Expose C++ class templates, variable templates, alias templates, and concepts as callable values in Carbon, and map calls to them into template-id formation, mirroring how Carbon generics behave. For now, only type template parameters are supported; non-type and template template parameters produce a TODO error.

@zygoloid zygoloid requested a review from a team as a code owner December 6, 2025 21:33
@zygoloid zygoloid requested review from josh11b and removed request for a team December 6, 2025 21:33
@zygoloid zygoloid added the dependent Depends on another issue/PR label Dec 6, 2025
@zygoloid zygoloid removed the dependent Depends on another issue/PR label Dec 8, 2025
template<typename> struct A {};
template<typename> struct B {};

template<template<typename> typename, template<typename> typename> struct TwoTemplates {};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Break up long line?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@zygoloid zygoloid requested a review from josh11b December 13, 2025 01:11
@josh11b josh11b added this pull request to the merge queue Dec 15, 2025
Merged via the queue into carbon-language:trunk with commit 6b28213 Dec 15, 2025
8 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Dec 16, 2025
…arameters. (#6475)

Allow passing a C++ template as a template template argument to another
C++ template. Does not allow passing a Carbon generic as an argument.

Depends on #6474.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants