Skip to content

fix(ja/13): use super.foo() in DiamondInheritance to match C3 linearization teaching - #953

Open
auyua9 wants to merge 1 commit into
AmazingAng:mainfrom
auyua9:fix/ja-13-diamond-super-foo-pr
Open

auyua9 wants to merge 1 commit into
AmazingAng:mainfrom
auyua9:fix/ja-13-diamond-super-foo-pr

Conversation

@auyua9

@auyua9 auyua9 commented Sep 5, 2026

Copy link
Copy Markdown

Summary

  • 日本語の Solidity 継承チュートリアル (13_Inheritance) の DiamondInheritance 例で、AdamEvefoo()super.foo() を呼び出しておらず、また readme.md のコードブロックでは Adam.foo() / Eve.foo() という自己呼び出しになっていました。
  • この状態だと people.foo() のイベントログが God を経由せず、super による C3 リニアライゼーションの説明と一致しません。super.foo() 呼び出しを追加し、readme のサンプルも super.foo() に統一します。
  • 英語版 / 中国語版など他の言語ツリーは既に super.foo() を正しく使っており、日本語版のみ取り残されていたので、説明を他の言語と整合させます。

Files changed

  • Languages/ja/13_Inheritance_ja/DiamondInheritance.sol: Adam.foo / Eve.foosuper.foo() を追加。
  • Languages/ja/13_Inheritance_ja/readme.md: コードブロック内の Adam.foo() / Eve.foo()super.foo() に置換。

Test plan

  • solc 0.8 系で DiamondInheritance.sol をコンパイルできることを確認。
  • Remix もしくはローカルスクリプトで people をデプロイし、people.foo() を呼ぶと Adam.foo called -> Eve.foo called -> God.foo called の順で Log が出ることを確認 (bar() と同じ C3 順)。

🤖 Generated with subagent fallback (no external worker output available for this slice).

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