We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
offset_of!
src/arch/aarch64.rs 에 있는 VCPU_REGS 의 값을 제대로 계산할 수 없습니다. 원하는 것은
src/arch/aarch64.rs
VCPU_REGS
offset_of!(VCpu, inner.data.regs)
인데, nested fields에 대한 offset을 구하는 기능이 없어서 다음과 같이 바꾸었습니다.
offset_of!(VCpu, inner) + offset_of!(SpinLock<VCpuInner>, data) + offset_of!(VCpuInner, regs)
그런데 이렇게 해도 offset_of!(SpinLock<VCpuInner>, data) 는 실패합니다. (매크로의 첫 번째 인자가 $type:tt 로 되어 있어서 복잡한 type path를 못 받습니다.) 해서 마지막으로 다음과 같이 했더니,
offset_of!(SpinLock<VCpuInner>, data)
$type:tt
offset_of!(VCpu, inner) + 8 + offset_of!(VCpuInner, regs)
로 바꾸면 24가 나오는데 이 값은 실제 값인 32와 다릅니다. ㅜㅜ
offset_of
그래서 일단 이슈로 남기되 근시일 내에 수정되기를 바라는 것은 어려워 보입니다.
The text was updated successfully, but these errors were encountered:
rust-lang/rust#63810 와 rust-lang/rust#64588 가 모두 구현되었으므로, nightly에서 해당하는 기능을 모두 구현할 수 있습니다. Gilnaa/memoffset 가 업데이트되거나 nvzqz/static-assertions#22 가 머지되는 대로 이 문제를 해결하도록 합시다.
Sorry, something went wrong.
No branches or pull requests
src/arch/aarch64.rs
에 있는VCPU_REGS
의 값을 제대로 계산할 수 없습니다. 원하는 것은인데, nested fields에 대한 offset을 구하는 기능이 없어서 다음과 같이 바꾸었습니다.
그런데 이렇게 해도
offset_of!(SpinLock<VCpuInner>, data)
는 실패합니다. (매크로의 첫 번째 인자가$type:tt
로 되어 있어서 복잡한 type path를 못 받습니다.) 해서 마지막으로 다음과 같이 했더니,로 바꾸면 24가 나오는데 이 값은 실제 값인 32와 다릅니다. ㅜㅜ
offset_of
(constant + nested fields + non-UB) 를 지원하려는 계획은 굉장히 오랜 시간 동안 논의되었으나 아직 Pre-RFC 단계입니다: https://internals.rust-lang.org/t/pre-rfc-add-a-new-offset-of-macro-to-core-mem/9273그래서 일단 이슈로 남기되 근시일 내에 수정되기를 바라는 것은 어려워 보입니다.
The text was updated successfully, but these errors were encountered: