[rustjava-adopt-cp-tag-passthrough-detectable-p1] docs(classfile): 「원인」을 실을 값은 있다 — 제안의 역사·책임·범위를 바로잡는다 - #56
Merged
Conversation
…을 실을 값은 있다 — 제안의 역사·책임·범위를 바로잡는다 낱말이 Decide 다. 판정은 「할 값 있다」이지만 제안의 세 전제가 틀렸다. 역사: 822504b 는 error.rs 를 자르지 않고 만들었다. 그 이전 ClassInfo::parse 는 Option 을 돌려줘 실패에 정보가 0 이었다 — 그 커밋은 개선이었고, 「again」·「restore」는 성립하지 않는다. 책임: upstream 이 막고 있지 않다. 우리는 5커밋 뒤이고 그중 이 파일들을 만지는 것은 0건이며, 우리 fork 는 이미 이 crate 에서 +560 줄 갈렸다. read-only 규율은 보내는 것을 금할 뿐이다. 범위: target 이 1파일인데 평탄화는 3층이다. error.rs 만 고치면 관측 변화가 0 이고, 진짜 비용은 validate_class 의 8항 || 사슬을 쪼개는 것 — 이 티켓이 금지한 리팩터다. 그래서 구현하지 않고 범위를 바로잡아 후속으로 넘긴다. 제안이 근거로 인용한 주석이 거짓이었으므로 그 자리에서 고쳤다.
This was referenced Sep 16, 2026
added 4 commits
September 17, 2026 09:46
Jun025
pushed a commit
that referenced
this pull request
Sep 17, 2026
#59·#58·#56 착지분 흡수 충돌 3파일: 원장 2(REPORT·STATE)는 합집합·시간순(이 회차 09:06 > main 최신 06:52 ⇒ 위), make_indy_fixtures.py 는 형제 두 회차의 «각자 추가»라 합집합으로 합쳤다 (#59 의 fieldref·MAKECONCAT_DESCRIPTOR·make_concat_call_site·LINKED + 이 PR 의 method_type·method_handle·METAFACTORY_*·lambda_near_miss·METAFACTORY_FIXTURES). ★검증: 재생성 후 기존 픽스처 «바이트 변동 0» — 두 생성기가 둘 다 살아 있다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
채택 제안
2026-09-16-cp-tag-passthrough-detectable#p1. 낱말이Decide다⇒ ★코드 변경은 «틀린 주석 한 곳» 정정뿐이고 산출물은 판정과 근거다.
판정
ⓒ 제안의 «역사»가 거짓이다 — 두 겹으로
822504b는error.rs를 «자르지» 않고 «만들었다»(new file· 지금과 동일한 2변형)ClassInfo::parse는Option<Self>— 실패에 정보 0(.unwrap()투성이) ⇒ 그 커밋은 ★**«개선»이었다**upstream/main기준 5커밋 뒤, 그중 이 파일들을 만지는 것 0건 · upstream 의error.rs접촉은 1건(생성) 뿐 · ★우리는 이미 이 crate 에서constant_pool.rs+211/−6 ·validation.rs+137/−0 ·attribute.rs+129/−3 ·opcode.rs+83/−7 로 갈렸다※
AGENTS.md의 read-only 규율은 upstream 으로 «보내는 것» 을 금할 뿐, 로컬 변경을 금하지 않는다.ⓑ 그런데 설계는 «한 enum 건너» 이미 증명돼 있다 — 이것이 「할 값 있다」의 근거
ClassDefinitionError::UnsupportedFeature(&'static str)가 5곳에서 쓰이며"ldc of a method handle"같은 문장을 낸다.⇒ ★**새 발명이 아니라 «일관성 회복»**이고 모양도 자명하다(
InvalidFormat(&'static str)).이득 — 과장하지 않는다
kind-only 단언 8곳이 원인을 이름 부를 수 있고, 참조 JVM 격차가 준다(OpenJDK 는
Multiple BootstrapMethods attributes…·argument_index 65535 has bad constant type— 우리는 전부Invalid class file).★그러나 「픽스처보다 강한 자물쇠」는 «절반만» 참이다: 원인은 «어느 검사가 울렸나», 픽스처는 «그 검사가 관측 가능한가»를 잠근다.
★증거: 직전
-fix가 찾은 구멍(신원 4축 중 3축 미관측)은 링크 축이라 ★원인을 실었어도 안 잡혔다 ⇒ 대체가 아니라 «더하기».비용 —
target이 1파일인데 평탄화는 «3층»이다⇒ ★**
error.rs만 고치면 관측 변화가 «0»** — 아무도 넣지 않고 아무도 읽지 않는, 이 저장소가 규탄하는 그 형태다.★진짜 비용은
validate_class의 8항 사슬 분해(원인이 갈리는 유일한 자리)이고 ★이 티켓이 금지한 리팩터다.⇒ 범위를 바로잡아 후속 제안으로 넘겼다(⑴~⑸ · 「⑴만 하면 관측 변화 0 · ⑷ 없이 하면 평탄함이 «이사»할 뿐」까지 명시).
지금 고친 것 — 틀린 주석 한 곳
tests/test_class_format.rs머리 주석이 ★제안이 근거로 인용한 바로 그 문장이고 거짓이었다.⇒ 그 자리에서 정정했다 — ★착지한 트리가 거짓을 나르면 다음 사람이 같은 전제로 같은 제안을 다시 만든다.
★두 번째 언급(「
ClassFileError가 평탄화한다」)은 참이라 건드리지 않았다(과잉 편집 0).검증
cargo test --all --no-fail-fast572 passed / 0 failed / 1 ignored(27 스위트 전건 합산 · 주석만 바꿔 불변) · DoD 7명령 rc=0.