Skip to content

Jan 2023 Language Update ライブラリ案

Mado edited this page Jan 25, 2023 · 69 revisions

このページは誰でも編集できます。

目次

2023年環境に要望するクレート

ac-library-rs

badge badge

Version

Crates.ioにまだアップロードしていない

Comment
  • ac-libraryのRust実装。 (@qryxip)
  • このままでもライブラリとしては機能するとはいえ、Crates.ioへのアップロードを含めまだ色々やることがあるため、急いでやっていく。 (@qryxip)

varisat

badge badge badge badge badge

Version

badge

Comment
  • まあ一応提案するだけした方がいいかもしれない? (@qryxip)

once_cell

badge badge badge badge badge

Version

badge

Comment
  • lazy_staticよりも今はこちらの方が使われているはず。また今標準ライブラリに入りかけている。 (@qryxip)

memoise

badge badge badge badge badge

Version

badge

Comment
  • @tanakh氏製の、競プロ用途に特化したメモ化ライブラリ。 (@qryxip)
  • cachedがよくメンテされているようだが、上記のブログの通りAtCoderには向かないかもしれない。 (@qryxip)

static_assertions

badge badge badge badge badge

Version

badge

Comment
  • 実行時には何もしないライブラリであるためコンテスト中の利用用途が思い浮かびにくいが、まあ何かを確認したくなったときに手元ですぐに動くと便利かもしれない。 (@qryxip)

argio

badge badge badge badge badge

Version

badge

Comment
  • @tanakh氏製の、競プロ用標準入出力ライブラリ。 (@qryxip)
  • 今のRust Analyzerならproconioの補完も十分にできるため、相対的な重要性は下がっている気はする。 (@qryxip)

2020年環境のクレート

AtCoder 2020

num

badge badge badge badge badge badge

Version

v0.2.1 → v0.4

Sub-crates
  • num-bigint v0.2.6 -> v0.4 badge badge
  • num-complex v0.2.4 -> v0.4 badge badge
  • num-integer v0.1.42 -> v0.1 badge badge
  • num-iter v0.1.40 -> v0.1 badge badge
  • num-rational v0.2.4 -> v0.4 badge badge
  • num-traits v0.2.11 -> v0.2 badge badge
Comments
  • なんだかんだでみんな使っていた印象。(@qryxip)
  • 色々機能が追加されたと思うが未調査。(@qryxip)

ndarray

badge badge badge badge badge badge

Version

v0.13.0 → v0.15

Comments
  • 色々機能が追加されたと思うが未調査。(@qryxip)

nalgebra

badge badge badge badge badge badge

Version

v0.20.0 → v0.32

Sub-crates
  • alga v0.9.3 → v0.9 badge badge
Comments
  • 色々機能が追加されたと思うが未調査。(@qryxip)

libm

badge badge badge badge badge badge

Version

v0.2.1 → v0.2

Comments

rand

badge badge badge badge badge badge

Version

v0.7.3 → v0.8

Sub-crates
  • getrandom v0.1.14 → v0.2 badge badge
  • rand_chacha v0.2.2 → v0.3 badge badge
  • rand_core v0.5.1 → v0.6 badge badge
  • rand_hc v0.2.0 → v0.3 badge badge
  • rand_pcg v0.2.1 → v0.3 badge badge
Comments
  • 色々機能が追加されたと思うが未調査。(@qryxip)

rand_distr

badge badge badge badge badge badge

Version

v0.2.2 → 0.4

Comments
  • 色々機能が追加されたと思うが未調査。(@qryxip)

petgraph

badge badge badge badge badge badge

Version

v0.5.0 → v0.6

Comments
  • 色々機能が追加されたと思うが未調査。(@qryxip)

indexmap

badge badge badge badge badge badge

Version

v1.3.2 → v1

Comments

regex

badge badge badge badge badge badge

Version

v1.3.6 → v1

Comments

lazy_static

badge badge badge badge badge badge

Version

v1.4.0 → v1

Comments

ordered-float

badge badge badge badge badge badge

Version

v1.0.2 → v3

Comments
  • 色々機能が追加されたと思うが未調査。(@qryxip)

ascii

badge badge badge badge badge badge

Version

v1.0.0 → v1

Comments
  • 個人的には使い道が見出せなかったが、そこそこ使われていた印象。(@qryxip)

permutohedron

badge badge badge badge badge badge

Version

v0.2.4 → v0.2

Comments

superslice

badge badge badge badge badge badge

Version

v1.0.0 → v1

Comments

itertools

badge badge badge badge badge badge

Version

v0.9.0 → v0.10

Comments
  • 使い道は多分結構多い。使っていた人も多いのではないか。(@qryxip)
  • 色々機能が追加されたと思うが未調査。(@qryxip)

itertools-num

badge badge badge badge badge badge

Version

v0.1.3 → v0.1

Comments
  • 使っていた人はいるのか。(@qryxip)

maplit

badge badge badge badge badge badge

Version

v1.0.2 → v1

Comments
  • 今のRustだとHashSet::from([1, 2, 3])のように書けるとはいえ、maplitの書き方に慣れている人も多いのではないか。(@qryxip)

either

badge badge badge badge badge badge

Version

v1.5.3 → v1

Comments
  • itertoolsがこれを返すことがあるので、それで使っていた人もいるのではないか。(@qryxip)

im-rc

badge badge badge badge badge badge

Version

v14.3.0 → v15

Comments
  • なんか遅いらしいし、実用していた人はいるのか。(@qryxip)

fixedbitset

badge badge badge badge badge badge

Version

v0.2.0 → v0.4

Comments
  • まあまあ手軽に使えたはずだし、使っていた人もいたかも。(@qryxip)

bitset-fixed

badge badge badge badge badge badge

Version

v0.1.0 → v0.1

Comments

proconio

badge badge badge badge badge badge

Version

v0.3.6 → v0.4

Comments
  • RustでAtCoderに参加している人にとっては、言わずと知れたライブラリ。 (@qryxip)
  • v0.3からの変更として致命的なバグの修正と、APIの追加がある(後で書く)。 (@qryxip)

text_io

badge badge badge badge badge badge

Version

v0.1.8 → v0.1

Comments

whiteread

badge badge badge badge badge badge

Version

v0.5.0 → v0.5

Comments
  • つい最近気付いたが、ライセンスはMITといいつつThe MIT non-military non-spy License。罠でしょこれは (@qryxip)

rustc-hash

badge badge badge badge badge badge

Version

v1.1.0 → v1

Comments

smallvec

badge badge badge badge badge badge

Version

v1.2.0 → v1

Comments

ライセンスまとめ

クレートの依存クレートや依存クレートの依存クレートなども含めると次のようになるらしい。

(MIT OR Apache-2.0) AND Unicode-DFS-2016 (1): unicode-ident
0BSD (1): vec_mut_scan
Apache-2.0 (6): alga, approx, approx, nalgebra-macros, simba, superslice
Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT (1): wasi
Apache-2.0 OR MIT (69): anyhow, arbitrary, ascii, autocfg, cfg-if, either, fixedbitset, getrandom, hashbrown, indexmap, itertools, itertools-num, itoa, lazy_static, leb128, libc, libm, log, maplit, matrixmultiply, ndarray, num, num-bigint, num-complex, num-complex, num-derive, num-integer, num-iter, num-rational, num-traits, once_cell, partial_ref, partial_ref_derive, paste, permutohedron, petgraph, ppv-lite86, proc-macro2, proconio, proconio-derive, quote, rand, rand_chacha, rand_core, rand_distr, rand_hc, rand_pcg, rand_xoshiro, rawpointer, regex, regex-syntax, rustc-hash, serde, serde_derive, smallvec, static_assertions, syn, text_io, thiserror, thiserror-impl, typenum, unicode-xid, varisat, varisat-checker, varisat-dimacs, varisat-formula, varisat-internal-macros, varisat-internal-proof, version_check
Apache-2.0 OR MIT OR Zlib (3): bytemuck, safe_arch, wide
BSD-3-Clause (2): memoise, nalgebra
CC0-1.0 (1): ac-library-rs
MIT (7): argio, argio-macro, bitset-fixed, ordered-float, ordered-float, synstructure, whiteread
MIT OR Unlicense (2): aho-corasick, memchr
MPL-2.0+ (3): bitmaps, im-rc, sized-chunks

提案されているクレートをすべて含むプロジェクトを作って cargo-license というツールを使うことで取得できます。

Clone this wiki locally