File tree Expand file tree Collapse file tree 1 file changed +14
-3
lines changed Expand file tree Collapse file tree 1 file changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -117,10 +117,21 @@ impl<'a> AnalyzeContext<'a> {
117117 } ;
118118
119119 if let Some ( ( _, indexes) ) = typ. array_type ( ) {
120- if let Some ( first) = indexes. first ( ) . unwrap ( ) {
121- Ok ( * first)
120+ if let Some ( first) = indexes. first ( ) {
121+ if let Some ( base_type) = first {
122+ Ok ( * base_type)
123+ } else {
124+ // There was probably an error in the type definition of this signal/variable
125+ Err ( EvalError :: Unknown )
126+ }
122127 } else {
123- // There was probably an error in the type definition of this signal/variable
128+ // This should never happen
129+ if let Some ( decl_pos) = typ. decl_pos ( ) {
130+ // To debug if it ever happens
131+ eprintln ! ( "{}" , decl_pos. show( "Array with no indexes" ) ) ;
132+ eprintln ! ( "{}" , attr. name. pos. show( "Used here" ) ) ;
133+ panic ! ( "Internal error" )
134+ }
124135 Err ( EvalError :: Unknown )
125136 }
126137 } else {
You can’t perform that action at this time.
0 commit comments