本文へ移動
cccskills
無料GitHub で公開

numeric-casts

Rules for numeric type conversions in Luma. Use when writing or reviewing code that casts between integer or float types, especially across different widths.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md950 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Numeric Casts in Luma

Widening casts (smaller → larger)

Always use From/Into, never as:

// Correct
let x: u64 = u64::from(byte);
let x: u64 = byte.into();

// Wrong — triggers clippy::cast_lossless
let x = byte as u64;

clippy::cast_lossless enforces this automatically.

Narrowing casts (larger → smaller)

Only use as when the bound is provably safe and documented:

// Acceptable — bound is clear from context
let idx = offset as usize; // offset is always < usize::MAX by construction

// Preferred when bound is not obvious
let idx = usize::try_from(offset).expect("offset fits usize");

If overflow is possible and silent truncation is wrong, use try_from and handle the error explicitly.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Guidelines for writing platform-specific code in Luma. Use when adding or modifying code that behaves differently on Unix vs Windows, including shell commands, file paths, process spawning, or platform-specific tests.

日本語の概要は準備中です。原文の説明を表示しています。

nghyane/luma202026年6月8日 更新

rfc

無料

Workflow for creating, updating, or superseding RFCs in Luma. Use when the task involves opening a new RFC, updating RFC status, marking an RFC as superseded or implemented, or deciding whether a change needs an RFC at all.

日本語の概要は準備中です。原文の説明を表示しています。

nghyane/luma202026年6月8日 更新

nghyane のスキルをすべて見る

このスキルの問題を報告する