[move-package] Source manifest parsing and definition

release binaries dependency change summary:
target packages:
  A cpufeatures 0.1.5 (transitive third-party, crates.io)
    * features: [none]
  A hashbrown 0.11.2 (transitive third-party, crates.io)
    * features: raw
  M anyhow 1.0.41 (direct third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M arc-swap 1.3.0 (direct third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: [none])
  M backtrace 0.3.58 (direct third-party, crates.io)
    * version upgraded from 0.3.56
    * (unchanged features: addr2line, default, gimli-symbolize, miniz_oxide, object, serde, std)
  M bcs 0.1.3 (direct third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M erased-serde 0.3.16 (direct third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: default, std)
  M futures 0.3.15 (direct third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: alloc, async-await, default, executor, futures-executor, std)
  M futures-util 0.3.15 (direct third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: alloc, async-await, async-await-macro, channel, default, futures-channel, futures-io, futures-macro, futures-sink, io, memchr, proc-macro-hack, proc-macro-nested, sink, slab, std)
  M heck 0.3.3 (direct third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M hyper 0.14.9 (direct third-party, crates.io)
    * version upgraded from 0.14.4
    * (unchanged features: client, default, full, h2, http1, http2, runtime, server, socket2, stream, tcp)
  M internment 0.5.4 (direct third-party, crates.io)
    * version upgraded from 0.5.0
    * added features: ahash, once_cell
    * (unchanged features: arc, dashmap)
  M ipnet 2.3.1 (direct third-party, crates.io)
    * version upgraded from 2.3.0
    * (unchanged features: [none])
  M itertools 0.10.1 (direct third-party, crates.io)
    * version upgraded from 0.10.0
    * (unchanged features: default, use_alloc, use_std)
  M once_cell 1.8.0 (direct third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M ouroboros 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: [none])
  M pin-project 1.0.7 (direct third-party, crates.io)
    * version upgraded from 1.0.5
    * (unchanged features: [none])
  M rand 0.8.4 (direct third-party, crates.io) (other versions: 0.7.3)
    * version upgraded from 0.8.3
    * (unchanged features: alloc, default, getrandom, libc, rand_chacha, rand_hc, small_rng, std, std_rng)
  M rand_core 0.6.3 (direct third-party, crates.io) (other versions: 0.5.1)
    * version upgraded from 0.6.2
    * (unchanged features: alloc, getrandom, std)
  M rayon 1.5.1 (direct third-party, crates.io)
    * version upgraded from 1.5.0
    * (unchanged features: [none])
  M reqwest 0.11.4 (direct third-party, crates.io)
    * version upgraded from 0.11.2
    * (unchanged features: blocking, json, serde_json, stream)
  M serde 1.0.126 (direct third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: alloc, default, derive, rc, serde_derive, std)
  M serde-generate 0.19.3 (direct third-party, crates.io)
    * version upgraded from 0.19.1
    * (unchanged features: [none])
  M serde-name 0.1.2 (direct third-party, crates.io)
    * version upgraded from 0.1.1
    * (unchanged features: [none])
  M serde-reflection 0.3.3 (direct third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M sha2 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: default, std)
  M tera 1.12.0 (direct third-party, crates.io)
    * version upgraded from 1.7.1
    * removed features: unic-segment
    * (unchanged features: builtins, chrono, chrono-tz, default, humansize, percent-encoding, rand, slug)
  M thiserror 1.0.25 (direct third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tokio 1.7.1 (direct third-party, crates.io)
    * version upgraded from 1.6.1
    * (unchanged features: bytes, default, fs, full, io-std, io-util, libc, macros, memchr, mio, net, num_cpus, once_cell, parking_lot, process, rt, rt-multi-thread, signal, signal-hook-registry, sync, time, tokio-macros, winapi)
  M tokio-stream 0.1.6 (direct third-party, crates.io)
    * version upgraded from 0.1.4
    * (unchanged features: default, time)
  M tokio-util 0.6.7 (direct third-party, crates.io)
    * version upgraded from 0.6.4
    * (unchanged features: codec, compat, default, futures-io, io)
  M tracing-subscriber 0.2.19 (direct third-party, crates.io)
    * version upgraded from 0.2.18
    * (unchanged features: ansi, ansi_term, chrono, default, env-filter, fmt, json, lazy_static, matchers, regex, registry, serde, serde_json, sharded-slab, smallvec, thread_local, tracing, tracing-log, tracing-serde)
  M ureq 1.5.5 (direct third-party, crates.io)
    * version upgraded from 1.5.4
    * (unchanged features: json, native-tls, serde, serde_json)
  M walkdir 2.3.2 (direct third-party, crates.io)
    * version upgraded from 2.3.1
    * (unchanged features: [none])
  M warp 0.3.1 (direct third-party, crates.io)
    * version upgraded from 0.3.0
    * (unchanged features: default, multipart, tls, tokio-rustls, tokio-tungstenite, websocket)
  M aho-corasick 0.7.18 (transitive third-party, crates.io)
    * version upgraded from 0.7.15
    * (unchanged features: default, std)
  M bincode 1.3.3 (transitive third-party, crates.io)
    * version upgraded from 1.3.1
    * (unchanged features: [none])
  M bstr 0.2.16 (transitive third-party, crates.io)
    * version upgraded from 0.2.15
    * (unchanged features: std)
  M crossbeam-epoch 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: alloc, lazy_static, std)
  M crossbeam-utils 0.8.5 (transitive third-party, crates.io)
    * version upgraded from 0.8.3
    * (unchanged features: default, lazy_static, std)
  M dashmap 4.0.2 (transitive third-party, crates.io)
    * version upgraded from 3.11.10
    * (unchanged features: default)
  M dtoa 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.7
    * (unchanged features: [none])
  M ed25519 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.0.3
    * (unchanged features: serde, std)
  M fiat-crypto 0.1.8 (transitive third-party, crates.io)
    * version upgraded from 0.1.6
    * (unchanged features: [none])
  M futures-channel 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, futures-sink, sink, std)
  M futures-core 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, std)
  M futures-executor 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: std)
  M futures-io 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: default, std)
  M futures-sink 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, std)
  M futures-task 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * removed features: once_cell
    * (unchanged features: alloc, std)
  M getrandom 0.2.3 (transitive third-party, crates.io) (other versions: 0.1.16)
    * version upgraded from 0.2.2
    * (unchanged features: std)
  M globset 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.6
    * (unchanged features: [none])
  M h2 0.3.3 (transitive third-party, crates.io)
    * version upgraded from 0.3.1
    * (unchanged features: [none])
  M hashbrown 0.9.1 (transitive third-party, crates.io)
    * removed features: raw
    * (unchanged features: ahash, default, inline-more)
  M http 0.2.4 (transitive third-party, crates.io)
    * version upgraded from 0.2.3
    * (unchanged features: [none])
  M http-body 0.4.2 (transitive third-party, crates.io)
    * version upgraded from 0.4.0
    * (unchanged features: [none])
  M httparse 1.4.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.5
    * (unchanged features: default, std)
  M httpdate 1.0.1 (transitive third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M humansize 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.1.0
    * (unchanged features: [none])
  M idna 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M ignore 0.4.18 (transitive third-party, crates.io)
    * version upgraded from 0.4.17
    * (unchanged features: [none])
  M indexmap 1.7.0 (transitive third-party, crates.io)
    * version upgraded from 1.6.2
    * (unchanged features: std)
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * removed features: align
    * (unchanged features: default, std)
  M librocksdb-sys 6.17.3 (transitive third-party, crates.io)
    * version upgraded from 6.11.4
    * (unchanged features: default, lz4, static)
  M lock_api 0.4.4 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * (unchanged features: [none])
  M memchr 2.4.0 (transitive third-party, crates.io)
    * version upgraded from 2.3.4
    * (unchanged features: default, std, use_std)
  M memoffset 0.6.4 (transitive third-party, crates.io)
    * version upgraded from 0.6.1
    * (unchanged features: default)
  M mio 0.7.13 (transitive third-party, crates.io)
    * version upgraded from 0.7.9
    * (unchanged features: default, net, os-ext, os-poll, os-util, tcp, udp, uds)
  M openssl 0.10.35 (transitive third-party, crates.io)
    * version upgraded from 0.10.32
    * (unchanged features: [none])
  M openssl-probe 0.1.4 (transitive third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M openssl-sys 0.9.65 (transitive third-party, crates.io)
    * version upgraded from 0.9.60
    * (unchanged features: [none])
  M pin-project-lite 0.2.7 (transitive third-party, crates.io)
    * version upgraded from 0.2.6
    * (unchanged features: [none])
  M rand_chacha 0.3.1 (transitive third-party, crates.io) (other versions: 0.2.2)
    * version upgraded from 0.3.0
    * (unchanged features: std)
  M rayon-core 1.9.1 (transitive third-party, crates.io)
    * version upgraded from 1.9.0
    * (unchanged features: [none])
  M regex-automata 0.1.10 (transitive third-party, crates.io)
    * version upgraded from 0.1.9
    * (unchanged features: default, regex-syntax, std)
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * (unchanged features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M rustc-demangle 0.1.20 (transitive third-party, crates.io)
    * version upgraded from 0.1.18
    * (unchanged features: [none])
  M rustls 0.19.1 (transitive third-party, crates.io)
    * version upgraded from 0.19.0
    * (unchanged features: default, log, logging)
  M sct 0.6.1 (transitive third-party, crates.io)
    * version upgraded from 0.6.0
    * (unchanged features: [none])
  M sha-1 0.9.6 (transitive third-party, crates.io)
    * version upgraded from 0.9.4
    * (unchanged features: default, std)
  M signal-hook-registry 1.4.0 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: [none])
  M signature 1.3.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: std)
  M slab 0.4.3 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * added features: default, std
    * (unchanged features: [none])
  M socket2 0.4.0 (transitive third-party, crates.io)
    * version upgraded from 0.3.19
    * (unchanged features: [none])
  M tinyvec 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.1
    * (unchanged features: alloc, default, tinyvec_macros)
  M typenum 1.13.0 (transitive third-party, crates.io)
    * version upgraded from 1.12.0
    * (unchanged features: [none])
  M unicode-bidi 0.3.5 (transitive third-party, crates.io)
    * version upgraded from 0.3.4
    * (unchanged features: default)
  M unicode-normalization 0.1.19 (transitive third-party, crates.io)
    * version upgraded from 0.1.17
    * (unchanged features: default, std)
  M utf-8 0.7.6 (transitive third-party, crates.io)
    * version upgraded from 0.7.5
    * (unchanged features: [none])
  M zeroize 1.3.0 (transitive third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: alloc, zeroize_derive)
  R cfg-if 0.1.10 (transitive third-party, crates.io) (other versions: 1.0.0)
    * (old features: [none])
  R cpuid-bool 0.1.2 (transitive third-party, crates.io) (other versions: 0.2.0)
    * (old features: [none])
  R tracing-futures 0.2.5 (transitive third-party, crates.io)
    * (old features: pin-project, std-future)

host packages:
  M async-trait 0.1.50 (direct third-party, crates.io)
    * version upgraded from 0.1.48
    * (unchanged features: [none])
  M enum_dispatch 0.3.7 (direct third-party, crates.io)
    * version upgraded from 0.3.5
    * (unchanged features: [none])
  M syn 1.0.73 (direct third-party, crates.io)
    * version upgraded from 1.0.72
    * (unchanged features: clone-impls, default, derive, extra-traits, full, parsing, printing, proc-macro, quote, visit, visit-mut)
  M anyhow 1.0.41 (transitive third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M bindgen 0.57.0 (transitive third-party, crates.io)
    * version upgraded from 0.54.0
    * removed features: clap, default, env_logger, log, logging, which, which-rustfmt
    * (unchanged features: runtime)
  M cc 1.0.68 (transitive third-party, crates.io)
    * version upgraded from 1.0.67
    * (unchanged features: jobserver, parallel)
  M clang-sys 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 0.29.3
    * added features: clang_3_5, clang_3_6, clang_3_7, clang_3_8, clang_3_9, clang_4_0, clang_5_0
    * removed features: gte_clang_3_6, gte_clang_3_7, gte_clang_3_8, gte_clang_3_9, gte_clang_4_0, gte_clang_5_0, gte_clang_6_0
    * (unchanged features: clang_6_0, libloading, runtime)
  M futures-macro 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: [none])
  M getrandom 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M heck 0.3.3 (transitive third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M jobserver 0.1.22 (transitive third-party, crates.io)
    * version upgraded from 0.1.21
    * (unchanged features: [none])
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * (unchanged features: default, std)
  M libloading 0.7.0 (transitive third-party, crates.io)
    * version upgraded from 0.5.2
    * (unchanged features: [none])
  M memchr 2.4.0 (transitive third-party, crates.io)
    * version upgraded from 2.3.4
    * removed features: default
    * (unchanged features: std, use_std)
  M once_cell 1.8.0 (transitive third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M ouroboros_macro 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: [none])
  M pin-project-internal 1.0.7 (transitive third-party, crates.io)
    * version upgraded from 1.0.5
    * (unchanged features: [none])
  M regex 1.4.3 (transitive third-party, crates.io)
    * removed features: aho-corasick, default, memchr, perf, perf-cache, perf-dfa, perf-inline, perf-literal, thread_local
    * (unchanged features: std, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * removed features: default
    * (unchanged features: unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M serde_derive 1.0.126 (transitive third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default)
  M thiserror-impl 1.0.25 (transitive third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tokio-macros 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.0
    * (unchanged features: [none])
  M unicode-xid 0.2.2 (transitive third-party, crates.io)
    * version upgraded from 0.2.1
    * (unchanged features: default)
  M version_check 0.9.3 (transitive third-party, crates.io)
    * version upgraded from 0.9.2
    * (unchanged features: [none])
  M zeroize_derive 1.1.0 (transitive third-party, crates.io)
    * version upgraded from 1.0.1
    * (unchanged features: [none])
  R aho-corasick 0.7.15 (transitive third-party, crates.io)
    * (old features: default, std)
  R ansi_term 0.11.0 (transitive third-party, crates.io)
    * (old features: [none])
  R atty 0.2.14 (transitive third-party, crates.io)
    * (old features: [none])
  R cfg-if 0.1.10 (transitive third-party, crates.io) (other versions: 1.0.0)
    * (old features: [none])
  R clap 2.33.3 (transitive third-party, crates.io)
    * (old features: ansi_term, atty, color, default, strsim, suggestions, vec_map)
  R env_logger 0.7.1 (transitive third-party, crates.io)
    * (old features: atty, default, humantime, regex, termcolor)
  R humantime 1.3.0 (transitive third-party, crates.io)
    * (old features: [none])
  R log 0.4.14 (transitive third-party, crates.io)
    * (old features: std)
  R quick-error 1.2.3 (transitive third-party, crates.io)
    * (old features: [none])
  R strsim 0.8.0 (transitive third-party, crates.io)
    * (old features: [none])
  R termcolor 1.1.2 (transitive third-party, crates.io)
    * (old features: [none])
  R textwrap 0.11.0 (transitive third-party, crates.io)
    * (old features: [none])
  R thread_local 1.1.3 (transitive third-party, crates.io)
    * (old features: [none])
  R unicode-width 0.1.8 (transitive third-party, crates.io)
    * (old features: default)
  R vec_map 0.8.2 (transitive third-party, crates.io)
    * (old features: [none])
  R which 3.1.1 (transitive third-party, crates.io)
    * (old features: [none])

LEC dependency change summary:
target packages:
  A cpufeatures 0.1.5 (transitive third-party, crates.io)
    * features: [none]
  A hashbrown 0.11.2 (transitive third-party, crates.io)
    * features: raw
  M anyhow 1.0.41 (direct third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M arc-swap 1.3.0 (direct third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: [none])
  M backtrace 0.3.58 (direct third-party, crates.io)
    * version upgraded from 0.3.56
    * (unchanged features: addr2line, default, gimli-symbolize, miniz_oxide, object, serde, std)
  M bcs 0.1.3 (direct third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M erased-serde 0.3.16 (direct third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: default, std)
  M futures 0.3.15 (direct third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: alloc, async-await, default, executor, futures-executor, std)
  M heck 0.3.3 (direct third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M hyper 0.14.9 (direct third-party, crates.io)
    * version upgraded from 0.14.4
    * (unchanged features: client, default, full, h2, http1, http2, runtime, server, socket2, stream, tcp)
  M internment 0.5.4 (direct third-party, crates.io)
    * version upgraded from 0.5.0
    * added features: ahash, once_cell
    * (unchanged features: arc, dashmap)
  M ipnet 2.3.1 (direct third-party, crates.io)
    * version upgraded from 2.3.0
    * (unchanged features: [none])
  M itertools 0.10.1 (direct third-party, crates.io)
    * version upgraded from 0.10.0
    * (unchanged features: default, use_alloc, use_std)
  M once_cell 1.8.0 (direct third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M ouroboros 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: [none])
  M rand 0.8.4 (direct third-party, crates.io) (other versions: 0.7.3)
    * version upgraded from 0.8.3
    * (unchanged features: alloc, default, getrandom, libc, rand_chacha, rand_hc, std, std_rng)
  M rand_core 0.6.3 (direct third-party, crates.io) (other versions: 0.5.1)
    * version upgraded from 0.6.2
    * (unchanged features: alloc, getrandom, std)
  M rayon 1.5.1 (direct third-party, crates.io)
    * version upgraded from 1.5.0
    * (unchanged features: [none])
  M serde 1.0.126 (direct third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default, derive, rc, serde_derive, std)
  M serde-generate 0.19.3 (direct third-party, crates.io)
    * version upgraded from 0.19.1
    * (unchanged features: [none])
  M serde-name 0.1.2 (direct third-party, crates.io)
    * version upgraded from 0.1.1
    * (unchanged features: [none])
  M serde-reflection 0.3.3 (direct third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M sha2 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: default, std)
  M tera 1.12.0 (direct third-party, crates.io)
    * version upgraded from 1.7.1
    * removed features: unic-segment
    * (unchanged features: builtins, chrono, chrono-tz, default, humansize, percent-encoding, rand, slug)
  M thiserror 1.0.25 (direct third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tokio 1.7.1 (direct third-party, crates.io)
    * version upgraded from 1.6.1
    * (unchanged features: bytes, default, fs, full, io-std, io-util, libc, macros, memchr, mio, net, num_cpus, once_cell, parking_lot, process, rt, rt-multi-thread, signal, signal-hook-registry, sync, time, tokio-macros, winapi)
  M tracing-subscriber 0.2.19 (direct third-party, crates.io)
    * version upgraded from 0.2.18
    * (unchanged features: ansi, ansi_term, chrono, default, env-filter, fmt, json, lazy_static, matchers, regex, registry, serde, serde_json, sharded-slab, smallvec, thread_local, tracing, tracing-log, tracing-serde)
  M ureq 1.5.5 (direct third-party, crates.io)
    * version upgraded from 1.5.4
    * (unchanged features: json, native-tls, serde, serde_json)
  M walkdir 2.3.2 (direct third-party, crates.io)
    * version upgraded from 2.3.1
    * (unchanged features: [none])
  M aho-corasick 0.7.18 (transitive third-party, crates.io)
    * version upgraded from 0.7.15
    * (unchanged features: default, std)
  M bincode 1.3.3 (transitive third-party, crates.io)
    * version upgraded from 1.3.1
    * (unchanged features: [none])
  M bstr 0.2.16 (transitive third-party, crates.io)
    * version upgraded from 0.2.15
    * (unchanged features: std)
  M byteorder 1.4.3 (transitive third-party, crates.io)
    * removed features: default, std
    * (unchanged features: i128)
  M crossbeam-epoch 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: alloc, lazy_static, std)
  M crossbeam-utils 0.8.5 (transitive third-party, crates.io)
    * version upgraded from 0.8.3
    * (unchanged features: default, lazy_static, std)
  M dashmap 4.0.2 (transitive third-party, crates.io)
    * version upgraded from 3.11.10
    * (unchanged features: default)
  M dtoa 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.7
    * (unchanged features: [none])
  M ed25519 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.0.3
    * (unchanged features: serde, std)
  M fiat-crypto 0.1.8 (transitive third-party, crates.io)
    * version upgraded from 0.1.6
    * (unchanged features: [none])
  M futures-channel 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, futures-sink, sink, std)
  M futures-core 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, std)
  M futures-executor 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: std)
  M futures-io 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: std)
  M futures-sink 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, std)
  M futures-task 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * removed features: once_cell
    * (unchanged features: alloc, std)
  M futures-util 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: alloc, async-await, async-await-macro, channel, futures-channel, futures-io, futures-macro, futures-sink, io, memchr, proc-macro-hack, proc-macro-nested, sink, slab, std)
  M getrandom 0.2.3 (transitive third-party, crates.io) (other versions: 0.1.16)
    * version upgraded from 0.2.2
    * (unchanged features: std)
  M globset 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.6
    * (unchanged features: [none])
  M h2 0.3.3 (transitive third-party, crates.io)
    * version upgraded from 0.3.1
    * (unchanged features: [none])
  M hashbrown 0.9.1 (transitive third-party, crates.io)
    * removed features: raw
    * (unchanged features: ahash, default, inline-more)
  M http 0.2.4 (transitive third-party, crates.io)
    * version upgraded from 0.2.3
    * (unchanged features: [none])
  M http-body 0.4.2 (transitive third-party, crates.io)
    * version upgraded from 0.4.0
    * (unchanged features: [none])
  M httparse 1.4.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.5
    * (unchanged features: default, std)
  M httpdate 1.0.1 (transitive third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M humansize 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.1.0
    * (unchanged features: [none])
  M idna 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M ignore 0.4.18 (transitive third-party, crates.io)
    * version upgraded from 0.4.17
    * (unchanged features: [none])
  M indexmap 1.7.0 (transitive third-party, crates.io)
    * version upgraded from 1.6.2
    * (unchanged features: std)
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * removed features: align
    * (unchanged features: default, std)
  M lock_api 0.4.4 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * (unchanged features: [none])
  M memchr 2.4.0 (transitive third-party, crates.io)
    * version upgraded from 2.3.4
    * removed features: use_std
    * (unchanged features: default, std)
  M memoffset 0.6.4 (transitive third-party, crates.io)
    * version upgraded from 0.6.1
    * (unchanged features: default)
  M mio 0.7.13 (transitive third-party, crates.io)
    * version upgraded from 0.7.9
    * (unchanged features: default, net, os-ext, os-poll, os-util, tcp, udp, uds)
  M openssl 0.10.35 (transitive third-party, crates.io)
    * version upgraded from 0.10.32
    * (unchanged features: [none])
  M openssl-probe 0.1.4 (transitive third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M openssl-sys 0.9.65 (transitive third-party, crates.io)
    * version upgraded from 0.9.60
    * (unchanged features: [none])
  M pin-project-lite 0.2.7 (transitive third-party, crates.io)
    * version upgraded from 0.2.6
    * (unchanged features: [none])
  M rand_chacha 0.3.1 (transitive third-party, crates.io) (other versions: 0.2.2)
    * version upgraded from 0.3.0
    * (unchanged features: std)
  M rayon-core 1.9.1 (transitive third-party, crates.io)
    * version upgraded from 1.9.0
    * (unchanged features: [none])
  M regex-automata 0.1.10 (transitive third-party, crates.io)
    * version upgraded from 0.1.9
    * (unchanged features: default, regex-syntax, std)
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * (unchanged features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M rustc-demangle 0.1.20 (transitive third-party, crates.io)
    * version upgraded from 0.1.18
    * (unchanged features: [none])
  M signal-hook-registry 1.4.0 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: [none])
  M signature 1.3.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: std)
  M slab 0.4.3 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * added features: default, std
    * (unchanged features: [none])
  M socket2 0.4.0 (transitive third-party, crates.io)
    * version upgraded from 0.3.19
    * (unchanged features: [none])
  M tinyvec 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.1
    * (unchanged features: alloc, default, tinyvec_macros)
  M tokio-util 0.6.7 (transitive third-party, crates.io)
    * version upgraded from 0.6.4
    * (unchanged features: codec, default)
  M typenum 1.13.0 (transitive third-party, crates.io)
    * version upgraded from 1.12.0
    * (unchanged features: [none])
  M unicode-bidi 0.3.5 (transitive third-party, crates.io)
    * version upgraded from 0.3.4
    * (unchanged features: default)
  M unicode-normalization 0.1.19 (transitive third-party, crates.io)
    * version upgraded from 0.1.17
    * (unchanged features: default, std)
  M zeroize 1.3.0 (transitive third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: alloc, zeroize_derive)
  R cfg-if 0.1.10 (transitive third-party, crates.io) (other versions: 1.0.0)
    * (old features: [none])
  R cpuid-bool 0.1.2 (transitive third-party, crates.io) (other versions: 0.2.0)
    * (old features: [none])
  R pin-project 1.0.5 (transitive third-party, crates.io)
    * (old features: [none])

host packages:
  M async-trait 0.1.50 (direct third-party, crates.io)
    * version upgraded from 0.1.48
    * (unchanged features: [none])
  M enum_dispatch 0.3.7 (direct third-party, crates.io)
    * version upgraded from 0.3.5
    * (unchanged features: [none])
  M syn 1.0.73 (direct third-party, crates.io)
    * version upgraded from 1.0.72
    * (unchanged features: clone-impls, default, derive, extra-traits, full, parsing, printing, proc-macro, quote, visit, visit-mut)
  M anyhow 1.0.41 (transitive third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M cc 1.0.68 (transitive third-party, crates.io)
    * version upgraded from 1.0.67
    * (unchanged features: [none])
  M futures-macro 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: [none])
  M getrandom 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M heck 0.3.3 (transitive third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * (unchanged features: [none])
  M once_cell 1.8.0 (transitive third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M ouroboros_macro 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: [none])
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * (unchanged features: unicode-perl)
  M serde_derive 1.0.126 (transitive third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default)
  M thiserror-impl 1.0.25 (transitive third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tokio-macros 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.0
    * (unchanged features: [none])
  M unicode-xid 0.2.2 (transitive third-party, crates.io)
    * version upgraded from 0.2.1
    * (unchanged features: default)
  M version_check 0.9.3 (transitive third-party, crates.io)
    * version upgraded from 0.9.2
    * (unchanged features: [none])
  M zeroize_derive 1.1.0 (transitive third-party, crates.io)
    * version upgraded from 1.0.1
    * (unchanged features: [none])
  R pin-project-internal 1.0.5 (transitive third-party, crates.io)
    * (old features: [none])

LSR dependency change summary:
target packages:
  A cpufeatures 0.1.5 (transitive third-party, crates.io)
    * features: [none]
  M anyhow 1.0.41 (direct third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M arc-swap 1.3.0 (direct third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: [none])
  M backtrace 0.3.58 (direct third-party, crates.io)
    * version upgraded from 0.3.56
    * (unchanged features: addr2line, default, gimli-symbolize, miniz_oxide, object, serde, std)
  M bcs 0.1.3 (direct third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M erased-serde 0.3.16 (direct third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: default, std)
  M ipnet 2.3.1 (direct third-party, crates.io)
    * version upgraded from 2.3.0
    * (unchanged features: [none])
  M itertools 0.10.1 (direct third-party, crates.io)
    * version upgraded from 0.10.0
    * (unchanged features: default, use_alloc, use_std)
  M once_cell 1.8.0 (direct third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M rand 0.8.4 (direct third-party, crates.io)
    * version upgraded from 0.8.3
    * (unchanged features: alloc, default, getrandom, libc, rand_chacha, rand_hc, std, std_rng)
  M rand_core 0.6.3 (direct third-party, crates.io)
    * version upgraded from 0.6.2
    * (unchanged features: alloc, getrandom, std)
  M rayon 1.5.1 (direct third-party, crates.io)
    * version upgraded from 1.5.0
    * (unchanged features: [none])
  M serde 1.0.126 (direct third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default, derive, rc, serde_derive, std)
  M serde-name 0.1.2 (direct third-party, crates.io)
    * version upgraded from 0.1.1
    * (unchanged features: [none])
  M sha2 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: default, std)
  M thiserror 1.0.25 (direct third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tracing-subscriber 0.2.19 (direct third-party, crates.io)
    * version upgraded from 0.2.18
    * (unchanged features: ansi, ansi_term, chrono, default, env-filter, fmt, json, lazy_static, matchers, regex, registry, serde, serde_json, sharded-slab, smallvec, thread_local, tracing, tracing-log, tracing-serde)
  M ureq 1.5.5 (direct third-party, crates.io)
    * version upgraded from 1.5.4
    * (unchanged features: json, native-tls, serde, serde_json)
  M crossbeam-epoch 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: alloc, lazy_static, std)
  M crossbeam-utils 0.8.5 (transitive third-party, crates.io)
    * version upgraded from 0.8.3
    * (unchanged features: default, lazy_static, std)
  M dtoa 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.7
    * (unchanged features: [none])
  M ed25519 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.0.3
    * (unchanged features: serde, std)
  M fiat-crypto 0.1.8 (transitive third-party, crates.io)
    * version upgraded from 0.1.6
    * (unchanged features: [none])
  M getrandom 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: std)
  M idna 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * (unchanged features: default, std)
  M lock_api 0.4.4 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * (unchanged features: [none])
  M memchr 2.4.0 (transitive third-party, crates.io)
    * version upgraded from 2.3.4
    * (unchanged features: default, std)
  M memoffset 0.6.4 (transitive third-party, crates.io)
    * version upgraded from 0.6.1
    * (unchanged features: default)
  M openssl 0.10.35 (transitive third-party, crates.io)
    * version upgraded from 0.10.32
    * (unchanged features: [none])
  M openssl-probe 0.1.4 (transitive third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M openssl-sys 0.9.65 (transitive third-party, crates.io)
    * version upgraded from 0.9.60
    * (unchanged features: [none])
  M pin-project-lite 0.2.7 (transitive third-party, crates.io)
    * version upgraded from 0.2.6
    * (unchanged features: [none])
  M rand_chacha 0.3.1 (transitive third-party, crates.io)
    * version upgraded from 0.3.0
    * (unchanged features: std)
  M rayon-core 1.9.1 (transitive third-party, crates.io)
    * version upgraded from 1.9.0
    * (unchanged features: [none])
  M regex-automata 0.1.10 (transitive third-party, crates.io)
    * version upgraded from 0.1.9
    * (unchanged features: default, regex-syntax, std)
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * (unchanged features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M rustc-demangle 0.1.20 (transitive third-party, crates.io)
    * version upgraded from 0.1.18
    * (unchanged features: [none])
  M signature 1.3.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: std)
  M tinyvec 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.1
    * (unchanged features: alloc, default, tinyvec_macros)
  M typenum 1.13.0 (transitive third-party, crates.io)
    * version upgraded from 1.12.0
    * (unchanged features: [none])
  M unicode-bidi 0.3.5 (transitive third-party, crates.io)
    * version upgraded from 0.3.4
    * (unchanged features: default)
  M unicode-normalization 0.1.19 (transitive third-party, crates.io)
    * version upgraded from 0.1.17
    * (unchanged features: default, std)
  M zeroize 1.3.0 (transitive third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: alloc, zeroize_derive)
  R cpuid-bool 0.1.2 (transitive third-party, crates.io) (other versions: 0.2.0)
    * (old features: [none])

host packages:
  M enum_dispatch 0.3.7 (direct third-party, crates.io)
    * version upgraded from 0.3.5
    * (unchanged features: [none])
  M syn 1.0.73 (direct third-party, crates.io)
    * version upgraded from 1.0.72
    * (unchanged features: clone-impls, default, derive, extra-traits, full, parsing, printing, proc-macro, quote, visit, visit-mut)
  M cc 1.0.68 (transitive third-party, crates.io)
    * version upgraded from 1.0.67
    * (unchanged features: [none])
  M once_cell 1.8.0 (transitive third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M serde_derive 1.0.126 (transitive third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default)
  M thiserror-impl 1.0.25 (transitive third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M unicode-xid 0.2.2 (transitive third-party, crates.io)
    * version upgraded from 0.2.1
    * (unchanged features: default)
  M version_check 0.9.3 (transitive third-party, crates.io)
    * version upgraded from 0.9.2
    * (unchanged features: [none])
  M zeroize_derive 1.1.0 (transitive third-party, crates.io)
    * version upgraded from 1.0.1
    * (unchanged features: [none])

Von meinem/meiner Galaxy gesendethttps://www.mail-signatures.com/de/articles/tag/mailto-links/
-------- Ursprüngliche Nachricht --------Von: Tim Zakian @.> Datum: 30.06.21  01:27  (GMT+01:00) An: diem/diem @.> Cc: Subscribed @.***> Betreff: [diem/diem] [move-package] Source manifest parsing and definition (#8663)
You can view, comment on, or merge this pull request online at:
  https://github.com/diem/diem/pull/8663
Commit Summary
[move-package] Source manifest parsing and definition
File Changes
M
Cargo.lock
(1085)

M
Cargo.toml
(1)

A
language/tools/move-build/Cargo.toml
(39)

A
language/tools/move-build/src/lib.rs
(1)

A
language/tools/move-build/src/source_package/manifest_parser.rs
(414)

A
language/tools/move-build/src/source_package/mod.rs
(2)

A
language/tools/move-build/src/source_package/parsed_manifest.rs
(87)

A
language/tools/move-build/tests/test_runner.rs
(75)

A
language/tools/move-build/tests/test_sources/duplicate_address_names.exp
(1)

A
language/tools/move-build/tests/test_sources/duplicate_address_names.toml
(7)

A
language/tools/move-build/tests/test_sources/duplicate_top_level_field.exp
(1)

A
language/tools/move-build/tests/test_sources/duplicate_top_level_field.toml
(5)

A
language/tools/move-build/tests/test_sources/full_manifest.exp
(299)

A
language/tools/move-build/tests/test_sources/full_manifest.toml
(32)

A
language/tools/move-build/tests/test_sources/integer_subst_in_dependency.exp
(1)

A
language/tools/move-build/tests/test_sources/integer_subst_in_dependency.toml
(6)

A
language/tools/move-build/tests/test_sources/invalid_author.exp
(1)

A
language/tools/move-build/tests/test_sources/invalid_author.toml
(4)

A
language/tools/move-build/tests/test_sources/invalid_authors.exp
(1)

A
language/tools/move-build/tests/test_sources/invalid_authors.toml
(4)

A
language/tools/move-build/tests/test_sources/invalid_git_url_dependency.exp
(1)

A
language/tools/move-build/tests/test_sources/invalid_git_url_dependency.toml
(6)

A
language/tools/move-build/tests/test_sources/invalid_hex_address_in_subst.exp
(1)

A
language/tools/move-build/tests/test_sources/invalid_hex_address_in_subst.toml
(6)

A
language/tools/move-build/tests/test_sources/invalid_identifier_package_name.exp
(1)

A
language/tools/move-build/tests/test_sources/invalid_identifier_package_name.toml
(3)

A
language/tools/move-build/tests/test_sources/local_and_git_set_for_dependency.exp
(1)

A
language/tools/move-build/tests/test_sources/local_and_git_set_for_dependency.toml
(6)

A
language/tools/move-build/tests/test_sources/minimal_manifest.exp
(19)

A
language/tools/move-build/tests/test_sources/minimal_manifest.toml
(3)

A
language/tools/move-build/tests/test_sources/missing_minimal_required_field_name.exp
(1)

A
language/tools/move-build/tests/test_sources/missing_minimal_required_field_name.toml
(2)

A
language/tools/move-build/tests/test_sources/missing_minimal_required_field_version.exp
(1)

A
language/tools/move-build/tests/test_sources/missing_minimal_required_field_version.toml
(3)

A
language/tools/move-build/tests/test_sources/missing_required_package_segment.exp
(1)

A
language/tools/move-build/tests/test_sources/missing_required_package_segment.toml
(32)

A
language/tools/move-build/tests/test_sources/no_path_set_for_dependency.exp
(1)

A
language/tools/move-build/tests/test_sources/no_path_set_for_dependency.toml
(6)

A
language/tools/move-build/tests/test_sources/non_identifier_address_name_in_subst.exp
(1)

A
language/tools/move-build/tests/test_sources/non_identifier_address_name_in_subst.toml
(6)

A
language/tools/move-build/tests/test_sources/non_string_address_name.exp
(1)

A
language/tools/move-build/tests/test_sources/non_string_address_name.toml
(6)

A
language/tools/move-build/tests/test_sources/non_string_address_value.exp
(1)

A
language/tools/move-build/tests/test_sources/non_string_address_value.toml
(6)

A
language/tools/move-build/tests/test_sources/non_string_git_branch_ref.exp
(1)

A
language/tools/move-build/tests/test_sources/non_string_git_branch_ref.toml
(6)

A
language/tools/move-build/tests/test_sources/non_string_git_url.exp
(1)

A
language/tools/move-build/tests/test_sources/non_string_git_url.toml
(6)

A
language/tools/move-build/tests/test_sources/non_string_local_dep_path.exp
(1)

A
language/tools/move-build/tests/test_sources/non_string_local_dep_path.toml
(6)

A
language/tools/move-build/tests/test_sources/non_string_package_name.exp
(1)

A
language/tools/move-build/tests/test_sources/non_string_package_name.toml
(3)

A
language/tools/move-build/tests/test_sources/too_many_entries_renaming_instantiation.exp
(3)

A
language/tools/move-build/tests/test_sources/too_many_entries_renaming_instantiation.toml
(6)

A
language/tools/move-build/tests/test_sources/uninstantiated_dev_address.exp
(1)

A
language/tools/move-build/tests/test_sources/uninstantiated_dev_address.toml
(7)

A
language/tools/move-build/tests/test_sources/unknown_toplevel_field.exp
(1)

A
language/tools/move-build/tests/test_sources/unknown_toplevel_field.toml
(35)

A
language/tools/move-build/tests/test_sources/version_not_a_string.exp
(1)

A
language/tools/move-build/tests/test_sources/version_not_a_string.toml
(3)

A
language/tools/move-build/tests/test_sources/version_not_a_valid_version.exp
(1)

A
language/tools/move-build/tests/test_sources/version_not_a_valid_version.toml
(3)

A
language/tools/move-build/tests/test_sources/version_not_a_valid_version_not_numbers.exp
(1)

A
language/tools/move-build/tests/test_sources/version_not_a_valid_version_not_numbers.toml
(3)

Patch Links:
https://github.com/diem/diem/pull/8663.patch
https://github.com/diem/diem/pull/8663.diff
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe.

LSR dependency change summary:
target packages:
  A cpufeatures 0.1.5 (transitive third-party, crates.io)
    * features: [none]
  M anyhow 1.0.41 (direct third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M arc-swap 1.3.0 (direct third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: [none])
  M backtrace 0.3.58 (direct third-party, crates.io)
    * version upgraded from 0.3.56
    * (unchanged features: addr2line, default, gimli-symbolize, miniz_oxide, object, serde, std)
  M bcs 0.1.3 (direct third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M erased-serde 0.3.16 (direct third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: default, std)
  M ipnet 2.3.1 (direct third-party, crates.io)
    * version upgraded from 2.3.0
    * (unchanged features: [none])
  M itertools 0.10.1 (direct third-party, crates.io)
    * version upgraded from 0.10.0
    * (unchanged features: default, use_alloc, use_std)
  M once_cell 1.8.0 (direct third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M rand 0.8.4 (direct third-party, crates.io)
    * version upgraded from 0.8.3
    * (unchanged features: alloc, default, getrandom, libc, rand_chacha, rand_hc, std, std_rng)
  M rand_core 0.6.3 (direct third-party, crates.io)
    * version upgraded from 0.6.2
    * (unchanged features: alloc, getrandom, std)
  M rayon 1.5.1 (direct third-party, crates.io)
    * version upgraded from 1.5.0
    * (unchanged features: [none])
  M serde 1.0.126 (direct third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default, derive, rc, serde_derive, std)
  M serde-name 0.1.2 (direct third-party, crates.io)
    * version upgraded from 0.1.1
    * (unchanged features: [none])
  M sha2 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: default, std)
  M thiserror 1.0.25 (direct third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tracing-subscriber 0.2.19 (direct third-party, crates.io)
    * version upgraded from 0.2.18
    * (unchanged features: ansi, ansi_term, chrono, default, env-filter, fmt, json, lazy_static, matchers, regex, registry, serde, serde_json, sharded-slab, smallvec, thread_local, tracing, tracing-log, tracing-serde)
  M ureq 1.5.5 (direct third-party, crates.io)
    * version upgraded from 1.5.4
    * (unchanged features: json, native-tls, serde, serde_json)
  M crossbeam-epoch 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: alloc, lazy_static, std)
  M crossbeam-utils 0.8.5 (transitive third-party, crates.io)
    * version upgraded from 0.8.3
    * (unchanged features: default, lazy_static, std)
  M dtoa 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.7
    * (unchanged features: [none])
  M ed25519 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.0.3
    * (unchanged features: serde, std)
  M fiat-crypto 0.1.8 (transitive third-party, crates.io)
    * version upgraded from 0.1.6
    * (unchanged features: [none])
  M getrandom 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: std)
  M idna 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * (unchanged features: default, std)
  M lock_api 0.4.4 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * (unchanged features: [none])
  M memchr 2.4.0 (transitive third-party, crates.io)
    * version upgraded from 2.3.4
    * (unchanged features: default, std)
  M memoffset 0.6.4 (transitive third-party, crates.io)
    * version upgraded from 0.6.1
    * (unchanged features: default)
  M openssl 0.10.35 (transitive third-party, crates.io)
    * version upgraded from 0.10.32
    * (unchanged features: [none])
  M openssl-probe 0.1.4 (transitive third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M openssl-sys 0.9.65 (transitive third-party, crates.io)
    * version upgraded from 0.9.60
    * (unchanged features: [none])
  M pin-project-lite 0.2.7 (transitive third-party, crates.io)
    * version upgraded from 0.2.6
    * (unchanged features: [none])
  M rand_chacha 0.3.1 (transitive third-party, crates.io)
    * version upgraded from 0.3.0
    * (unchanged features: std)
  M rayon-core 1.9.1 (transitive third-party, crates.io)
    * version upgraded from 1.9.0
    * (unchanged features: [none])
  M regex-automata 0.1.10 (transitive third-party, crates.io)
    * version upgraded from 0.1.9
    * (unchanged features: default, regex-syntax, std)
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * (unchanged features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M rustc-demangle 0.1.20 (transitive third-party, crates.io)
    * version upgraded from 0.1.18
    * (unchanged features: [none])
  M signature 1.3.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: std)
  M tinyvec 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.1
    * (unchanged features: alloc, default, tinyvec_macros)
  M typenum 1.13.0 (transitive third-party, crates.io)
    * version upgraded from 1.12.0
    * (unchanged features: [none])
  M unicode-bidi 0.3.5 (transitive third-party, crates.io)
    * version upgraded from 0.3.4
    * (unchanged features: default)
  M unicode-normalization 0.1.19 (transitive third-party, crates.io)
    * version upgraded from 0.1.17
    * (unchanged features: default, std)
  M zeroize 1.3.0 (transitive third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: alloc, zeroize_derive)
  R cpuid-bool 0.1.2 (transitive third-party, crates.io) (other versions: 0.2.0)
    * (old features: [none])

host packages:
  M enum_dispatch 0.3.7 (direct third-party, crates.io)
    * version upgraded from 0.3.5
    * (unchanged features: [none])
  M syn 1.0.73 (direct third-party, crates.io)
    * version upgraded from 1.0.72
    * (unchanged features: clone-impls, default, derive, extra-traits, full, parsing, printing, proc-macro, quote, visit, visit-mut)
  M cc 1.0.68 (transitive third-party, crates.io)
    * version upgraded from 1.0.67
    * (unchanged features: [none])
  M once_cell 1.8.0 (transitive third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M serde_derive 1.0.126 (transitive third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default)
  M thiserror-impl 1.0.25 (transitive third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M unicode-xid 0.2.2 (transitive third-party, crates.io)
    * version upgraded from 0.2.1
    * (unchanged features: default)
  M version_check 0.9.3 (transitive third-party, crates.io)
    * version upgraded from 0.9.2
    * (unchanged features: [none])
  M zeroize_derive 1.1.0 (transitive third-party, crates.io)
    * version upgraded from 1.0.1
    * (unchanged features: [none])

LEC dependency change summary:
target packages:
  A cpufeatures 0.1.5 (transitive third-party, crates.io)
    * features: [none]
  A hashbrown 0.11.2 (transitive third-party, crates.io)
    * features: raw
  M anyhow 1.0.41 (direct third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M arc-swap 1.3.0 (direct third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: [none])
  M backtrace 0.3.58 (direct third-party, crates.io)
    * version upgraded from 0.3.56
    * (unchanged features: addr2line, default, gimli-symbolize, miniz_oxide, object, serde, std)
  M bcs 0.1.3 (direct third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M erased-serde 0.3.16 (direct third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: default, std)
  M futures 0.3.15 (direct third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: alloc, async-await, default, executor, futures-executor, std)
  M heck 0.3.3 (direct third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M hyper 0.14.9 (direct third-party, crates.io)
    * version upgraded from 0.14.4
    * (unchanged features: client, default, full, h2, http1, http2, runtime, server, socket2, stream, tcp)
  M internment 0.5.4 (direct third-party, crates.io)
    * version upgraded from 0.5.0
    * added features: ahash, once_cell
    * (unchanged features: arc, dashmap)
  M ipnet 2.3.1 (direct third-party, crates.io)
    * version upgraded from 2.3.0
    * (unchanged features: [none])
  M itertools 0.10.1 (direct third-party, crates.io)
    * version upgraded from 0.10.0
    * (unchanged features: default, use_alloc, use_std)
  M once_cell 1.8.0 (direct third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M ouroboros 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: [none])
  M rand 0.8.4 (direct third-party, crates.io) (other versions: 0.7.3)
    * version upgraded from 0.8.3
    * (unchanged features: alloc, default, getrandom, libc, rand_chacha, rand_hc, std, std_rng)
  M rand_core 0.6.3 (direct third-party, crates.io) (other versions: 0.5.1)
    * version upgraded from 0.6.2
    * (unchanged features: alloc, getrandom, std)
  M rayon 1.5.1 (direct third-party, crates.io)
    * version upgraded from 1.5.0
    * (unchanged features: [none])
  M serde 1.0.126 (direct third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default, derive, rc, serde_derive, std)
  M serde-generate 0.19.3 (direct third-party, crates.io)
    * version upgraded from 0.19.1
    * (unchanged features: [none])
  M serde-name 0.1.2 (direct third-party, crates.io)
    * version upgraded from 0.1.1
    * (unchanged features: [none])
  M serde-reflection 0.3.3 (direct third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M sha2 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: default, std)
  M tera 1.12.0 (direct third-party, crates.io)
    * version upgraded from 1.7.1
    * removed features: unic-segment
    * (unchanged features: builtins, chrono, chrono-tz, default, humansize, percent-encoding, rand, slug)
  M thiserror 1.0.25 (direct third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tokio 1.7.1 (direct third-party, crates.io)
    * version upgraded from 1.6.1
    * (unchanged features: bytes, default, fs, full, io-std, io-util, libc, macros, memchr, mio, net, num_cpus, once_cell, parking_lot, process, rt, rt-multi-thread, signal, signal-hook-registry, sync, time, tokio-macros, winapi)
  M tracing-subscriber 0.2.19 (direct third-party, crates.io)
    * version upgraded from 0.2.18
    * (unchanged features: ansi, ansi_term, chrono, default, env-filter, fmt, json, lazy_static, matchers, regex, registry, serde, serde_json, sharded-slab, smallvec, thread_local, tracing, tracing-log, tracing-serde)
  M ureq 1.5.5 (direct third-party, crates.io)
    * version upgraded from 1.5.4
    * (unchanged features: json, native-tls, serde, serde_json)
  M walkdir 2.3.2 (direct third-party, crates.io)
    * version upgraded from 2.3.1
    * (unchanged features: [none])
  M aho-corasick 0.7.18 (transitive third-party, crates.io)
    * version upgraded from 0.7.15
    * (unchanged features: default, std)
  M bincode 1.3.3 (transitive third-party, crates.io)
    * version upgraded from 1.3.1
    * (unchanged features: [none])
  M bstr 0.2.16 (transitive third-party, crates.io)
    * version upgraded from 0.2.15
    * (unchanged features: std)
  M byteorder 1.4.3 (transitive third-party, crates.io)
    * removed features: default, std
    * (unchanged features: i128)
  M crossbeam-epoch 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: alloc, lazy_static, std)
  M crossbeam-utils 0.8.5 (transitive third-party, crates.io)
    * version upgraded from 0.8.3
    * (unchanged features: default, lazy_static, std)
  M dashmap 4.0.2 (transitive third-party, crates.io)
    * version upgraded from 3.11.10
    * (unchanged features: default)
  M dtoa 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.7
    * (unchanged features: [none])
  M ed25519 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.0.3
    * (unchanged features: serde, std)
  M fiat-crypto 0.1.8 (transitive third-party, crates.io)
    * version upgraded from 0.1.6
    * (unchanged features: [none])
  M futures-channel 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, futures-sink, sink, std)
  M futures-core 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, std)
  M futures-executor 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: std)
  M futures-io 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: std)
  M futures-sink 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, std)
  M futures-task 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * removed features: once_cell
    * (unchanged features: alloc, std)
  M futures-util 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: alloc, async-await, async-await-macro, channel, futures-channel, futures-io, futures-macro, futures-sink, io, memchr, proc-macro-hack, proc-macro-nested, sink, slab, std)
  M getrandom 0.2.3 (transitive third-party, crates.io) (other versions: 0.1.16)
    * version upgraded from 0.2.2
    * (unchanged features: std)
  M globset 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.6
    * (unchanged features: [none])
  M h2 0.3.3 (transitive third-party, crates.io)
    * version upgraded from 0.3.1
    * (unchanged features: [none])
  M hashbrown 0.9.1 (transitive third-party, crates.io)
    * removed features: raw
    * (unchanged features: ahash, default, inline-more)
  M http 0.2.4 (transitive third-party, crates.io)
    * version upgraded from 0.2.3
    * (unchanged features: [none])
  M http-body 0.4.2 (transitive third-party, crates.io)
    * version upgraded from 0.4.0
    * (unchanged features: [none])
  M httparse 1.4.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.5
    * (unchanged features: default, std)
  M httpdate 1.0.1 (transitive third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M humansize 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.1.0
    * (unchanged features: [none])
  M idna 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M ignore 0.4.18 (transitive third-party, crates.io)
    * version upgraded from 0.4.17
    * (unchanged features: [none])
  M indexmap 1.7.0 (transitive third-party, crates.io)
    * version upgraded from 1.6.2
    * (unchanged features: std)
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * removed features: align
    * (unchanged features: default, std)
  M lock_api 0.4.4 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * (unchanged features: [none])
  M memchr 2.4.0 (transitive third-party, crates.io)
    * version upgraded from 2.3.4
    * removed features: use_std
    * (unchanged features: default, std)
  M memoffset 0.6.4 (transitive third-party, crates.io)
    * version upgraded from 0.6.1
    * (unchanged features: default)
  M mio 0.7.13 (transitive third-party, crates.io)
    * version upgraded from 0.7.9
    * (unchanged features: default, net, os-ext, os-poll, os-util, tcp, udp, uds)
  M openssl 0.10.35 (transitive third-party, crates.io)
    * version upgraded from 0.10.32
    * (unchanged features: [none])
  M openssl-probe 0.1.4 (transitive third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M openssl-sys 0.9.65 (transitive third-party, crates.io)
    * version upgraded from 0.9.60
    * (unchanged features: [none])
  M pin-project-lite 0.2.7 (transitive third-party, crates.io)
    * version upgraded from 0.2.6
    * (unchanged features: [none])
  M rand_chacha 0.3.1 (transitive third-party, crates.io) (other versions: 0.2.2)
    * version upgraded from 0.3.0
    * (unchanged features: std)
  M rayon-core 1.9.1 (transitive third-party, crates.io)
    * version upgraded from 1.9.0
    * (unchanged features: [none])
  M regex-automata 0.1.10 (transitive third-party, crates.io)
    * version upgraded from 0.1.9
    * (unchanged features: default, regex-syntax, std)
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * (unchanged features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M rustc-demangle 0.1.20 (transitive third-party, crates.io)
    * version upgraded from 0.1.18
    * (unchanged features: [none])
  M signal-hook-registry 1.4.0 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: [none])
  M signature 1.3.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: std)
  M slab 0.4.3 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * added features: default, std
    * (unchanged features: [none])
  M socket2 0.4.0 (transitive third-party, crates.io)
    * version upgraded from 0.3.19
    * (unchanged features: [none])
  M tinyvec 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.1
    * (unchanged features: alloc, default, tinyvec_macros)
  M tokio-util 0.6.7 (transitive third-party, crates.io)
    * version upgraded from 0.6.4
    * (unchanged features: codec, default)
  M typenum 1.13.0 (transitive third-party, crates.io)
    * version upgraded from 1.12.0
    * (unchanged features: [none])
  M unicode-bidi 0.3.5 (transitive third-party, crates.io)
    * version upgraded from 0.3.4
    * (unchanged features: default)
  M unicode-normalization 0.1.19 (transitive third-party, crates.io)
    * version upgraded from 0.1.17
    * (unchanged features: default, std)
  M zeroize 1.3.0 (transitive third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: alloc, zeroize_derive)
  R cfg-if 0.1.10 (transitive third-party, crates.io) (other versions: 1.0.0)
    * (old features: [none])
  R cpuid-bool 0.1.2 (transitive third-party, crates.io) (other versions: 0.2.0)
    * (old features: [none])
  R pin-project 1.0.5 (transitive third-party, crates.io)
    * (old features: [none])

host packages:
  M async-trait 0.1.50 (direct third-party, crates.io)
    * version upgraded from 0.1.48
    * (unchanged features: [none])
  M enum_dispatch 0.3.7 (direct third-party, crates.io)
    * version upgraded from 0.3.5
    * (unchanged features: [none])
  M syn 1.0.73 (direct third-party, crates.io)
    * version upgraded from 1.0.72
    * (unchanged features: clone-impls, default, derive, extra-traits, full, parsing, printing, proc-macro, quote, visit, visit-mut)
  M anyhow 1.0.41 (transitive third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M cc 1.0.68 (transitive third-party, crates.io)
    * version upgraded from 1.0.67
    * (unchanged features: [none])
  M futures-macro 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: [none])
  M getrandom 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M heck 0.3.3 (transitive third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * (unchanged features: [none])
  M once_cell 1.8.0 (transitive third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M ouroboros_macro 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: [none])
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * (unchanged features: unicode-perl)
  M serde_derive 1.0.126 (transitive third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default)
  M thiserror-impl 1.0.25 (transitive third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tokio-macros 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.0
    * (unchanged features: [none])
  M unicode-xid 0.2.2 (transitive third-party, crates.io)
    * version upgraded from 0.2.1
    * (unchanged features: default)
  M version_check 0.9.3 (transitive third-party, crates.io)
    * version upgraded from 0.9.2
    * (unchanged features: [none])
  M zeroize_derive 1.1.0 (transitive third-party, crates.io)
    * version upgraded from 1.0.1
    * (unchanged features: [none])
  R pin-project-internal 1.0.5 (transitive third-party, crates.io)
    * (old features: [none])

release binaries dependency change summary:
target packages:
  A cpufeatures 0.1.5 (transitive third-party, crates.io)
    * features: [none]
  A hashbrown 0.11.2 (transitive third-party, crates.io)
    * features: raw
  M anyhow 1.0.41 (direct third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M arc-swap 1.3.0 (direct third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: [none])
  M backtrace 0.3.58 (direct third-party, crates.io)
    * version upgraded from 0.3.56
    * (unchanged features: addr2line, default, gimli-symbolize, miniz_oxide, object, serde, std)
  M bcs 0.1.3 (direct third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M erased-serde 0.3.16 (direct third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: default, std)
  M futures 0.3.15 (direct third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: alloc, async-await, default, executor, futures-executor, std)
  M futures-util 0.3.15 (direct third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: alloc, async-await, async-await-macro, channel, default, futures-channel, futures-io, futures-macro, futures-sink, io, memchr, proc-macro-hack, proc-macro-nested, sink, slab, std)
  M heck 0.3.3 (direct third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M hyper 0.14.9 (direct third-party, crates.io)
    * version upgraded from 0.14.4
    * (unchanged features: client, default, full, h2, http1, http2, runtime, server, socket2, stream, tcp)
  M internment 0.5.4 (direct third-party, crates.io)
    * version upgraded from 0.5.0
    * added features: ahash, once_cell
    * (unchanged features: arc, dashmap)
  M ipnet 2.3.1 (direct third-party, crates.io)
    * version upgraded from 2.3.0
    * (unchanged features: [none])
  M itertools 0.10.1 (direct third-party, crates.io)
    * version upgraded from 0.10.0
    * (unchanged features: default, use_alloc, use_std)
  M once_cell 1.8.0 (direct third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M ouroboros 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: [none])
  M pin-project 1.0.7 (direct third-party, crates.io)
    * version upgraded from 1.0.5
    * (unchanged features: [none])
  M rand 0.8.4 (direct third-party, crates.io) (other versions: 0.7.3)
    * version upgraded from 0.8.3
    * (unchanged features: alloc, default, getrandom, libc, rand_chacha, rand_hc, small_rng, std, std_rng)
  M rand_core 0.6.3 (direct third-party, crates.io) (other versions: 0.5.1)
    * version upgraded from 0.6.2
    * (unchanged features: alloc, getrandom, std)
  M rayon 1.5.1 (direct third-party, crates.io)
    * version upgraded from 1.5.0
    * (unchanged features: [none])
  M reqwest 0.11.4 (direct third-party, crates.io)
    * version upgraded from 0.11.2
    * (unchanged features: blocking, json, serde_json, stream)
  M serde 1.0.126 (direct third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: alloc, default, derive, rc, serde_derive, std)
  M serde-generate 0.19.3 (direct third-party, crates.io)
    * version upgraded from 0.19.1
    * (unchanged features: [none])
  M serde-name 0.1.2 (direct third-party, crates.io)
    * version upgraded from 0.1.1
    * (unchanged features: [none])
  M serde-reflection 0.3.3 (direct third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M sha2 0.9.5 (direct third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: default, std)
  M tera 1.12.0 (direct third-party, crates.io)
    * version upgraded from 1.7.1
    * removed features: unic-segment
    * (unchanged features: builtins, chrono, chrono-tz, default, humansize, percent-encoding, rand, slug)
  M thiserror 1.0.25 (direct third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tokio 1.7.1 (direct third-party, crates.io)
    * version upgraded from 1.6.1
    * (unchanged features: bytes, default, fs, full, io-std, io-util, libc, macros, memchr, mio, net, num_cpus, once_cell, parking_lot, process, rt, rt-multi-thread, signal, signal-hook-registry, sync, time, tokio-macros, winapi)
  M tokio-stream 0.1.6 (direct third-party, crates.io)
    * version upgraded from 0.1.4
    * (unchanged features: default, time)
  M tokio-util 0.6.7 (direct third-party, crates.io)
    * version upgraded from 0.6.4
    * (unchanged features: codec, compat, default, futures-io, io)
  M tracing-subscriber 0.2.19 (direct third-party, crates.io)
    * version upgraded from 0.2.18
    * (unchanged features: ansi, ansi_term, chrono, default, env-filter, fmt, json, lazy_static, matchers, regex, registry, serde, serde_json, sharded-slab, smallvec, thread_local, tracing, tracing-log, tracing-serde)
  M ureq 1.5.5 (direct third-party, crates.io)
    * version upgraded from 1.5.4
    * (unchanged features: json, native-tls, serde, serde_json)
  M walkdir 2.3.2 (direct third-party, crates.io)
    * version upgraded from 2.3.1
    * (unchanged features: [none])
  M warp 0.3.1 (direct third-party, crates.io)
    * version upgraded from 0.3.0
    * (unchanged features: default, multipart, tls, tokio-rustls, tokio-tungstenite, websocket)
  M aho-corasick 0.7.18 (transitive third-party, crates.io)
    * version upgraded from 0.7.15
    * (unchanged features: default, std)
  M bincode 1.3.3 (transitive third-party, crates.io)
    * version upgraded from 1.3.1
    * (unchanged features: [none])
  M bstr 0.2.16 (transitive third-party, crates.io)
    * version upgraded from 0.2.15
    * (unchanged features: std)
  M crossbeam-epoch 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: alloc, lazy_static, std)
  M crossbeam-utils 0.8.5 (transitive third-party, crates.io)
    * version upgraded from 0.8.3
    * (unchanged features: default, lazy_static, std)
  M dashmap 4.0.2 (transitive third-party, crates.io)
    * version upgraded from 3.11.10
    * (unchanged features: default)
  M dtoa 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.7
    * (unchanged features: [none])
  M ed25519 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.0.3
    * (unchanged features: serde, std)
  M fiat-crypto 0.1.8 (transitive third-party, crates.io)
    * version upgraded from 0.1.6
    * (unchanged features: [none])
  M futures-channel 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, futures-sink, sink, std)
  M futures-core 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, std)
  M futures-executor 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: std)
  M futures-io 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: default, std)
  M futures-sink 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.13
    * (unchanged features: alloc, default, std)
  M futures-task 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * removed features: once_cell
    * (unchanged features: alloc, std)
  M getrandom 0.2.3 (transitive third-party, crates.io) (other versions: 0.1.16)
    * version upgraded from 0.2.2
    * (unchanged features: std)
  M globset 0.4.8 (transitive third-party, crates.io)
    * version upgraded from 0.4.6
    * (unchanged features: [none])
  M h2 0.3.3 (transitive third-party, crates.io)
    * version upgraded from 0.3.1
    * (unchanged features: [none])
  M hashbrown 0.9.1 (transitive third-party, crates.io)
    * removed features: raw
    * (unchanged features: ahash, default, inline-more)
  M http 0.2.4 (transitive third-party, crates.io)
    * version upgraded from 0.2.3
    * (unchanged features: [none])
  M http-body 0.4.2 (transitive third-party, crates.io)
    * version upgraded from 0.4.0
    * (unchanged features: [none])
  M httparse 1.4.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.5
    * (unchanged features: default, std)
  M httpdate 1.0.1 (transitive third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M humansize 1.1.1 (transitive third-party, crates.io)
    * version upgraded from 1.1.0
    * (unchanged features: [none])
  M idna 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M ignore 0.4.18 (transitive third-party, crates.io)
    * version upgraded from 0.4.17
    * (unchanged features: [none])
  M indexmap 1.7.0 (transitive third-party, crates.io)
    * version upgraded from 1.6.2
    * (unchanged features: std)
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * removed features: align
    * (unchanged features: default, std)
  M librocksdb-sys 6.17.3 (transitive third-party, crates.io)
    * version upgraded from 6.11.4
    * (unchanged features: default, lz4, static)
  M lock_api 0.4.4 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * (unchanged features: [none])
  M memchr 2.4.0 (transitive third-party, crates.io)
    * version upgraded from 2.3.4
    * (unchanged features: default, std, use_std)
  M memoffset 0.6.4 (transitive third-party, crates.io)
    * version upgraded from 0.6.1
    * (unchanged features: default)
  M mio 0.7.13 (transitive third-party, crates.io)
    * version upgraded from 0.7.9
    * (unchanged features: default, net, os-ext, os-poll, os-util, tcp, udp, uds)
  M openssl 0.10.35 (transitive third-party, crates.io)
    * version upgraded from 0.10.32
    * (unchanged features: [none])
  M openssl-probe 0.1.4 (transitive third-party, crates.io)
    * version upgraded from 0.1.2
    * (unchanged features: [none])
  M openssl-sys 0.9.65 (transitive third-party, crates.io)
    * version upgraded from 0.9.60
    * (unchanged features: [none])
  M pin-project-lite 0.2.7 (transitive third-party, crates.io)
    * version upgraded from 0.2.6
    * (unchanged features: [none])
  M rand_chacha 0.3.1 (transitive third-party, crates.io) (other versions: 0.2.2)
    * version upgraded from 0.3.0
    * (unchanged features: std)
  M rayon-core 1.9.1 (transitive third-party, crates.io)
    * version upgraded from 1.9.0
    * (unchanged features: [none])
  M regex-automata 0.1.10 (transitive third-party, crates.io)
    * version upgraded from 0.1.9
    * (unchanged features: default, regex-syntax, std)
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * (unchanged features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M rustc-demangle 0.1.20 (transitive third-party, crates.io)
    * version upgraded from 0.1.18
    * (unchanged features: [none])
  M rustls 0.19.1 (transitive third-party, crates.io)
    * version upgraded from 0.19.0
    * (unchanged features: default, log, logging)
  M sct 0.6.1 (transitive third-party, crates.io)
    * version upgraded from 0.6.0
    * (unchanged features: [none])
  M sha-1 0.9.6 (transitive third-party, crates.io)
    * version upgraded from 0.9.4
    * (unchanged features: default, std)
  M signal-hook-registry 1.4.0 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: [none])
  M signature 1.3.1 (transitive third-party, crates.io)
    * version upgraded from 1.3.0
    * (unchanged features: std)
  M slab 0.4.3 (transitive third-party, crates.io)
    * version upgraded from 0.4.2
    * added features: default, std
    * (unchanged features: [none])
  M socket2 0.4.0 (transitive third-party, crates.io)
    * version upgraded from 0.3.19
    * (unchanged features: [none])
  M tinyvec 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.1
    * (unchanged features: alloc, default, tinyvec_macros)
  M typenum 1.13.0 (transitive third-party, crates.io)
    * version upgraded from 1.12.0
    * (unchanged features: [none])
  M unicode-bidi 0.3.5 (transitive third-party, crates.io)
    * version upgraded from 0.3.4
    * (unchanged features: default)
  M unicode-normalization 0.1.19 (transitive third-party, crates.io)
    * version upgraded from 0.1.17
    * (unchanged features: default, std)
  M utf-8 0.7.6 (transitive third-party, crates.io)
    * version upgraded from 0.7.5
    * (unchanged features: [none])
  M zeroize 1.3.0 (transitive third-party, crates.io)
    * version upgraded from 1.2.0
    * (unchanged features: alloc, zeroize_derive)
  R cfg-if 0.1.10 (transitive third-party, crates.io) (other versions: 1.0.0)
    * (old features: [none])
  R cpuid-bool 0.1.2 (transitive third-party, crates.io) (other versions: 0.2.0)
    * (old features: [none])
  R tracing-futures 0.2.5 (transitive third-party, crates.io)
    * (old features: pin-project, std-future)

host packages:
  M async-trait 0.1.50 (direct third-party, crates.io)
    * version upgraded from 0.1.48
    * (unchanged features: [none])
  M enum_dispatch 0.3.7 (direct third-party, crates.io)
    * version upgraded from 0.3.5
    * (unchanged features: [none])
  M syn 1.0.73 (direct third-party, crates.io)
    * version upgraded from 1.0.72
    * (unchanged features: clone-impls, default, derive, extra-traits, full, parsing, printing, proc-macro, quote, visit, visit-mut)
  M anyhow 1.0.41 (transitive third-party, crates.io)
    * version upgraded from 1.0.40
    * (unchanged features: default, std)
  M bindgen 0.57.0 (transitive third-party, crates.io)
    * version upgraded from 0.54.0
    * removed features: clap, default, env_logger, log, logging, which, which-rustfmt
    * (unchanged features: runtime)
  M cc 1.0.68 (transitive third-party, crates.io)
    * version upgraded from 1.0.67
    * (unchanged features: jobserver, parallel)
  M clang-sys 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 0.29.3
    * added features: clang_3_5, clang_3_6, clang_3_7, clang_3_8, clang_3_9, clang_4_0, clang_5_0
    * removed features: gte_clang_3_6, gte_clang_3_7, gte_clang_3_8, gte_clang_3_9, gte_clang_4_0, gte_clang_5_0, gte_clang_6_0
    * (unchanged features: clang_6_0, libloading, runtime)
  M futures-macro 0.3.15 (transitive third-party, crates.io)
    * version upgraded from 0.3.12
    * (unchanged features: [none])
  M getrandom 0.2.3 (transitive third-party, crates.io)
    * version upgraded from 0.2.2
    * (unchanged features: [none])
  M heck 0.3.3 (transitive third-party, crates.io)
    * version upgraded from 0.3.2
    * (unchanged features: [none])
  M jobserver 0.1.22 (transitive third-party, crates.io)
    * version upgraded from 0.1.21
    * (unchanged features: [none])
  M libc 0.2.97 (transitive third-party, crates.io)
    * version upgraded from 0.2.89
    * (unchanged features: default, std)
  M libloading 0.7.0 (transitive third-party, crates.io)
    * version upgraded from 0.5.2
    * (unchanged features: [none])
  M memchr 2.4.0 (transitive third-party, crates.io)
    * version upgraded from 2.3.4
    * removed features: default
    * (unchanged features: std, use_std)
  M once_cell 1.8.0 (transitive third-party, crates.io)
    * version upgraded from 1.7.2
    * (unchanged features: alloc, default, race, std)
  M ouroboros_macro 0.9.5 (transitive third-party, crates.io)
    * version upgraded from 0.9.3
    * (unchanged features: [none])
  M pin-project-internal 1.0.7 (transitive third-party, crates.io)
    * version upgraded from 1.0.5
    * (unchanged features: [none])
  M regex 1.4.3 (transitive third-party, crates.io)
    * removed features: aho-corasick, default, memchr, perf, perf-cache, perf-dfa, perf-inline, perf-literal, thread_local
    * (unchanged features: std, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M regex-syntax 0.6.25 (transitive third-party, crates.io)
    * version upgraded from 0.6.23
    * removed features: default
    * (unchanged features: unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment)
  M serde_derive 1.0.126 (transitive third-party, crates.io)
    * version upgraded from 1.0.125
    * (unchanged features: default)
  M thiserror-impl 1.0.25 (transitive third-party, crates.io)
    * version upgraded from 1.0.24
    * (unchanged features: [none])
  M tokio-macros 1.2.0 (transitive third-party, crates.io)
    * version upgraded from 1.1.0
    * (unchanged features: [none])
  M unicode-xid 0.2.2 (transitive third-party, crates.io)
    * version upgraded from 0.2.1
    * (unchanged features: default)
  M version_check 0.9.3 (transitive third-party, crates.io)
    * version upgraded from 0.9.2
    * (unchanged features: [none])
  M zeroize_derive 1.1.0 (transitive third-party, crates.io)
    * version upgraded from 1.0.1
    * (unchanged features: [none])
  R aho-corasick 0.7.15 (transitive third-party, crates.io)
    * (old features: default, std)
  R ansi_term 0.11.0 (transitive third-party, crates.io)
    * (old features: [none])
  R atty 0.2.14 (transitive third-party, crates.io)
    * (old features: [none])
  R cfg-if 0.1.10 (transitive third-party, crates.io) (other versions: 1.0.0)
    * (old features: [none])
  R clap 2.33.3 (transitive third-party, crates.io)
    * (old features: ansi_term, atty, color, default, strsim, suggestions, vec_map)
  R env_logger 0.7.1 (transitive third-party, crates.io)
    * (old features: atty, default, humantime, regex, termcolor)
  R humantime 1.3.0 (transitive third-party, crates.io)
    * (old features: [none])
  R log 0.4.14 (transitive third-party, crates.io)
    * (old features: std)
  R quick-error 1.2.3 (transitive third-party, crates.io)
    * (old features: [none])
  R strsim 0.8.0 (transitive third-party, crates.io)
    * (old features: [none])
  R termcolor 1.1.2 (transitive third-party, crates.io)
    * (old features: [none])
  R textwrap 0.11.0 (transitive third-party, crates.io)
    * (old features: [none])
  R thread_local 1.1.3 (transitive third-party, crates.io)
    * (old features: [none])
  R unicode-width 0.1.8 (transitive third-party, crates.io)
    * (old features: default)
  R vec_map 0.8.2 (transitive third-party, crates.io)
    * (old features: [none])
  R which 3.1.1 (transitive third-party, crates.io)
    * (old features: [none])

Awesome to see this come to life!! Still need to dig into the code (and apologies if some of my questions are answered there), but here are some initial thoughts/questions based on the example manifest:
Questions:

b = { c = "0x1" } ~> Instantiate the "c" named address with 0x1 and rename to "b" for this package.

Is it possible to rename a named address without instantiating it with a concrete value?

Is it possible to instantiate a named address with _ in a subst?

Do you have a sense of when folks want want to use a "default" address vs _ in [addresses]?

Is there a concept of "open" (i.e., named addresses contain one or more _'s) vs "closed" package (all named addresses are bound)? And if so, are there requirements on making all packages in [dependencies] closed via an appropriate subst?

Does Cargo let you specify a version constraint for git and local dependencies, or does this only apply to crates.io?

Comments

In addition to having a concept of a package version with mutable "contents" (since the code/configs associated with a specific version, branch, or ref can be changed), we might also want to have an immutable identifier (package hash that includes all source + configs?) + allow the dependencies section to require a specific package hash. This way, a package can guarantee that its dependencies are immutable (whcih seems important for secure development).

Since the address syntax is @0x in the source language, we might also want to consider use that here... but I'm conflicted because I prefer the 0x syntax; @0x is harder to type and parse. I'd be curious to hear how others feel about this.

We might want to call language_version something like source_version in case there's a distinction between source and bytecode version in the future (e.g., if you can do move compile --bytecode-version 2 or move-compile --bytecode-version 3 on the same source file.

branch_or_ref seems a bit funky... might be cleaner to have separate branch and ref fields + have the parser enforce mutual exclusion (as it already needs to do for, e.g., git and local)

Nit: in the example manifest, it might be slightly clearer to use names like Std and CoreAddr in the address substitution instead of a--I made the mistake of thinking that a was related to A at first.

Nit: I don't love the name subst, but I'm having trouble thinking of good alternatives. I was going to suggest addrs or named_addrs, but there must be something better...

Awesome to see this come to life!! Still need to dig into the code (and apologies if some of my questions are answered there), but here are some initial thoughts/questions based on the example manifest:
Questions:

b = { c = "0x1" } ~> Instantiate the "c" named address with 0x1 and rename to "b" for this package.

Is it possible to rename a named address without instantiating it with a concrete value?

Yes! This can be done with subst = { other_d = "d" } (rename d to other_d in this package)

Is it possible to instantiate a named address with _ in a subst?

Good question. It isn't possible to do this. If you don't want to instantiate or rename an address, then you simply don't mention it and it will be brought in to scope automatically by the package system. If you tried to write this today you'd get an error  since _ is not a valid identifier, nor a valid address. I'll add a test for this.

Do you have a sense of when folks want want to use a "default" address vs _ in [addresses]?

The unassigned addresses (Addr = "_") represent the parametric points of a Move package -- the declaring package should treat these in a (largely) parametric manner, and it's saying "I don't care what value this address is, just that I have one".
If the exact address does matter for the package, this is when you should assign a value to a named address in the package (or, in the package that imports the package).

Is there a concept of "open" (i.e., named addresses contain one or more _'s) vs "closed" package (all named addresses are bound)? And if so, are there requirements on making all packages in [dependencies] closed via an appropriate subst?

In order to compile a package, all named addresses in that package and its dependencies must be fully instantiated (i.e., only "closed" packages can be compiled). You can do this either via an appropriate subst on the package(s) being imported, or you use the [dev_addresses] field to instantiate certain addresses just for development purposes.

Does Cargo let you specify a version constraint for git and local dependencies, or does this only apply to crates.io?

Cargo does not -- versions are only for crates.io. However, I think this is something that being able to specify the version of the package you are importing (no matter from where) is useful to make sure that the version can't shift under your feet.

Comments

In addition to having a concept of a package version with mutable "contents" (since the code/configs associated with a specific version, branch, or ref can be changed), we might also want to have an immutable identifier (package hash that includes all source + configs?) + allow the dependencies section to require a specific package hash. This way, a package can guarantee that its dependencies are immutable (whcih seems important for secure development).

Very good suggestion! I will add this in.

Since the address syntax is @0x in the source language, we might also want to consider use that here... but I'm conflicted because I prefer the 0x syntax; @0x is harder to type and parse. I'd be curious to hear how others feel about this.

I'm a fan of keeping it 0x... since this isn't in the Move source language. But I'm not super opinionated on this either..

We might want to call language_version something like source_version in case there's a distinction between source and bytecode version in the future (e.g., if you can do move compile --bytecode-version 2 or move-compile --bytecode-version 3 on the same source file.

I like source_version better. Or maybe source_edition?

branch_or_ref seems a bit funky... might be cleaner to have separate branch and ref fields + have the parser enforce mutual exclusion (as it already needs to do for, e.g., git and local)

I'll separate out :)

Nit: in the example manifest, it might be slightly clearer to use names like Std and CoreAddr in the address substitution instead of a--I made the mistake of thinking that a was related to A at first.

👍

Nit: I don't love the name subst, but I'm having trouble thinking of good alternatives. I was going to suggest addrs or named_addrs, but there must be something better...

The only other name I could think of is instantiation but that doesn't seem right since you can also do renames without instantiating them...

Thanks for the detailed answers! Couple of follow-up questions/comments:

If you don't want to instantiate or rename an address, then you simply don't mention it and it will be brought in to scope automatically by the package system.

Ah, interesting. Wondering: would requiring that all "open" addresses in dependencies are explicitly instantiated (instantiating with "_" is ok as long as it's done explicitly) make checking manifest validity more modular? I think (but might be wrong) that if we did this, you can check if a manifest M is valid by looking only at its immediate dependencies (and dev_dependencies). Whereas automatically lifting named addresses requires you to process all of the transitive dependencies of a package in a bottom-up fashion.

Cargo does not -- versions are only for crates.io. However, I think this is something that being able to specify the version of the package you are importing (no matter from where) is useful to make sure that the version can't shift under your feet.

Ah, I see. I guess the thing I'm wondering is whether specifying the version is helpful when the package contents is associated with the version can shift under your feet (e.g., when someone updates the branch or changes the on-disk contents). It totally makes sense to me when the version is immutable as it is in the crates.io setting, but I worry that pinning the version might give you a false sense of stability in the local/github case.

Is it possible to instantiate a named address with _ in a subst?
Good question. It isn't possible to do this.

Makes sense! Seems like it would be pretty confusing if you could do this...

If the exact address does matter for the package, this is when you should assign a value to a named address in the package (or, in the package that imports the package).

Can a exact address be "overriden" with another exact address by a different package (e.g., a package that depends on your example name package overrides CoreAddr with 0x2?)

Something I just noticed: in Cargo, the toml section names use dashes rather then underscores (e.g., dev-dependencies rather than dev_dependencies as we have here). Not sure of this matters (and I don't have any priors on which is better), but wanted to make a note of it.

So much to read! I feel so behind lol. Here are just some initial thoughts based on the initial PR description, then I will try to catch up with the discussion (I started writing this before all the comments came)

Not a fan of Std = "_" why not just Std
Is the address section transitive?
For deps what does local = "a" mean? I would have imagined something like local = "<path to package toml>
I imagine git support is speculative? do we need to support that out of the gate?
I find the subst syntax a bit confusing. Why not subst = { "a1": "b1", "a2" = "0x2", "a3": "b3" = "0x3" } Or is that more confusing? The main things I find weird are inconsistency with quotes on the lhs and rhs. Either names are always in quotes or never in quotes. And the nested {} assignments doesn't feel super obvious to me... not saying the : does more but ...

@sblackshear and @tzakian

Since the address syntax is @0x in the source language, we might also want to consider use that here... but I'm conflicted because I prefer the 0x syntax; @0x is harder to type and parse. I'd be curious to hear how others feel about this.

The address syntax is not @0x.. in Move, or at least not generally. It is only @addr when you are using an address as an expression instead of a name. In other words, @ is a sort of operator that converts a namespace item to a runtime value

I don't love the name subst, but I'm having trouble thinking of good alternatives. I was going to suggest addrs or named_addrs, but there must be something better...

+1 for more address based naming. Maybe addr_mapping or addr_subst?

The address syntax is not @0x.. in Move, or at least not generally. It is only @addr when you are using an address as an expression instead of a name. In other words, @ is a sort of operator that converts a namespace item to a runtime value

Good point--I like this way of thinking about it.

Not a fan of Std = "_" why not just Std
I find the subst syntax a bit confusing. Why not subst = { "a1": "b1", "a2" = "0x2", "a3": "b3" = "0x3" } Or is that more confusing? The main things I find weird are inconsistency with quotes on the lhs and rhs. Either names are always in quotes or never in quotes. And the nested {} assignments doesn't feel super obvious to me... not saying the : does more but ...

Sadly both of these things arise from TOML restrictions:

For the former, you can't have a non-assignment at this level according to the TOML spec
: is not supported according to the TOML spec.

So if we wanted to support this syntax (or syntax like it), my understanding from reading the TOML syntax spec would mean we would need to go with a different language for the manifest, e.g., YAML.

For deps what does local = "a" mean? I would have imagined something like local = "<path to package toml>

Ah, this is my bad in the example, that is exactly what it would be. So something like:
local = "../MyMovePackage"

I imagine git support is speculative? do we need to support that out of the gate?

I think supporting it out of the gate would be nice, but it's easy to remove. I think removing it for now for the sake of minmality and then adding support in for it later on would make sense. I'll remove.

Sadly both of these things arise from TOML restrictions:

Maybe we should just do something like only a = "b" or a = "0x1" and then have the assignment for "b" elsewhere? like up in addresses?

Sadly both of these things arise from TOML restrictions:

Maybe we should just do something like only a = "b" or a = "0x1" and then have the assignment for "b" elsewhere? like up in addresses?

This seems like a great option to me. Happy to update to support this syntax instead.

If you don't want to instantiate or rename an address, then you simply don't mention it and it will be brought in to scope automatically by the package system.

Ah, interesting. Wondering: would requiring that all "open" addresses in dependencies are explicitly instantiated (instantiating with "_" is ok as long as it's done explicitly) make checking manifest validity more modular? I think (but might be wrong) that if we did this, you can check if a manifest M is valid by looking only at its immediate dependencies (and dev_dependencies). Whereas automatically lifting named addresses requires you to process all of the transitive dependencies of a package in a bottom-up fashion.

I'm not sure if it will make the the validity checking more modular, since you'll always need to substitute down to the real address names and a mapping of name => address during package resolution in order to make sure all parts of the dependency graph have the same address substitution in either case. But, maybe I'm thinking about this wrong?

Cargo does not -- versions are only for crates.io. However, I think this is something that being able to specify the version of the package you are importing (no matter from where) is useful to make sure that the version can't shift under your feet.

Ah, I see. I guess the thing I'm wondering is whether specifying a fixed package version is helpful when the package contents associated with the version can shift under your feet (e.g., when someone updates the code in the branch or on-disk in the local case). It totally makes sense to me when the version is immutable as it is in the crates.io setting, but I worry that pinning the version might give you a false sense of stability in the local/github case.

I think there are uses for both the version and a package hash. In particular,

version: I trust the author(s) of this package, and trust them to version it correctly, and not make bad changes to it. But it's still in flux and I don't want to have to update things if they make a change to it.
package hash: I don't trust the author(s) of this package, or I'm about to deploy this package and/or want to freeze the package contents after an audit.

Is it possible to instantiate a named address with _ in a subst?
Good question. It isn't possible to do this.

Can a exact address be "overriden" with another exact address by a different package (e.g., a package that depends on your example name package overrides CoreAddr with 0x2?)

Ah! This goes to my answer to your first question I guess. The short answer is it cannot -- once an address is assigned to a particular named address there must be no further assignments, or all other assignments to that address must be the same.

Something I just noticed: in Cargo, the toml section names use dashes rather then underscores (e.g., dev-dependencies rather than dev_dependencies as we have here). Not sure of this matters (and I don't have any priors on which is better), but wanted to make a note of it.

Good call out. I prefer dashes I think, but wondering what other folks think about _ vs ``-` for the section names.

I'm not sure if it will make the the validity checking more modular, since you'll always need to substitute down to the real address names and a mapping of name => address during package resolution in order to make sure all parts of the dependency graph have the same address substitution in either case. But, maybe I'm thinking about this wrong?

Ah, interesting point. Thinking more, I believe the two options are:

Every package must include the named address bindings for all of its (transitive) dependencies. This buys you modular validity checking, but the UX will be bad (might need to type out a lot of named addresses in a package with a big dep graph)
Every package can bind as many (or as few) named addresses in immediate dependencies as it chooses. This is non-modular (need to process whole dep graph), but much more convenient from a UX perspective.

I was hoping there might be a middle ground where we can have modular checking and only need to bind all named addresses in immediate dependencies, but I think you're right that the need to check for name binding conflicts precludes that option. Given this, I like the option (2) that you've chosen much, much better than option (1).

I think there are uses for both the version and a package hash. In particular,

Makes sense!
Expanding on you version vs hash use-cases, I guess that in addition to "open" and "closed" packages, we will probably also need a concept of "stable" or "unstable" package, where stable packages:

are closed
only depend on packages that also have a specified hash + have contents that match the hash

I think we should only allow stable package to specify a hash. Otherwise, its behavior can be changed by updates in its dependencies.

Still trying to catch up, but some very early thoughts/questions:

I found "source version" confusing, especially when you also see the package versions in the same manifest. Something like source edition or language edition seems clearer to me.
Technically speaking the path in "local = ..." could refer to some (network mounted) remote places... Although this is a very rare case though.
How does dev addresses work? Are they bound only in dev mode (aka unit testing)?

Still trying to catch up, but some very early thoughts/questions:

I found "source version" confusing, especially when you also see the package versions in the same manifest. Something like source edition or language edition seems clearer to me.

I'm happy to change it to source_edition -- will make that change.

Technically speaking the path in "local = ..." could refer to some (network mounted) remote places... Although this is a very rare case...

Yea, it would probably be a fairly rare case (basically, as long as it behaves like a local filesystem, then it will work). What would you think of path instead of local?

How do dev addresses work? Are they bound only in dev mode (aka unit testing)?

Correct. These are only bound when you're compiling that particular package in dev mode  (you can see them in action in this test. They're only instantiated for the package root. The intuition here is you have a package you're developing with unassigned named addresses, however in order to compile test the package all named addresses need to be instantiated, this is when you can use the dev addresses to assign values to them for development purposes only.

I'm happy to change it to source_edition -- will make that change.

Sorry, I didn't see this discussion earlier. I don't see how mixing "version" and "edition" terminology helps anything. They're 2 words that mean the same thing and we should pick one and be consistent with it. (I prefer "version" since that is far more commonly used and should be more familiar to people.) To the extent that there could be confusion with source_version, I think the problem is with the "source" part. That word could refer to either the version of the package source or the version of the Move language. I agree with @vgao1996 that this is a potential problem. My suggestion would be to go with language_version to address that.

I think Bob makes a good point. One thing I had wondered about was if the "language" part of language_version could be viewed as too vague, however after discussing with Bob, I think language_version is the right name to go with, especially if we take the view that the compiler/prover/vm/tools move in lockstep (at least for now). The package system will hold the language version(s) that it can support, and since that will encompass all the related binaries, checking this will make sure that the rest of the toolchains will support that language version as well.

To the extent that there could be confusion with source_version, I think the problem is with the "source" part. That word could refer to either the version of the package source or the version of the Move language.
@bob-wilson nice summary! This is exactly why I felt confused and I like "language_version".

/land