forked from Rust-related/RustPython
Merge pull request #5221 from youknowone/update-indexmap
Update indexmap
This commit is contained in:
4
.github/workflows/ci.yaml
vendored
4
.github/workflows/ci.yaml
vendored
@@ -276,11 +276,11 @@ jobs:
|
||||
run: target/release/rustpython -m test -j 1 -u all --slowest --fail-env-changed -v -x ${{ env.PLATFORM_INDEPENDENT_TESTS }}
|
||||
- if: runner.os == 'macOS'
|
||||
name: run cpython platform-dependent tests (MacOS)
|
||||
run: target/release/rustpython -m test -j 1 -u all --slowest --fail-env-changed -v -x ${{ env.PLATFORM_INDEPENDENT_TESTS }} ${{ env.MACOS_SKIPS }}
|
||||
run: target/release/rustpython -m test -j 1 all --slowest --fail-env-changed -v -x ${{ env.PLATFORM_INDEPENDENT_TESTS }} ${{ env.MACOS_SKIPS }}
|
||||
- if: runner.os == 'Windows'
|
||||
name: run cpython platform-dependent tests (windows partial - fixme)
|
||||
run:
|
||||
target/release/rustpython -m test -j 1 -u all --slowest --fail-env-changed -v -x ${{ env.PLATFORM_INDEPENDENT_TESTS }} ${{ env.WINDOWS_SKIPS }}
|
||||
target/release/rustpython -m test -j 1 all --slowest --fail-env-changed -v -x ${{ env.PLATFORM_INDEPENDENT_TESTS }} ${{ env.WINDOWS_SKIPS }}
|
||||
- if: runner.os != 'Windows'
|
||||
name: check that --install-pip succeeds
|
||||
run: |
|
||||
|
||||
80
Cargo.lock
generated
80
Cargo.lock
generated
@@ -717,6 +717,12 @@ dependencies = [
|
||||
"termcolor",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "equivalent"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.8"
|
||||
@@ -781,7 +787,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3cc29a6c0dfa26d3a0e80021edda5671eeed79381130897737cdd273ea18909"
|
||||
dependencies = [
|
||||
"flame",
|
||||
"indexmap",
|
||||
"indexmap 1.9.3",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
@@ -887,6 +893,12 @@ version = "0.12.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.14.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.4.1"
|
||||
@@ -963,7 +975,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"hashbrown",
|
||||
"hashbrown 0.12.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "2.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
|
||||
dependencies = [
|
||||
"equivalent",
|
||||
"hashbrown 0.14.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -974,15 +996,14 @@ checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
|
||||
|
||||
[[package]]
|
||||
name = "insta"
|
||||
version = "1.33.0"
|
||||
version = "1.38.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1aa511b2e298cd49b1856746f6bb73e17036bcd66b25f5e92cdcdbec9bd75686"
|
||||
checksum = "3eab73f58e59ca6526037208f0e98851159ec1633cf17b6cd2e1f2c3fd5d53cc"
|
||||
dependencies = [
|
||||
"console",
|
||||
"lazy_static 1.4.0",
|
||||
"linked-hash-map",
|
||||
"similar",
|
||||
"yaml-rust",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1283,9 +1304,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
version = "2.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
|
||||
|
||||
[[package]]
|
||||
name = "memmap2"
|
||||
@@ -1316,9 +1337,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.9.0"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
|
||||
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
@@ -1372,7 +1393,7 @@ dependencies = [
|
||||
"bitflags 2.5.0",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"memoffset 0.9.0",
|
||||
"memoffset 0.9.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1445,9 +1466,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.18.0"
|
||||
version = "1.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
|
||||
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
||||
|
||||
[[package]]
|
||||
name = "oorandom"
|
||||
@@ -1666,18 +1687,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.66"
|
||||
version = "1.0.79"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
|
||||
checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "puruspe"
|
||||
version = "0.2.0"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fe7765e19fb2ba6fd4373b8d90399f5321683ea7c11b598c6bbaa3a72e9c83b8"
|
||||
checksum = "06a1eed715f625eaa95fba5e049dcf7bc06fa396d6d2e55015b3764e234dfd3f"
|
||||
|
||||
[[package]]
|
||||
name = "pyo3"
|
||||
@@ -1688,7 +1709,7 @@ dependencies = [
|
||||
"cfg-if",
|
||||
"indoc",
|
||||
"libc",
|
||||
"memoffset 0.9.0",
|
||||
"memoffset 0.9.1",
|
||||
"parking_lot",
|
||||
"pyo3-build-config",
|
||||
"pyo3-ffi",
|
||||
@@ -1892,18 +1913,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "result-like"
|
||||
version = "0.4.5"
|
||||
version = "0.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b80fe0296795a96913be20558326b797a187bb3986ce84ed82dee0fb7414428"
|
||||
checksum = "ccc7ce6435c33898517a30e85578cd204cbb696875efb93dec19a2d31294f810"
|
||||
dependencies = [
|
||||
"result-like-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "result-like-derive"
|
||||
version = "0.4.5"
|
||||
version = "0.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2a29c8a4ac7839f1dcb8b899263b501e0d6932f210300c8a0d271323727b35c1"
|
||||
checksum = "1fabf0a2e54f711c68c50d49f648a1a8a37adcb57353f518ac4df374f0788f42"
|
||||
dependencies = [
|
||||
"pmutil 0.5.3",
|
||||
"proc-macro2",
|
||||
@@ -1981,7 +2002,7 @@ version = "0.3.0"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"bitflags 2.5.0",
|
||||
"indexmap",
|
||||
"indexmap 2.2.6",
|
||||
"insta",
|
||||
"itertools 0.11.0",
|
||||
"log",
|
||||
@@ -2266,14 +2287,14 @@ dependencies = [
|
||||
"glob",
|
||||
"half",
|
||||
"hex",
|
||||
"indexmap",
|
||||
"indexmap 2.2.6",
|
||||
"is-macro",
|
||||
"itertools 0.11.0",
|
||||
"libc",
|
||||
"log",
|
||||
"malachite-bigint",
|
||||
"memchr",
|
||||
"memoffset 0.6.5",
|
||||
"memoffset 0.9.1",
|
||||
"nix 0.27.1",
|
||||
"num-complex",
|
||||
"num-integer",
|
||||
@@ -2766,7 +2787,7 @@ version = "0.18.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"indexmap 1.9.3",
|
||||
"nom8",
|
||||
"toml_datetime",
|
||||
]
|
||||
@@ -3464,15 +3485,6 @@ version = "0.8.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "52839dc911083a8ef63efa4d039d1f58b5e409f923e44c80828f206f66e5541c"
|
||||
|
||||
[[package]]
|
||||
name = "yaml-rust"
|
||||
version = "0.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
|
||||
dependencies = [
|
||||
"linked-hash-map",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy"
|
||||
version = "0.7.32"
|
||||
|
||||
@@ -52,8 +52,8 @@ crossbeam-utils = "0.8.16"
|
||||
flame = "0.2.2"
|
||||
glob = "0.3"
|
||||
hex = "0.4.3"
|
||||
indexmap = { version = "1.9.3", features = ["std"] }
|
||||
insta = "1.33.0"
|
||||
indexmap = { version = "2.2.6", features = ["std"] }
|
||||
insta = "1.38.0"
|
||||
itertools = "0.11.0"
|
||||
is-macro = "0.3.0"
|
||||
libc = "0.2.151"
|
||||
@@ -62,11 +62,12 @@ nix = { version = "0.27", features = ["fs", "user", "process", "term", "time", "
|
||||
malachite-bigint = "0.2.0"
|
||||
malachite-q = "0.4.4"
|
||||
malachite-base = "0.4.4"
|
||||
memchr = "2.7.2"
|
||||
num-complex = "0.4.0"
|
||||
num-integer = "0.1.44"
|
||||
num-traits = "0.2"
|
||||
num_enum = "0.7"
|
||||
once_cell = "1.18"
|
||||
once_cell = "1.19.0"
|
||||
parking_lot = "0.12.1"
|
||||
paste = "1.0.7"
|
||||
rand = "0.8.5"
|
||||
|
||||
@@ -17,7 +17,7 @@ once_cell = { workspace = true }
|
||||
syn = { workspace = true, features = ["full", "extra-traits"] }
|
||||
|
||||
maplit = "1.0.2"
|
||||
proc-macro2 = "1.0.60"
|
||||
proc-macro2 = "1.0.79"
|
||||
quote = "1.0.18"
|
||||
syn-ext = { version = "0.4.0", features = ["full"] }
|
||||
textwrap = { version = "0.15.0", default-features = false }
|
||||
|
||||
@@ -38,12 +38,12 @@ num_enum = { workspace = true }
|
||||
once_cell = { workspace = true }
|
||||
parking_lot = { workspace = true }
|
||||
|
||||
memchr = "2.4.1"
|
||||
memchr = { workspace = true }
|
||||
base64 = "0.13.0"
|
||||
csv-core = "0.1.10"
|
||||
dyn-clone = "1.0.10"
|
||||
libz-sys = { version = "1.1.5", optional = true }
|
||||
puruspe = "0.2.0"
|
||||
puruspe = "0.2.4"
|
||||
xml-rs = "0.8.14"
|
||||
|
||||
# random
|
||||
|
||||
@@ -564,7 +564,7 @@ mod _csv {
|
||||
impl FromArgs for FormatOptions {
|
||||
fn from_args(vm: &VirtualMachine, args: &mut FuncArgs) -> Result<Self, ArgumentError> {
|
||||
let mut res = FormatOptions::default();
|
||||
if let Some(dialect) = args.kwargs.remove("dialect") {
|
||||
if let Some(dialect) = args.kwargs.swap_remove("dialect") {
|
||||
res.dialect = prase_dialect_item_from_arg(vm, dialect)?;
|
||||
} else if let Some(dialect) = args.args.first() {
|
||||
res.dialect = prase_dialect_item_from_arg(vm, dialect.clone())?;
|
||||
@@ -572,11 +572,11 @@ mod _csv {
|
||||
res.dialect = DialectItem::None;
|
||||
};
|
||||
|
||||
if let Some(delimiter) = args.kwargs.remove("delimiter") {
|
||||
if let Some(delimiter) = args.kwargs.swap_remove("delimiter") {
|
||||
res.delimiter = Some(parse_delimiter_from_obj(vm, &delimiter)?);
|
||||
}
|
||||
|
||||
if let Some(escapechar) = args.kwargs.remove("escapechar") {
|
||||
if let Some(escapechar) = args.kwargs.swap_remove("escapechar") {
|
||||
res.escapechar = match_class!(match escapechar {
|
||||
s @ PyStr => Some(s.as_str().bytes().exactly_one().map_err(|_| {
|
||||
let msg = r#""escapechar" must be a 1-character string"#;
|
||||
@@ -585,7 +585,7 @@ mod _csv {
|
||||
_ => None,
|
||||
})
|
||||
};
|
||||
if let Some(lineterminator) = args.kwargs.remove("lineterminator") {
|
||||
if let Some(lineterminator) = args.kwargs.swap_remove("lineterminator") {
|
||||
res.lineterminator = Some(csv_core::Terminator::Any(
|
||||
lineterminator
|
||||
.try_to_value::<&str>(vm)?
|
||||
@@ -597,19 +597,19 @@ mod _csv {
|
||||
})?,
|
||||
))
|
||||
};
|
||||
if let Some(doublequote) = args.kwargs.remove("doublequote") {
|
||||
if let Some(doublequote) = args.kwargs.swap_remove("doublequote") {
|
||||
res.doublequote = Some(doublequote.try_to_bool(vm).map_err(|_| {
|
||||
let msg = r#""doublequote" must be a bool"#;
|
||||
vm.new_type_error(msg.to_owned())
|
||||
})?)
|
||||
};
|
||||
if let Some(skipinitialspace) = args.kwargs.remove("skipinitialspace") {
|
||||
if let Some(skipinitialspace) = args.kwargs.swap_remove("skipinitialspace") {
|
||||
res.skipinitialspace = Some(skipinitialspace.try_to_bool(vm).map_err(|_| {
|
||||
let msg = r#""skipinitialspace" must be a bool"#;
|
||||
vm.new_type_error(msg.to_owned())
|
||||
})?)
|
||||
};
|
||||
if let Some(quoting) = args.kwargs.remove("quoting") {
|
||||
if let Some(quoting) = args.kwargs.swap_remove("quoting") {
|
||||
res.quoting = match_class!(match quoting {
|
||||
i @ PyInt =>
|
||||
Some(i.try_to_primitive::<isize>(vm)?.try_into().map_err(|_e| {
|
||||
@@ -621,7 +621,7 @@ mod _csv {
|
||||
}
|
||||
});
|
||||
};
|
||||
if let Some(quotechar) = args.kwargs.remove("quotechar") {
|
||||
if let Some(quotechar) = args.kwargs.swap_remove("quotechar") {
|
||||
res.quotechar = match_class!(match quotechar {
|
||||
s @ PyStr => Some(Some(s.as_str().bytes().exactly_one().map_err(|_| {
|
||||
let msg = r#""quotechar" must be a 1-character string"#;
|
||||
@@ -646,7 +646,7 @@ mod _csv {
|
||||
}
|
||||
})
|
||||
};
|
||||
if let Some(strict) = args.kwargs.remove("strict") {
|
||||
if let Some(strict) = args.kwargs.swap_remove("strict") {
|
||||
res.strict = Some(strict.try_to_bool(vm).map_err(|_| {
|
||||
let msg = r#""strict" must be a int enum"#;
|
||||
vm.new_type_error(msg.to_owned())
|
||||
|
||||
@@ -67,15 +67,15 @@ serde = { workspace = true, optional = true }
|
||||
static_assertions = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
thread_local = { workspace = true }
|
||||
memchr = { workspace = true }
|
||||
|
||||
caseless = "0.2.1"
|
||||
getrandom = { version = "0.2.12", features = ["js"] }
|
||||
flamer = { version = "0.4", optional = true }
|
||||
half = "1.8.2"
|
||||
memchr = "2.4.1"
|
||||
memoffset = "0.6.5"
|
||||
memoffset = "0.9.1"
|
||||
optional = "0.5.0"
|
||||
result-like = "0.4.5"
|
||||
result-like = "0.4.6"
|
||||
timsort = "0.1.2"
|
||||
|
||||
## unicode stuff
|
||||
|
||||
@@ -1063,7 +1063,7 @@ impl SetAttr for PyType {
|
||||
if let PySetterValue::Assign(value) = value {
|
||||
zelf.attributes.write().insert(attr_name, value);
|
||||
} else {
|
||||
let prev_value = zelf.attributes.write().remove(attr_name);
|
||||
let prev_value = zelf.attributes.write().shift_remove(attr_name); // TODO: swap_remove applicable?
|
||||
if prev_value.is_none() {
|
||||
return Err(vm.new_exception(
|
||||
vm.ctx.exceptions.attribute_error.to_owned(),
|
||||
|
||||
@@ -342,7 +342,7 @@ impl<T> KwArgs<T> {
|
||||
}
|
||||
|
||||
pub fn pop_kwarg(&mut self, name: &str) -> Option<T> {
|
||||
self.0.remove(name)
|
||||
self.0.swap_remove(name)
|
||||
}
|
||||
|
||||
pub fn is_empty(self) -> bool {
|
||||
|
||||
Reference in New Issue
Block a user