package キーを使うとクレートに別名を付けられる
Rustの勉強がてら、クラメソさんの「RustをつかってAWS Lambdaを実装&AWS CDKでデプロイする」を読んでいたところ、Cargo.tomlの [dependencies] に以下のような記述がされていました。
[dependencies]
lambda = { package = "netlify_lambda", version = "0.2.0" }
この package という記述を見たことがなかったので調べたところ、どうやらこれでプロジェクト内で使うクレート名を変更できるようです。
左辺に使いたい別名、package の方に本来のクレート名を書きます。
上記の例では netlify_lambda が本来のクレート名(netlify_lambda)で、 lambda が自分でつけた別名ということですね。
なのでこの場合、例えば netlify_lambda クレートの run 関数は、 netlify_lambda::run ではなく lambda::run のように記述します。
なおこの方法で別名を付けた場合、元の netlify_lambda という名前ではアクセスできなくなります。
局所的に別名にしたいだけなら、import時に use foo as foo_alias とした方がよさそうですね。
以上。