{"action":"created","comment":{"url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/comments/52115796","id":52115796,"diff_hunk":"@@ -1,36 +1,48 @@\n-% Raw Pointers\n+% 生ポインタ\n+<!-- % Raw Pointers -->\n \n-Rust has a number of different smart pointer types in its standard library, but\n+<!-- Rust has a number of different smart pointer types in its standard library, but\n there are two types that are extra-special. Much of Rust’s safety comes from\n compile-time checks, but raw pointers don’t have such guarantees, and are\n-[unsafe][unsafe] to use.\n+[unsafe][unsafe] to use. -->\n+Rustは標準ライブラリに異なるスマートポインタの型を幾つか用意していますが、更に特殊な型が2つあります。Rustの安全性の多くはコンパイル時のチェックに起因するものですが、生ポインタや [unsafe][unsafe] を使用するとそういった保証が得られません。\n \n-`*const T` and `*mut T` are called ‘raw pointers’ in Rust. Sometimes, when\n+<!-- `*const T` and `*mut T` are called ‘raw pointers’ in Rust. Sometimes, when\n writing certain kinds of libraries, you’ll need to get around Rust’s safety\n guarantees for some reason. In this case, you can use raw pointers to implement\n your library, while exposing a safe interface for your users. For example, `*`\n pointers are allowed to alias, allowing them to be used to write\n shared-ownership types, and even thread-safe shared memory types (the `Rc<T>`\n-and `Arc<T>` types are both implemented entirely in Rust).\n-\n-Here are some things to remember about raw pointers that are different than\n-other pointer types. They:\n-\n-- are not guaranteed to point to valid memory and are not even\n-  guaranteed to be non-null (unlike both `Box` and `&`);\n-- do not have any automatic clean-up, unlike `Box`, and so require\n-  manual resource management;\n-- are plain-old-data, that is, they don't move ownership, again unlike\n+and `Arc<T>` types are both implemented entirely in Rust). -->\n+`*const T` と `*mut T` はRustにおいて「生ポインタ」と呼ばれます。時々、特定の種類のライブラリを書く時に、あなたは幾つかの理由でRustが行う安全性の保証を避けなければならないこともあります。今回のケースでは、ユーザに安全なインターフェースを提供するライブラリの実装に生ポインタを使用できます。例えば、 `*` ポインタはエイリアスとして振る舞うこともできるので、所有権を共有する型を書くのに用いたり、スレッドセーフな共有メモリ型でさえも実装できます。( `Rc<T>` と `Arc<T>` 型は完全にRustのみで実装されています)","path":"1.6/ja/book/raw-pointers.md","position":31,"original_position":31,"commit_id":"cc940e186835688c2caadcf99cf7df50ddc1eb00","original_commit_id":"cc940e186835688c2caadcf99cf7df50ddc1eb00","user":{"login":"KeenS","id":4434568,"avatar_url":"https://avatars.githubusercontent.com/u/4434568?v=3","gravatar_id":"","url":"https://api.github.com/users/KeenS","html_url":"https://github.com/KeenS","followers_url":"https://api.github.com/users/KeenS/followers","following_url":"https://api.github.com/users/KeenS/following{/other_user}","gists_url":"https://api.github.com/users/KeenS/gists{/gist_id}","starred_url":"https://api.github.com/users/KeenS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KeenS/subscriptions","organizations_url":"https://api.github.com/users/KeenS/orgs","repos_url":"https://api.github.com/users/KeenS/repos","events_url":"https://api.github.com/users/KeenS/events{/privacy}","received_events_url":"https://api.github.com/users/KeenS/received_events","type":"User","site_admin":false},"body":"[nits]\r\n> ユーザに安全なインターフェースを提供するライブラリの実装に生ポインタを使用できます。\r\n\r\n「while」の意味が抜けているので「ユーザには安全なインターフェースを提供しつつもライブラリの実装には生ポインタを使うことが出来ます」くらいが適当でしょうか。","created_at":"2016-02-07T10:56:02Z","updated_at":"2016-02-07T10:56:02Z","html_url":"https://github.com/rust-lang-ja/the-rust-programming-language-ja/pull/68#discussion_r52115796","pull_request_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/68","_links":{"self":{"href":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/comments/52115796"},"html":{"href":"https://github.com/rust-lang-ja/the-rust-programming-language-ja/pull/68#discussion_r52115796"},"pull_request":{"href":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/68"}}},"pull_request":{"url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/68","id":58407461,"html_url":"https://github.com/rust-lang-ja/the-rust-programming-language-ja/pull/68","diff_url":"https://github.com/rust-lang-ja/the-rust-programming-language-ja/pull/68.diff","patch_url":"https://github.com/rust-lang-ja/the-rust-programming-language-ja/pull/68.patch","issue_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/issues/68","number":68,"state":"open","locked":false,"title":"4.35. Raw Pointers","user":{"login":"Nnwww","id":9063609,"avatar_url":"https://avatars.githubusercontent.com/u/9063609?v=3","gravatar_id":"","url":"https://api.github.com/users/Nnwww","html_url":"https://github.com/Nnwww","followers_url":"https://api.github.com/users/Nnwww/followers","following_url":"https://api.github.com/users/Nnwww/following{/other_user}","gists_url":"https://api.github.com/users/Nnwww/gists{/gist_id}","starred_url":"https://api.github.com/users/Nnwww/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nnwww/subscriptions","organizations_url":"https://api.github.com/users/Nnwww/orgs","repos_url":"https://api.github.com/users/Nnwww/repos","events_url":"https://api.github.com/users/Nnwww/events{/privacy}","received_events_url":"https://api.github.com/users/Nnwww/received_events","type":"User","site_admin":false},"body":"[移転開始](http://qiita.com/_Nnwww/items/ae58b49ef9afa9b8a54a)\r\n#### 相談内容\r\n##### Rust言語機能外の注釈が必要か否か\r\nレイヤが低い話になると増えてくる印象があります\r\n* スマートポインタ\r\n* plain-old-data\r\n* use-after-free\r\n* エイリアシング\r\n* ダングリングポインタ\r\n\r\n用語は調べれば分かるので、注釈は原文読んでも分かりにくい言い回しの補完のみにしたいのですが宜しいでしょうか?\r\n\r\n##### Line 37 \"lack any form of lifetimes\"の意訳\r\n「ライフタイムの形式が欠如」では日本語的ではないと判断し「ライフタイムの機能が無効化される」と翻訳\r\n\r\n#### 進捗状況\r\n- [x] 暫定翻訳完了\r\n- [x] 相談内容洗い出し\r\n- [x] 時間を置いて再確認\r\n- [ ] Ownerレビュー反映","created_at":"2016-02-05T09:50:55Z","updated_at":"2016-02-07T10:56:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4e0b9ebefc9414fe399f4296bfd9bc044ea54ffa","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/68/commits","review_comments_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/68/comments","review_comment_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/issues/68/comments","statuses_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/statuses/cc940e186835688c2caadcf99cf7df50ddc1eb00","head":{"label":"Nnwww:4_35_Raw_Pointers","ref":"4_35_Raw_Pointers","sha":"cc940e186835688c2caadcf99cf7df50ddc1eb00","user":{"login":"Nnwww","id":9063609,"avatar_url":"https://avatars.githubusercontent.com/u/9063609?v=3","gravatar_id":"","url":"https://api.github.com/users/Nnwww","html_url":"https://github.com/Nnwww","followers_url":"https://api.github.com/users/Nnwww/followers","following_url":"https://api.github.com/users/Nnwww/following{/other_user}","gists_url":"https://api.github.com/users/Nnwww/gists{/gist_id}","starred_url":"https://api.github.com/users/Nnwww/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nnwww/subscriptions","organizations_url":"https://api.github.com/users/Nnwww/orgs","repos_url":"https://api.github.com/users/Nnwww/repos","events_url":"https://api.github.com/users/Nnwww/events{/privacy}","received_events_url":"https://api.github.com/users/Nnwww/received_events","type":"User","site_admin":false},"repo":{"id":50331963,"name":"the-rust-programming-language-ja","full_name":"Nnwww/the-rust-programming-language-ja","owner":{"login":"Nnwww","id":9063609,"avatar_url":"https://avatars.githubusercontent.com/u/9063609?v=3","gravatar_id":"","url":"https://api.github.com/users/Nnwww","html_url":"https://github.com/Nnwww","followers_url":"https://api.github.com/users/Nnwww/followers","following_url":"https://api.github.com/users/Nnwww/following{/other_user}","gists_url":"https://api.github.com/users/Nnwww/gists{/gist_id}","starred_url":"https://api.github.com/users/Nnwww/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nnwww/subscriptions","organizations_url":"https://api.github.com/users/Nnwww/orgs","repos_url":"https://api.github.com/users/Nnwww/repos","events_url":"https://api.github.com/users/Nnwww/events{/privacy}","received_events_url":"https://api.github.com/users/Nnwww/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Nnwww/the-rust-programming-language-ja","description":null,"fork":true,"url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja","forks_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/forks","keys_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/teams","hooks_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/hooks","issue_events_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/issues/events{/number}","events_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/events","assignees_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/assignees{/user}","branches_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/branches{/branch}","tags_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/tags","blobs_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/git/refs{/sha}","trees_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/statuses/{sha}","languages_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/languages","stargazers_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/stargazers","contributors_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/contributors","subscribers_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/subscribers","subscription_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/subscription","commits_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/commits{/sha}","git_commits_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/git/commits{/sha}","comments_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/comments{/number}","issue_comment_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/issues/comments{/number}","contents_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/contents/{+path}","compare_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/merges","archive_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/downloads","issues_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/issues{/number}","pulls_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/pulls{/number}","milestones_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/milestones{/number}","notifications_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/labels{/name}","releases_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/releases{/id}","deployments_url":"https://api.github.com/repos/Nnwww/the-rust-programming-language-ja/deployments","created_at":"2016-01-25T06:52:02Z","updated_at":"2016-01-25T06:52:04Z","pushed_at":"2016-02-07T09:21:07Z","git_url":"git://github.com/Nnwww/the-rust-programming-language-ja.git","ssh_url":"git@github.com:Nnwww/the-rust-programming-language-ja.git","clone_url":"https://github.com/Nnwww/the-rust-programming-language-ja.git","svn_url":"https://github.com/Nnwww/the-rust-programming-language-ja","homepage":null,"size":2596,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rust-lang-ja:master","ref":"master","sha":"795624b45ca70f5d22a37aed79d253685a893275","user":{"login":"rust-lang-ja","id":16773079,"avatar_url":"https://avatars.githubusercontent.com/u/16773079?v=3","gravatar_id":"","url":"https://api.github.com/users/rust-lang-ja","html_url":"https://github.com/rust-lang-ja","followers_url":"https://api.github.com/users/rust-lang-ja/followers","following_url":"https://api.github.com/users/rust-lang-ja/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang-ja/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang-ja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang-ja/subscriptions","organizations_url":"https://api.github.com/users/rust-lang-ja/orgs","repos_url":"https://api.github.com/users/rust-lang-ja/repos","events_url":"https://api.github.com/users/rust-lang-ja/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang-ja/received_events","type":"Organization","site_admin":false},"repo":{"id":50012175,"name":"the-rust-programming-language-ja","full_name":"rust-lang-ja/the-rust-programming-language-ja","owner":{"login":"rust-lang-ja","id":16773079,"avatar_url":"https://avatars.githubusercontent.com/u/16773079?v=3","gravatar_id":"","url":"https://api.github.com/users/rust-lang-ja","html_url":"https://github.com/rust-lang-ja","followers_url":"https://api.github.com/users/rust-lang-ja/followers","following_url":"https://api.github.com/users/rust-lang-ja/following{/other_user}","gists_url":"https://api.github.com/users/rust-lang-ja/gists{/gist_id}","starred_url":"https://api.github.com/users/rust-lang-ja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rust-lang-ja/subscriptions","organizations_url":"https://api.github.com/users/rust-lang-ja/orgs","repos_url":"https://api.github.com/users/rust-lang-ja/repos","events_url":"https://api.github.com/users/rust-lang-ja/events{/privacy}","received_events_url":"https://api.github.com/users/rust-lang-ja/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rust-lang-ja/the-rust-programming-language-ja","description":"Rust文書の和訳レポジトリ","fork":false,"url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja","forks_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/forks","keys_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/teams","hooks_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/hooks","issue_events_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/issues/events{/number}","events_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/events","assignees_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/assignees{/user}","branches_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/branches{/branch}","tags_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/tags","blobs_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/git/refs{/sha}","trees_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/statuses/{sha}","languages_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/languages","stargazers_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/stargazers","contributors_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/contributors","subscribers_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/subscribers","subscription_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/subscription","commits_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/commits{/sha}","git_commits_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/git/commits{/sha}","comments_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/comments{/number}","issue_comment_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/issues/comments{/number}","contents_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/contents/{+path}","compare_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/merges","archive_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/downloads","issues_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/issues{/number}","pulls_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls{/number}","milestones_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/milestones{/number}","notifications_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/labels{/name}","releases_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/releases{/id}","deployments_url":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/deployments","created_at":"2016-01-20T07:17:52Z","updated_at":"2016-02-05T02:41:21Z","pushed_at":"2016-02-07T10:09:25Z","git_url":"git://github.com/rust-lang-ja/the-rust-programming-language-ja.git","ssh_url":"git@github.com:rust-lang-ja/the-rust-programming-language-ja.git","clone_url":"https://github.com/rust-lang-ja/the-rust-programming-language-ja.git","svn_url":"https://github.com/rust-lang-ja/the-rust-programming-language-ja","homepage":"http://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/","size":6803,"stargazers_count":48,"watchers_count":48,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":12,"mirror_url":null,"open_issues_count":15,"forks":12,"open_issues":15,"watchers":48,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/68"},"html":{"href":"https://github.com/rust-lang-ja/the-rust-programming-language-ja/pull/68"},"issue":{"href":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/issues/68"},"comments":{"href":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/issues/68/comments"},"review_comments":{"href":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/68/comments"},"review_comment":{"href":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/pulls/68/commits"},"statuses":{"href":"https://api.github.com/repos/rust-lang-ja/the-rust-programming-language-ja/statuses/cc940e186835688c2caadcf99cf7df50ddc1eb00"}}}}