Rust (プログラミング言語)

並列かつマルチパラダイムのプログラミング言語

これはこのページの過去の版です。Fryed-peach (会話 | 投稿記録) による 2024年5月5日 (日) 13:20個人設定で未設定ならUTC)時点の版 (→‎開発体制: dab)であり、現在の版とは大きく異なる場合があります。


RustCC++[2]C++[3](borrow checker) Rust使[4][5]
Rust
Rust
Rustのロゴ
パラダイム システムプログラミング、関数型プログラミング並行計算ジェネリックプログラミング命令型プログラミングオブジェクト指向プログラミング ウィキデータを編集
登場時期 2010年7月7日 (13年前) (2010-07-07)
設計者 グレイドン・ホアレ ウィキデータを編集
開発者 Mozilla、グレイドン・ホアレ、Rust Foundation ウィキデータを編集
最新リリース 1.79.0 / 2024年6月13日[1]
型付け 静的型付け強い型付け型推論、構造化データ
主な処理系 rustc
影響を受けた言語 Alef、C++C Sharp、Cyclone、ErlangHaskellLimbo、Newsqueak、OCamlRubySchemeStandard MLSwift ウィキデータを編集
ライセンス Apache-2.0、MIT License ウィキデータを編集
ウェブサイト
拡張子 rs ウィキデータを編集
テンプレートを表示

Rust[6][7]2006MozillaGraydon Hoare[8]2009MozillaMozilla Research[9][10]20151.01.06

RustCexpressionMLLLVM[11]C[12]

Rust20162022Stack Overflow Developer Survey[13]Rust[14]2017[15]

Rust[16][17][16]

開発体制


RustRust Project DevelopersRust[18]2018GitHub[19][20]

Mozilla[21]RustRFC[22][23][24]

RustServoRustCRustbindgen[25]Mozilla ServoServoC++RustServoRust[26]Servo[27]

設計と特徴

linux.conf.auで披露されたRustプログラミングで成功するために必要なキーコンセプトを紹介したプレゼンテーション

パラダイム


使使

SwiftGoREPL


基礎文法


RustCC++{ ... }if, else, while CC++RustmatchRustCC++MLstatementexpression[28]ifCif

;CRust[29]

Hello World

「Hello, world!」を標準出力に出力するHello worldプログラム。

fn main() {
    println!("Hello, world!");
}

階乗

階乗を求めるプログラム。if式の結果として1もしくはn * fac_recursive(n-1)を返し、関数の結果としてif式の結果を返す。

fn fac_recursive(n: u32) -> u32 {
    if n <= 1 {
        1
    } else {
        n * fac_recursive(n-1)
    }
}

変数


let[30][31]

mut[32]

Rust[33][34]

constmut

型とポリモーフィズム

この言語の型システムではHaskell言語に倣い「型クラス」を用いることができる。これはアドホックな多相性を容易にするものであり、可変型宣言により実現されるものである。高カインド多相性[35]など、Haskell言語にある他の特徴はサポートされていない。

型システム


Rustimpltraitstructenumimpltraittraittraitimplstructstructtraitimplenumtrait

AnyCJavaRust[36]

型推論


Rustvariable = value[37]

ポリモーフィズムの実現


使C++RustC++[38]JavaHaskell使Rust[39]

リソース管理


: C: Java

RustRAIIc.f. 

Rust

所有権


: OwnershipRustowner

C++unique_ptr

参照


: Reference[40][41][42][43]: borrow[40]

Rust/[44]Rust

 &expr: borrow expression[45]
表. 参照に関する型と演算子
参照型(: reference type[46] 借用演算子(: borrow operator[47]
共有参照型 &T: shared reference type[48] 共有借用演算子 &: shared borrow operator[49]
可変参照型 &mut T: mutable reference type[50] 可変借用演算子 &mut: mutable borrow operator[51]

 &  &expr  &T &mut 

[52]Copy [53][54] Copy [55]

ボローチェッカー


: 

Rust: borrow checker使lifetimes

特異なリソース型


BoxVec

Box使BoxBox[56]API

境界チェック

Rustは実行時に境界チェックをおこなう。これによりバッファオーバーランをはじめとしたメモリアクセスに対する安全性を得ている。この機能はゼロコスト抽象化でなく実行時の命令であるため、安全性と引き換えにいくらかの性能オーバーヘッドが発生している。他のシステムプログラミング言語として代表的なC言語C++は境界チェックを強制しないため、Rustの特徴の1つとなっている。

ライフタイム


: Lifetime[57]

'lifetime&[58]

使

: lifetime elision[59]使

: higher-rank trait boundHRTB[60]HRTB

移動


Rust[61] 

Box<T>TVec<T>

Pin<P>PPointer<T>使Box<T>&mut TPin<P>Pin<P>Pin<&mut T>Pin<P>

Rust
  • 構造体型にて、自身ないしはそのフィールドへのポインタを持つ。[62]
  • 変数のアドレスをRustの外のライブラリなどへ渡す。

ライブラリ


Rustcratecrates.iocrates.ioWebURI[63]rlib

コアライブラリ


core[64]libc調

標準ライブラリ


std[65]Vec<T>Option<T>I/O

外部ライブラリ


Rust (Battery Included)[66]便crates.ioAPI


開発ツール

Rustの開発ツールは独立したソフトウェアとして提供されているが、Rustの公式なインストール方法に従えば、以下のツール一式が手に入る。

rustc


rustcRustRust[72]rustcWindowsLinuxmacOSAndroidiOS[73]

3Tier[74]Tier 1 Tier 2Tier 3

WindowsLinuxmacOSRust1AndroidiOSWebAssemblyRust2

Rust 1.12MIR (Mid-level IR)[11] 

Cargo

Cargo
 
最新版

1.62.0 / 2022年6月8日 (2年前) (2022-06-08)[75]

リポジトリ github.com/rust-lang/cargo
プログラミング
言語
Rust
種別 ビルドツールパッケージ管理システム
公式サイト doc.rust-lang.org/stable/cargo/
テンプレートを表示

CargoRustCUI[76]CargorustcCargocrates.io[77] README.md[78]cargo-xxxcargoxxx

rustup

rustup
開発元 Rust Project Developers
初版 2016年4月15日 (8年前) (2016-04-15)
最新版

1.24.3 / 2021年5月31日 (3年前) (2021-05-31)

リポジトリ https://github.com/rust-lang/rustup/
プログラミング
言語
Rust
対応OS Windows, Linux, macOS
公式サイト https://www.rustup.rs
テンプレートを表示

rustupはツールチェーンの管理ソフトウェアである。ツールチェーンのダウンロードとインストール、ソフトウェアバージョンの管理、コンパイルターゲットの切り替えの機能を提供する[79][80]

機能


rustupRustrustcCargomacOSWindowsAndroidiOS

歴史

Rust 1.13版以前はシェルスクリプトで実装されたrustup.shが公開されていた[81]。これと並行してRust言語で実装された同等機能を提供するrustup.rsの開発が進められており、Rust 1.14版でrustup.shは非推奨となり[82]、Rust 1.14版以降はrustup.rsが公式リリースとして提供されている[83][84]

評価


Rust20162022Stack Overflow Developer Survey[13]

Rust[85]Rustfighting with the borrow checker[86][87]GoRustGo[14]2017[15][88]

2020cargorustuprustfmtclippycargo docIDECUIcrates.io

RustLLVMC[89][90]C[12]20182Rust[91][92]

JavaGoCC/C++[]

歴史

誕生


2006Mozilla[93]CC++ Rust[2]MozillaRust2009[94][9]Rust2010姿[95]RustRustOCamlrustboot[96]2010RustRustrustc[97][98]RustLLVM[99]

0.x版


0.120121[100]Mozilla1.00.x

ASCII使ASCII使[101]20112[102]

0.4check使CC++RustNIL[103]使[104]

0.20.40.2class0.3interface0.4trait使

0.90.112~@BoxGcGc[105]

20141Dr. Dobb's JournalDGoNimC++Rust[106]

1.x版


2015516Rust 1.0[107]1.06[108][109][110]

201682Firefox 48RustMozillaFirefoxRust[111][112]

20169RustFedora 24RPM[113]

2018年版


20181261.31[114]"Rust 2018""Rust 2015"20152018cargo fix[114]

2021年版


202151132021 Blog[115]202110211.56preludeTryIntoTryFromFromIteratorBlog2018

Rustで実装されたソフトウェア


RustRust[97]

Rust使


Mozilla Firefox[116]
Servo  HTML[117]

Quantum  [118]


Cargo  Rust

Habitat  [119]

OS
Magic Pocket  Dropbox[120]

Redox  [121]

intermezzOS  [122]

Stratis  Fedora28 [123]

Railcar  Oracle[124]

Android - 2021Rust[125]

Linux - 6.1Rust[126]

KataOS - RISC-VGoogleOS[127]

Windows - 2019Windows 10Rust[128]


Exonum  [129]

OpenDNS  2[130][131][132]

Piston  [133]

rustls  TLSRust[134]

REmacs  EmacsRust [135]

Pijul  Darcs[136]

Xi  Google Open Source[137]

ripgrep  grep[138]

rav1e  Xiph.Org FoundationAV1[139]

Polkadot  [140]

Deno  JavaScriptTypeScript

Ruffle - 2020Adobe Flash Player

mirakc [141] - (ISDB)Mirakurun

Nucleus - Dropbox[142]

学習用参考図書など


Jim Blandy, Jason Orendorff:"Programming Rust: Fast, Safe Systems Development", O'Reilly Media, ISBN 978-1491927281First Ed. (20171221

Jim Blandy, Jason Orendorff, Lenora.F.S.Tindall:"Programming Rust: Fast, Safe Systems Development", O'Reilly Media, ISBN 978-1492052593Second Ed. (20210621

Abhishek Chanda:"Network Programming with Rust", Packt Publishing, ISBN 978-1788624893 (2018228)

Steve Klabnik, Carol Nichols: "The Rust Programming Language", No Starch Press, ISBN 978-1593278281 (2018626)

Steve Klabnik, Carol NicholsThe Rust Programming Language 

Jim Blandy, Jason Orendorff: Rust ISBN 978-4873118550 (2018810)

κeen,  ,  Rust201958

Steve Klabnik, Carol Nicholes:Rust  KADOKAWAISBN 978-4048930703 (2019628)

Steve Klabnik, Carol Nichols: Rust, 2nd Edition

 RustISBN 978-4-274-22435-520191013

 ,  ,  ,  ,  ,  ,  RustISBN 978-47980617022020822

  : RustOpenGL R&D ISBN 978484437855620200221

  :Rust Amazon Services International, Inc. (2019619)

 :  RustCISBN 978-4-87311-959-520210824


rustup doc Rust By Example

The Rust Programming Language

Rust By Example

Rustlings

The Standard Library

The Edition Guide

The Rustc Book

The Cargo Book

The Rustdoc Book

Extended Error Listing

The Reference

The Rustonomicon

The Unstable Book

The rustc Contribution Guide

The Embedded Rust Book

出典



(一)^ URL: https://blog.rust-lang.org/2024/06/13/Rust-1.79.0.html, : Announcing Rust 1.79.0, : 2024613, : 2024614

(二)^ abAvram, Abel (201283). Interview on Rust, a Systems Programming Language Developed by Mozilla. InfoQ. 2013817 GH: A lot of obvious good ideas, known and loved in other languages, haven't made it into widely used systems languages ... There were a lot of good competitors in the late 1970s and early 1980s in that space, and I wanted to revive some of their ideas and give them another go, on the theory that circumstances have changed: the internet is highly concurrent and highly security-conscious, so the design-tradeoffs that always favor C and C++ (for example) have been shifting.

(三)^ Rust vs. C++ Comparison. 2018112020181120

(四)^ Fearless Security: Memory Safety. 20201182020114

(五)^ Rc<T>, the Reference Counted Smart Pointer. 202011112020114

(六)^ Rust Project Developers. The Rust Community · The Rust Programming Language. 201824

(七)^ Rust Project Developers. rust-lang/rust: A safe, concurrent, practical language.. github. 201824

(八)^ CC++--Rust. ZDNet Japan (202021). 202022

(九)^ abMozilla Research. Rust. 201824

(十)^ The Rust Language. Lambda the Ultimate (201078). 20101030

(11)^ abMatsakis, Niko (2016419). Introducing MIR. 2016104

(12)^ abRust versus C gcc fastest programs. 2018822

(13)^ abStack Overflow Developer Survey 2022. Stack Overflow. 2022710

(14)^ abMatthias Endler (2017915). Go vs Rust? Choose Go.. 2018128

(15)^ abAaron Turon. Rust's 2017 roadmap. 2018128

(16)^ abInternet archaeology: the definitive, end-all source for why Rust is named "Rust". 2020510

(17)^ Rust logo(type). Mozilla Foundation. 2020510

(18)^ The Rust Team · The Rust Programming Language. Rust Project Developers. 201824

(19)^ The Rust Programming Language. github. 201824

(20)^ Contributors to rust-lang/rust. github. 28 January, 2018

(21)^ The Mozilla Manifesto. 201249

(22)^ rust-lang/rfcs: RFCs for changes to Rust. github. 201824

(23)^ rust-lang/rfcs: RFCs for changes to Rust. 2018128

(24)^ Aaron Turon. Refining Rust's RFCs. 2018128

(25)^ bindgen 0.17.0 - Docs.rs. Onur Aslan. 201824 authors Jyun-Yan You

(26)^ Yamakaky (2016722). merge into upstream! · Issue #21 · rust-lang-nursery/rust-bindgen. github. 201824

(27)^ rust-lang-nursery/rust-bindgen Automatically generates Rust FFI bindings to C (and some C++) libraries.. 201824

(28)^ rust/src/grammar/parser-lalr.y (2017523). 28 January, 2018

(29)^ Frequently Asked Questions · The Rust Programming Language - When should I use an implicit return?. 2018128

(30)^ "by default variables are immutable." The Rust Programming Language

(31)^ "E0384. An immutable variable was reassigned." Rust Compiler Error Index

(32)^ "you can make them mutable by adding mut in front of the variable name." The Rust Programming Language

(33)^ "you can declare a new variable with the same name as a previous variable, and the new variable shadows the previous variable." The Rust Programming Language

(34)^ "By using let, we can perform a few transformations on a value but have the variable be immutable after those transformations have been completed. ... The other difference between mut and shadowing is that because were effectively creating a new variable when we use the let keyword again, we can change the type of the value but reuse the same name." The Rust Programming Language

(35)^ : higher-kinded polymorphism

(36)^  Type coercions. The Rust Reference. 2024327

(37)^ Walton, Patrick (2010101). Rust Features I: Type Inference. 2011121

(38)^ : monomorphization

(39)^ Aaron Turon (2015511). Abstraction without overhead: traits in Rust - The Rust Programming Language Blog. 201824

(40)^ ab"A reference represents a borrow of some owned value." Primitive Type reference. The Rust Standard Library. 2022-12-24.

(41)^ "A reference ... to access the data stored at that address; that data is owned by some other variable." References and Borrowing. The Rust Programming Language. 2022-12-24.

(42)^ "A reference cannot outlive its referent" References. The Rustonomicon. 2022-12-24.

(43)^ "A lifetime is said to outlive another one if its representative scope is as long or longer than the other." Primitive Type reference. The Rust Standard Library. 2022-12-24.

(44)^ "The issue ... we have to return the String to the calling function so we can still use ... . Instead, we can provide a reference" References and Borrowing. The Rust Programming Language. 2022-12-24.

(45)^ "Syntax BorrowExpression" Operator expressions. The Rust Reference. 2022-12-24.

(46)^ "Primitive Type reference ... References, &T and &mut T." Primitive Type reference. The Rust Standard Library. 2022-12-24.

(47)^ "Borrow operators" Operator expressions. The Rust Reference. 2022-12-24.

(48)^ "shared reference type is written &type" Pointer types. The Rust Reference. 2022-12-24.

(49)^ "The & (shared borrow) ... operators" Operator expressions. The Rust Reference. 2022-12-24.

(50)^ "A mutable reference type is written &mut type" Pointer types. The Rust Reference. 2022-12-24.

(51)^ "&mut (mutable borrow) operators" Operator expressions. The Rust Reference. 2022-12-24.

(52)^ "When a shared reference to a value is created, it prevents direct mutation of the value." Pointer types. The Rust Reference. 2022-12-24.

(53)^ "The following traits are implemented for all &T, regardless of the type of its referent: Copy" Primitive Type reference. The Rust Standard Library. 2022-12-24.

(54)^ "if you have a mutable reference to a value, you can have no other references to that value." References and Borrowing. The Rust Programming Language. 2022-12-24.

(55)^ "&mut T references get all of the above except Copy and Clone (to prevent creating multiple simultaneous mutable borrows)" Primitive Type reference. The Rust Standard Library. 2022-12-24.

(56)^ jemalloc is removed by default. 2020612

(57)^  Validating References with Lifetimes. The Rust Programming Language. 202412

(58)^  Trait and lifetime bounds. The Rust Reference. 202412

(59)^  Trait and lifetime bounds. The Rust Reference. 202412

(60)^  Higher-Rank Trait Bounds (HRTBs). The Rustonomicon. 202412

(61)^  Module std::pin. The Rust Standard Library. 202412 By default, all types in Rust are movable. Rust allows passing all types by-value, ...

(62)^  Module std::pin, Example: self-referential struct. The Rust Standard Library. 202412

(63)^ Rust Team. Working with an unpublished minor version. 2018128

(64)^ Rust project developers. core- Rust. 2018128

(65)^ Rust project developers. std- Rust. 2018128

(66)^ Brian Anderson (201755). The Rust Libz Blitz - The Rust Programming Language Blog. 201824

(67)^ The Rust Project Developers. rand - Cargo: packages for Rust. 2018128

(68)^ The Rust Project Developers. regex - Cargo: packages for Rust. 2018128

(69)^ Kang Seonghoon. chrono - Cargo: packages for Rust. 2018128

(70)^ The Rust Project Developers. libc - Cargo: packages for Rust. 2018128

(71)^ The Rust Project Developers. log - Cargo: packages for Rust. 2018128

(72)^ Blandy, Jim (2017). Programming Rust. O'Reilly Media, Inc. p. 285. ISBN 1491927283 

(73)^ Brian Anderson (2016513). Taking Rust everywhere with rustup. 2018128

(74)^ Rust Platform Support · The Rust Programming Language. 201824

(75)^ Releases · rust-lang/cargo · GitHub. 2022710

(76)^ Yehuda Katz (201655). Cargo: predictable dependency management - The Rust Programming Language Blog. 201824

(77)^ Alex Crichton (20141120). Cargo: Rust's community crate host. 2018128

(78)^ livioribeiro (20151015). Cargo-readme: generate README.md from doc comments. 2018128

(79)^ RustUp aka How to install rust the convenient way (201662). 201824

(80)^ Brian Anderson (2016513). Taking Rust everywhere with rustup - The Rust Programming Language Blog. 201824

(81)^ vanjacosic (2016927). rust/getting-started.md at 1.13.0 · rust-lang/rust. 201824

(82)^ rust-lang-deprecated/rustup.sh: The rustup.sh script for installing Rust from release channels. 2018128

(83)^ vanjacosic (20161217). rust/getting-started.md at 1.14.0 · rust-lang/rust. 201824

(84)^ rust-lang-nursery/rustup.rs: The Rust toolchain installer. 2018128

(85)^ Klabnik, Steve (20141024). Interview with Steve Klabnik: How Rust Compares to Other Languages and More. codementor. 201824 Rust has a significant lack of resources because its so new, and so its much harder as a first language.

(86)^ book/references-and-borrowing.md at master · rust-lang/book (2017510). 201824 Many new users to Rust experience something we like to call fighting with the borrow checker

(87)^ Ivan Sagalaev (2016112). Why Rust's ownership/borrowing is hard. 201824

(88)^ Aaron Turon. Rust should have a lower learning curve. 2018128

(89)^ Miscellany: C++ design goals in the context of Rust. 2018128

(90)^ Frequently Asked Questions · The Rust Programming Language - How fast is Rust?. 2018128

(91)^ Web Framework Benchmarks - Round 15 2018-02-14. Framework Benchmarks Google Group. 201834

(92)^ Web Framework Benchmarks - Round 15 2018-02-14. Framework Benchmarks Google Group. 201834

(93)^ : Graydon Hoare

(94)^ Project FAQ (2010914). 2012111

(95)^ Future Tense (2011429). 201226 At Mozilla Summit 2010, we launched Rust, a new programming language motivated by safety and concurrency for parallel hardware, the manycore future which is upon us.

(96)^ rustlang2017312201824

(97)^ abHoare, Graydon (2010102). Rust Progress. 2013102220101030 the second version of the compiler, written in Rust and compiled with the bootstrap compiler

(98)^ Hoare, Graydon (2011420). rust-dev] stage1/rustc builds. 2011420 After that last change fixing the logging scope context bug, looks like stage1/rustc builds. Just shy of midnight :)

(99)^ Chris Double (2011331). A Quick Look at the Rust Programming Language. 201824 The rustc compiler lives in stage0/rustc. The output of this compiler is LLVM bytecode which must then be compiled using LLVM tools.

(100)^ catamorphism (2012120). Mozilla and the Rust community release Rust 0.1 (a strongly-typed systems programming language with a focus on memory safety and concurrency). 201226

(101)^ Jelliffe, Rick (2010118). Vale Java? Scala Vala palava. 2012329  It is just plain ignorant to say that non-English programmers always write with ASCII. (Just as it would be ignorant to say that they never do.) It is that kind of rather blithe dismissal that foreign cultures and languages need to be supported that creates extra unnecessary barriers. That argument ran out of legs in the early 1990s: all platforms have well -established Unicode libraries with serviceable properties for this

(102)^ Commit dabccadd3202513ab0bcb424e2c62c90ab23062d (2011226). 2012111

(103)^ Strom, Robert E.; Yemini, Shaula (1986). Typestate: A Programming Language Concept for Enhancing Software Reliability. IEEE Transactions on Software Engineering. ISSN 0098-5589. http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestate.pdf 20101114. 

(104)^ Walton, Patrick (20121226). Typestate Is Dead, Long Live Typestate!. Pcwalton.github.com. 201895

(105)^ Walton, Patrick (201312). Removing Garbage Collection From the Rust Language. Pcwalton.github.com. 201895

(106)^ Andrew Binstock. The Rise And Fall of Languages in 2013. 201895

(107)^ The Rust Core Team (2015515). Announcing Rust 1.0 - The Rust Programming Language Blog. 201824

(108)^ Alex Crichton (20141027). rfcs/0507-release-channels.md at master · rust-lang/rfcs. 201824

(109)^ Aaron Turon (20141030). Stability as a Deliverable - The Rust Programming Language Blog. 201824

(110)^ Scheduling the Trains. 201711

(111)^ Firefox  Firefox 48.0. Mozilla Foundation (201682). 201683

(112)^ Firefox  Rust. Mozilla Foundation (201682). 201683

(113)^ Rust meets Fedora. fedoramagazine.org (2016921). 2016106

(114)^ abAnnouncing Rust 1.31 and Rust 2018. 20181217

(115)^ The Plan for the Rust 2021 Edition | Rust Blog (). blog.rust-lang.org. 2021919

(116)^ Dave Herman. Shipping Rust in Firefox. 2018128

(117)^ Serdar Yegulalp. Mozilla's Rust-based Servo browser engine inches forward. 2018128

(118)^ David Bryant. A Quantum Leap for the Web. 2018128

(119)^ Salim Alam. Habitat at RustConf. 2018128

(120)^ Salim Alam. The Epic Story of Dropbox's Exodus From the Amazon Cloud Empire. 2018128

(121)^ Serdar Yegulalp. The Epic Story of Dropbox's Exodus From the Amazon Cloud Empire. 2018128

(122)^ Steve Klabnik. intermezzOS: a little OS. 2018128

(123)^ Red Hat deprecates BTRFS, is Stratis the new ZFS-like hope?. Marksei, Weekly sysadmin pills. 2018128

(124)^ Building a Container Runtime in Rust. (2017629). https://blogs.oracle.com/developers/building-a-container-runtime-in-rust 201778. "Why Rust? () Rust sits at a perfect intersection of [C and Go]: it has memory safety and higher-level primitives, but doesn't sacrifice low level control over threading and therefore can handle namespaces properly." 

(125)^ RustAndroid. ZDNet Japan. 2022126

(126)^ Linux6.1Rust--. ZDNET. 20221018

(127)^ RustOSKataOS. CNET Japan. 20221018

(128)^ MicrosoftWindows 10Rust. . 2022127

(129)^ Valery Vavilov. As Blockchain Changes The World, Bitfurys New Platform Exonum is About to Change Blockchain. 2018128

(130)^ Balbaert, Ivo. Rust Essentials. Packt Publishing. p. 6. ISBN 1785285769. https://books.google.com/books?id=TeiuCQAAQBAJ&pg=PA6&lpg=PA6&dq=OpenDNS+Rust&source=bl&ots=UL5thAAi8w&sig=Wf-Z5xSRYU-IXyGiyIl2FVEQWEc&hl=en&sa=X&ved=0ahUKEwizzdSk59LLAhVpnoMKHWdbDrQQ6AEINzAF#v=onepage&q=OpenDNS%20Rust&f=false 2016321 

(131)^ Using HyperLogLog to Detect Malware Faster Than Ever. OpenDNS Security Labs. 2016319

(132)^ ZeroMQ: Helping us Block Malicious Domains in Real Time. OpenDNS Security Labs. 2016319

(133)^ Piston A modular game engine written in Rust. Piston.rs. 201781

(134)^ Joseph Birr-Pixton. ctz/rustls: A modern TLS library in Rust. 201824

(135)^ Remacs:Re-Implementing Emacs In Rust. phoronix.com (2017111). 2017119

(136)^ Pijul. pijul.org. 201778

(137)^ Google. xi-editor. 2018128

(138)^ Andrew Gallant (2016923). ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}. 2018128

(139)^ Xiph.Org Foundation. rav1e: The fastest and safest AV1 encoder.. 201851

(140)^ Parity Technologies. Paritys Polkadot Dev Update #2. 2018125

(141)^ mirakc: A Mirakurun-compatible PVR backend written in Rust. 2020810

(142)^ Dropbox4RustNucleus. Impress. 2022127

外部リンク