intel / intel/rohd

Propagate types through some operations

Open
#615 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Dart
Stars
489
Forks
88
Avg merge
3d 23h
Merged PRs (30d)
10

Description

### Motivation

After https://github.com/intel/rohd/pull/614, it opens the door to making some matching outputs based on inputs. For example, `mux`, `flop`, and `cases` could potentially output the same type as the sources. It would be nice to add this functionality.

### Desired solution

Parameterize things like `mux`, `flop`, and `cases`, and look for more, so that the output type matches the original input type.

### Alternatives considered

_No response_

### Additional details

There's some trickiness when there are multiple input types. `flop` is easy, but `mux` has two inputs. Which should it use? What if one of them is `Const` and you picked that one? Should it only try to match output if all of the inputs are the same type? Can we properly check that in Dart's type system?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.