Skip to content

Commit

Permalink
Stop using __Nonexhaustive for market type conversion (#527)
Browse files Browse the repository at this point in the history
  • Loading branch information
shanemadden authored Aug 14, 2024
1 parent 82d742a commit 7300d0c
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 21 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
Unreleased
==========

### Bugfixes:

- Update for new string enum implementation's implementation in wasm-bindgen 0.2.93

### Misc:

- Move crate constant `ROOM_AREA` to extra constants module and make public
Expand Down
36 changes: 15 additions & 21 deletions src/constants/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -674,7 +674,7 @@ impl wasm_bindgen::convert::FromWasmAbi for MarketResourceType {
// try with IntershardResourceType
match IntershardResourceType::from_js_value(&s) {
Some(r) => Self::IntershardResource(r),
None => Self::Resource(ResourceType::__Nonexhaustive),
None => unreachable!("should have come from IntoWasmAbi"),
}
}
}
Expand Down Expand Up @@ -834,7 +834,7 @@ mod test {
#[test]
fn resources_rust_to_serde_json_from_serde_json_roundtrip() {
for resource in enum_iterator::all::<ResourceType>() {
if resource != ResourceType::__Nonexhaustive {
if resource != ResourceType::__Invalid {
let serialized = serde_json::to_string(&resource).unwrap();
let parsed: ResourceType = serde_json::from_str(&serialized).unwrap();
assert_eq!(resource, parsed);
Expand All @@ -845,7 +845,7 @@ mod test {
#[test]
fn resources_rust_to_display_from_str_roundtrip() {
for resource in enum_iterator::all::<ResourceType>() {
if resource != ResourceType::__Nonexhaustive {
if resource != ResourceType::__Invalid {
let string = format!("{}", resource);
let parsed = ResourceType::from_str(&string).unwrap();
assert_eq!(resource, parsed);
Expand All @@ -857,7 +857,7 @@ mod test {
fn resources_rust_vec_to_serde_json_from_serde_json_roundtrip() {
let mut resources = vec![];
for resource in enum_iterator::all::<ResourceType>() {
if resource != ResourceType::__Nonexhaustive {
if resource != ResourceType::__Invalid {
resources.push(resource);
}
}
Expand All @@ -870,7 +870,7 @@ mod test {
fn resources_rust_vec_to_serde_json_from_serde_json_roundtrip_via_values() {
let mut resources = vec![];
for resource in enum_iterator::all::<ResourceType>() {
if resource != ResourceType::__Nonexhaustive {
if resource != ResourceType::__Invalid {
resources.push(resource);
}
}
Expand All @@ -887,7 +887,7 @@ mod test {
#[test]
fn intershard_resources_rust_to_serde_json_from_serde_json_roundtrip() {
for resource in enum_iterator::all::<IntershardResourceType>() {
if resource != IntershardResourceType::__Nonexhaustive {
if resource != IntershardResourceType::__Invalid {
let serialized = serde_json::to_string(&resource).unwrap();
let parsed: IntershardResourceType = serde_json::from_str(&serialized).unwrap();
assert_eq!(resource, parsed);
Expand All @@ -898,7 +898,7 @@ mod test {
#[test]
fn intershard_resources_rust_to_display_from_str_roundtrip() {
for resource in enum_iterator::all::<IntershardResourceType>() {
if resource != IntershardResourceType::__Nonexhaustive {
if resource != IntershardResourceType::__Invalid {
let string = format!("{}", resource);
let parsed = IntershardResourceType::from_str(&string).unwrap();
assert_eq!(resource, parsed);
Expand All @@ -910,7 +910,7 @@ mod test {
fn intershard_resources_rust_vec_to_serde_json_from_serde_json_roundtrip() {
let mut resources = vec![];
for resource in enum_iterator::all::<IntershardResourceType>() {
if resource != IntershardResourceType::__Nonexhaustive {
if resource != IntershardResourceType::__Invalid {
resources.push(resource);
}
}
Expand All @@ -924,7 +924,7 @@ mod test {
fn intershard_resources_rust_vec_to_serde_json_from_serde_json_roundtrip_via_values() {
let mut resources = vec![];
for resource in enum_iterator::all::<IntershardResourceType>() {
if resource != IntershardResourceType::__Nonexhaustive {
if resource != IntershardResourceType::__Invalid {
resources.push(resource);
}
}
Expand All @@ -941,11 +941,9 @@ mod test {
#[test]
fn market_resources_rust_to_serde_json_from_serde_json_roundtrip() {
for resource in enum_iterator::all::<MarketResourceType>() {
if resource != MarketResourceType::Resource(ResourceType::__Nonexhaustive)
if resource != MarketResourceType::Resource(ResourceType::__Invalid)
&& resource
!= MarketResourceType::IntershardResource(
IntershardResourceType::__Nonexhaustive,
)
!= MarketResourceType::IntershardResource(IntershardResourceType::__Invalid)
{
let serialized = serde_json::to_string(&resource).unwrap();
let parsed: MarketResourceType = serde_json::from_str(&serialized).unwrap();
Expand All @@ -958,11 +956,9 @@ mod test {
fn market_resources_rust_vec_to_serde_json_from_serde_json_roundtrip() {
let mut resources = vec![];
for resource in enum_iterator::all::<MarketResourceType>() {
if resource != MarketResourceType::Resource(ResourceType::__Nonexhaustive)
if resource != MarketResourceType::Resource(ResourceType::__Invalid)
&& resource
!= MarketResourceType::IntershardResource(
IntershardResourceType::__Nonexhaustive,
)
!= MarketResourceType::IntershardResource(IntershardResourceType::__Invalid)
{
resources.push(resource);
}
Expand All @@ -977,11 +973,9 @@ mod test {
fn market_resources_rust_vec_to_serde_json_from_serde_json_roundtrip_via_values() {
let mut resources = vec![];
for resource in enum_iterator::all::<MarketResourceType>() {
if resource != MarketResourceType::Resource(ResourceType::__Nonexhaustive)
if resource != MarketResourceType::Resource(ResourceType::__Invalid)
&& resource
!= MarketResourceType::IntershardResource(
IntershardResourceType::__Nonexhaustive,
)
!= MarketResourceType::IntershardResource(IntershardResourceType::__Invalid)
{
resources.push(resource);
}
Expand Down
4 changes: 4 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,10 @@

// #![warn(clippy::missing_const_for_fn)]

// disable deprecation warnings - TODO need to figure out how to get wasm_bindgen's new thread_local
// attribute working
#![allow(deprecated)]

pub mod console;
pub mod constants;
pub mod enums;
Expand Down

0 comments on commit 7300d0c

Please sign in to comment.