Skip to content

Update libcudacxx-style SKILL#9115

Open
fbusato wants to merge 2 commits into
NVIDIA:mainfrom
fbusato:update-libcudacxx-style-skill
Open

Update libcudacxx-style SKILL#9115
fbusato wants to merge 2 commits into
NVIDIA:mainfrom
fbusato:update-libcudacxx-style-skill

Conversation

@fbusato
Copy link
Copy Markdown
Contributor

@fbusato fbusato commented May 22, 2026

Description

Considering some CodeRabbit reviews and internal feedback, it makes sense to update libcudacxx-style SKILL to decrease the noise.

The PR adds guidelines for uniform initialization, class/struct naming conventions, and type qualifiers. Include recommendations for function return types and header inclusion practices.

@fbusato fbusato requested review from bernhardmgruber and miscco May 22, 2026 18:26
@fbusato fbusato self-assigned this May 22, 2026
@fbusato fbusato added the libcu++ For all items related to libcu++ label May 22, 2026
@fbusato fbusato added this to CCCL May 22, 2026
@github-project-automation github-project-automation Bot moved this to Todo in CCCL May 22, 2026
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Review in CCCL May 22, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 22, 2026

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Expanded coding-style guidelines with stricter rules for uniform initialization, compile-time conversions, and class data-member naming/postfix conventions.
    • Clarified function-declaration preferences (explicit return types, trailing return types for auto, and modern concept-based patterns) and added a compile-time intrinsic recommendation.
    • Updated forward-declaration guidance, removed duplicated/obsolete text, and added a compatibility constraint to avoid reliance on deduction guides during initialization.

suggestion: Walkthrough

This PR updates the libcudacxx coding-style documentation with rules for uniform constructor initialization and member naming, function declaration preferences and compile-time markers, forward-declaration/header guidance and type-qualifier text, and a ban on relying on deduction guides during initialization.

Changes

libcudacxx Coding-Style Guidelines Extensions

Layer / File(s) Summary
Class initialization and member naming conventions
.agent/skills/libcudacxx-style/SKILL.md
Adds uniform initialization rules for class constructors and establishes naming convention where data members use _ postfix and constructor parameters match member names without that postfix.
Function declaration guidelines
.agent/skills/libcudacxx-style/SKILL.md
Expands function declaration requirements: prefer trailing return types for auto return types, mandate _CCCL_CONSTEVAL for compile-time-only functions, and specify C++20 concept macros over SFINAE; refreshes related type-qualifier and headers guidance.
Type qualifiers, headers, and initialization constraints
.agent/skills/libcudacxx-style/SKILL.md
Adds forward-declaration guidance (__fwd/header.h pattern) and removes duplicated text; prohibits reliance on template deduction guides during initialization (require explicit template arguments).

Suggested reviewers

  • bernhardmgruber
  • miscco

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
.agent/skills/libcudacxx-style/SKILL.md (1)

27-27: ⚡ Quick win

suggestion: These two rules are easy to read as conflicting: uniform initialization guidance can imply CTAD, while Line 102 forbids deduction-guide reliance. Add one clarifying sentence near Line 27 (or an example with explicit template args) to make the “no CTAD” constraint explicit in initialization examples.

Also applies to: 102-102


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 9aa2cf52-cc49-493e-a96e-0c109b10d1e4

📥 Commits

Reviewing files that changed from the base of the PR and between f67e324 and bfbbd4c.

📒 Files selected for processing (1)
  • .agent/skills/libcudacxx-style/SKILL.md

Comment thread .agent/skills/libcudacxx-style/SKILL.md Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.agent/skills/libcudacxx-style/SKILL.md (1)

27-27: ⚡ Quick win

suggestion: Grammar correction: "not enforced to builtin types" should be "not enforced for builtin types".


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 8a581393-c3e0-4e50-bb91-56b30c8a62a5

📥 Commits

Reviewing files that changed from the base of the PR and between bfbbd4c and 7878f5e.

📒 Files selected for processing (1)
  • .agent/skills/libcudacxx-style/SKILL.md

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

Labels

libcu++ For all items related to libcu++

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

1 participant