[S5] upstream 동기 — 컷 c4665b0 (Java 1.2 API 확장 · 충돌 3) [rustjava-upstream-sync-s5-with-remeasured-conflicts] - #21
Merged
Merged
Conversation
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.89 to 0.1.91. - [Release notes](https://github.com/dtolnay/async-trait/releases) - [Commits](dtolnay/async-trait@0.1.89...0.1.91) --- updated-dependencies: - dependency-name: async-trait dependency-version: 0.1.91 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.25.1 to 1.25.2. - [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md) - [Commits](Lokathor/bytemuck@v1.25.1...v1.25.2) --- updated-dependencies: - dependency-name: bytemuck dependency-version: 1.25.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.103 to 1.0.104. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](dtolnay/anyhow@1.0.103...1.0.104) --- updated-dependencies: - dependency-name: anyhow dependency-version: 1.0.104 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.53.0 to 1.53.1. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](tokio-rs/tokio@tokio-1.53.0...tokio-1.53.1) --- updated-dependencies: - dependency-name: tokio dependency-version: 1.53.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Expand Java 1.2 runtime API compatibility * Document interrupt field access rationale
재측정된 충돌 3건을 해소했다(base = 착수 시 main 1983d9f · merge-base 3296139). 1. Cargo.lock — 재생성(손 머지 0 · cargo build). 2. java/lang/string.rs — ★설계 판단. upstream 이 copyValueOf 2종 신설과 함께 decode_str/encode_str 하드코딩 표를 «되살렸는데», 4개 호출부는 자동병합으로 우리 Charset 라우팅을 유지했다 ⇒ upstream 의 신규 API 는 취하고 죽은 표 2함수는 버렸다. (그대로 뒀으면 dead code — §5 S3 완료조건 「charset.rs 배선으로 dead code 0」 위반) 3. test_timer.rs — ★upstream 채택. upstream 이 벽시계 테스트 2건을 manual clock + queued spawn + monitor notification 기반 결정성 스위트 12건으로 «대체»했다. ⇒ S4 의 500→2000ms 여백은 «되얹을 자리»가 사라졌다(그 근거는 원장에 보존). ★충돌 «없이» 깨진 자리 1건(§4 가 경고한 형태): upstream 신규 io 테스트 3파일 5곳이 System.setProperty 를 )Ljava/lang/Object; 로 부르는데 우리는 PR #5 에서 JDK 규격대로 )Ljava/lang/String; 로 고쳐 뒀다 ⇒ NoSuchMethodError 3건. 서술자만 String 으로 맞췄다 (test_boolean·test_integer·test_long 이 앞 회차에 이미 같은 처분을 받았다 · Properties.setProperty 는 무접촉). green 4종 rc=0 · cargo test --all 427 passed / 0 failed / 1 ignored (261 → +166) · c4665b0 대비 삭제 파일 0 · tracing::instrument 실사용 0(주석 1) · test_class_format 4/4.
…measured-conflicts] §5 재측정 표는 재작성하지 않고 「[2026-09-04] S5 착지 기록」 절을 신설했다(test_timer.rs 예측 칸만 취소선 + 안내). STATE·REPORT 갱신 + 워크로그 쌍 신설(신설 DoD 의무 첫 적용).
…a-upstream-sync-s5-with-remeasured-conflicts] CI beta 셀 3개 red(로컬 stable green). upstream 판본 lock 을 취한 뒤 cargo build 를 돌렸는데 그 lock 이 이미 유효해 cargo 가 아무것도 올리지 않았고, async-trait 이 내려갔다. 0.1.91 매크로가 #[must_use] 를 이중으로 달아 beta clippy double_must_use 가 jvm/ 의 #[async_trait] 트레이트 7자리를 물었다. 그 트레이트들은 main 과 바이트 동일이고 main 의 beta 셀은 green 이므로 원인은 코드가 아니라 lock 이다. 처방: main 의 lock 에서 출발해 다시 cargo build(§2 「도구가 다시 만든다」) ⇒ async-trait 0.1.92 유지 · 델타는 libm 추가 1건 · #[allow] 를 뿌리지 않았다. 검증(로컬 beta 툴체인): +beta clippy 2종 rc=0 · +beta test --all 427 passed / 0 failed / 1 ignored.
…easured-conflicts] 「upstream 판본 취한 뒤 cargo build」는 그 자체가 beta red 를 만든 첫 시도의 서술이라 남기면 오도한다.
…-with-remeasured-conflicts] STATE.md 진행중 → 완료(게이트③ PR #21 · --merge 착지 · squash 금지 사유) + 「착지로 base 가 바뀌므로 S6·S7 새 충돌 수는 다시 재야 한다」 1줄 + worklog .json 게이트③ 집행 1줄. 코드 변경 0.
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
upstream
c4665b0(dlunch#190 · 6커밋 · 171파일 +33,138/−1,058)을--merge로 흡수하고 재측정된 충돌 3건을 해소했다.계보 — ★이 repo 가 «네 번» 잃었던 것
merge-base origin/main upstream/main3296139cc4665b0**1983d9f+c4665b0)★★게이트③이
--squash면 이 전진이 통째로 사라진다 —<id>-merge티켓에merge_strategy: merge필수.착수 실측 (★§5 상시 규칙 — base 병기)
base = 당시
main1983d9f·merge-base3296139c· behind 30 ·착수 시 충돌 재측정 3건 ⇒ ★**§5 재측정 표와 일치**(그 사이 #19·#20 이 착지했으나 둘 다 문서 회차).
충돌 3건 — ★예측 2건 적중 · 1건 반증
1.
Cargo.lock— 재생성(손 머지 0 ·cargo build).2.
string.rs— ★설계 판단이 맞았으나 «형태»가 예상과 달랐다copyValueOf2종 신설 +compareTo(Object)브리지 +PUBLIC플래그 스윕.우리 +8/−28 = charset 해석을 로컬 표 → 공용
charset::Charset로 라우팅(4 호출부)하고 그 표 20줄 삭제.String·InputStreamReader양쪽에서 같은 표로 동작 ⑵미지원 charset 의
UnsupportedEncodingExceptionthrow 를Charset::resolve한 곳으로⑶기본 charset 경로는 UTF-8 폴백(JDK 규격).
git ls-tree) ·c4665b0:string.rs에decode_str(:1078)·encode_str(:1087) 잔존 ⇒ 삼키지 않았다.★★그런데 «얹기»는 이미 되어 있었다 — 진짜 판단은 «버릴 것인가»였다. 충돌면 한 곳에 upstream 의
신규 API 2종과 되살아난 표 2함수가 함께 있었고, 그 표를 쓰던 4개 호출부는 충돌 없이 자동병합돼
우리
Charset라우팅을 유지했다 ⇒ 신규 API 는 취하고 표는 버렸다.통째로 취했으면 dead code 로 남아 §5 의 S3 완료조건(「
charset.rs배선으로 dead code 0」)을 깼다.★충돌면은 «표»에 났는데 의미가 갈린 곳은 «충돌하지 않은 호출부»였다 — 「union 자동병합 경계」의 실례다.
3.
test_timer.rs— ★「되얹기」 예측이 반증됐다upstream 이 우리 벽시계 테스트 2건을 ★manual clock + queued spawn + monitor notification 기반
결정성 스위트 12건으로 대체했다(
Thread.sleep기반 단정 0건). 우리 2건은 그 부분집합이다.⇒ ★되얹을 자리가 사라졌다 —
upstream 채택.★★S4 가 남긴 「우리 테스트의 시간 의존」 별 축은 소멸했다.
★단 «왜 2000ms 였는지»는 지우지 않았다 — 코드 줄이 사라졌으므로 §5 착지 기록과 워크로그에 인용 보존.
★★충돌 «목록에 없던» 파손 1건 — §4 가 경고한 형태가 실제로 났다
upstream 신규 io 테스트 3파일 5곳이
System.setProperty를)Ljava/lang/Object;로 부르는데,우리는 PR #5 에서 JDK 규격대로
)Ljava/lang/String;으로 고쳐 뒀다⇒ ★충돌 마커 0줄인데
NoSuchMethodError3건. 서술자만String으로 맞췄다(값은_로 버려져 바인딩 무접촉).★새 처분이 아니다 —
test_boolean·test_integer·test_long이 앞 회차에 이미 같은 처분(+2/−2)을 받았다.★
java/util/Properties.setProperty의Object반환은 JDK 규격상 옳아 무접촉.green · 「해소분 0」
cargo fmt --all -- --checkcargo clippy --all -- -D warningscargo clippy --workspace --exclude test_utils --target wasm32-unknown-unknown -- -D warningscargo test --allpython3 scripts/check-worklog-json.py★새 red 0: 착수 baseline 261/0/1 → 착지 427/0/1(+166). S1 169 → S2 191 → S3 216 → S4 261 → S5 427.
「해소분 0」:
c4665b0대비 삭제 파일 0 · 다른 파일 47건 전수가 우리 fork 고유 자산 ·tracing::instrument실사용 0(주석 1건) ·tests/test_class_format.rs4/4.경계
머지 0 · 새 PR 1(base
main· 스택 아님) · force-push 0 · 리베이스 0 ·main직접 push 0 ·S6·S7 무접촉 · upstream 코드 «개선» 0(수렴만) · upstream 발신 0 · §5 재측정 표 재작성 0.