You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After merging #1016, type checking based on invalid_factor causes to miss some type errors like:
structA{}
let a: logic=A;
Before #1016, Factor didn't contain type, so invalid_factor error was occurred.
After #1016, Factor can contain type, and type check is passed.
Therefore another type checking scheme is necessary.
I think the following way:
Introduce type evaluation to Evaluator of Expression
Check type equivalency around assignment, port connection, function call, and so on.
By introducing this way, invalid_factor and some scattered type checking logics can be removed, and some additional checks can be achieved like type or width mismatch at assignment.
After merging #1016, type checking based on
invalid_factor
causes to miss some type errors like:Before #1016,
Factor
didn't contain type, soinvalid_factor
error was occurred.After #1016,
Factor
can contain type, and type check is passed.Therefore another type checking scheme is necessary.
I think the following way:
Evaluator
ofExpression
By introducing this way,
invalid_factor
and some scattered type checking logics can be removed, and some additional checks can be achieved like type or width mismatch at assignment.Related: #1012 #76
The text was updated successfully, but these errors were encountered: