Stream: git-wasmtime

Topic: wasmtime / PR #4685 ISLE: fix an ordering bug with fallib...


view this post on Zulip Wasmtime GitHub notifications bot (Aug 11 2022 at 00:50):

elliottt opened PR #4685 from trevor/isle-and-pattern-bug to main:

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Aug 11 2022 at 00:50):

elliottt updated PR #4685 from trevor/isle-and-pattern-bug to main.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 11 2022 at 01:00):

elliottt edited PR #4685 from trevor/isle-and-pattern-bug to main:

Fix a bug with extractor ordering, where constant patterns were taking precedence over fallible extractors.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Aug 11 2022 at 01:05):

elliottt edited PR #4685 from trevor/isle-and-pattern-bug to main:

Fix a bug with extractor ordering, where constant patterns were taking precedence over fallible extractors.

I started by writing a custom Ord instance but it felt like the rules for how fallible/infallible constructors related to everything else would get a bit hard to reason about. @cfallin suggested breaking the Extractor case into to constructors, which ended up being much more readable.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Aug 11 2022 at 01:06):

elliottt edited PR #4685 from trevor/isle-and-pattern-bug to main:

Fix a bug with extractor ordering, where constant patterns were taking precedence over fallible extractors.

I started by writing a custom Ord instance but it felt like the rules for how fallible/infallible constructors related to everything else would get a bit hard to reason about. @cfallin suggested breaking the Extractor case into to constructors, which ended up being much more readable.

This PR does change the output of some of the filetest tests, which suggests that we might have been masking some more specific branches during lowering.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Aug 11 2022 at 01:07):

elliottt updated PR #4685 from trevor/isle-and-pattern-bug to main.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 11 2022 at 01:08):

elliottt has marked PR #4685 as ready for review.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 11 2022 at 03:55):

elliottt edited PR #4685 from trevor/isle-and-pattern-bug to main:

Fix a bug with extractor ordering, where constant patterns were taking precedence over fallible extractors.

I started by writing a custom Ord instance but it felt like the rules for how fallible/infallible constructors related to everything else would get a bit hard to reason about. @cfallin suggested breaking the Extractor case into to constructors, which ended up being much more readable.

This PR does change the output of some of the filetest tests, which suggests that we might have been masking some more specific branches during lowering. I'll need to have a look through the precise-output tests that changed to check if this is the right way to fix the interaction between fallible extractors and constants.

<!--

Please ensure that the following steps are all taken care of before submitting
the PR.

Please ensure all communication adheres to the code of conduct.
-->

view this post on Zulip Wasmtime GitHub notifications bot (Aug 11 2022 at 19:55):

elliottt closed without merge PR #4685.


Last updated: Nov 22 2024 at 16:03 UTC