frontend: removed resolved IES data for outdated functions
Without this, incremental updates which would change inferred error sets fail, since they assume the IES is resolved and equals the old set, resulting in false positive compile errors when e.g. coercing to an IES.
This commit is contained in:
@@ -2160,6 +2160,14 @@ pub const Key = union(enum) {
|
||||
pub fn resolvedErrorSetUnordered(func: Func, ip: *const InternPool) Index {
|
||||
return @atomicLoad(Index, func.resolvedErrorSetPtr(@constCast(ip)), .unordered);
|
||||
}
|
||||
|
||||
pub fn setResolvedErrorSet(func: Func, ip: *InternPool, ies: Index) void {
|
||||
const extra_mutex = &ip.getLocal(func.tid).mutate.extra.mutex;
|
||||
extra_mutex.lock();
|
||||
defer extra_mutex.unlock();
|
||||
|
||||
@atomicStore(Index, func.resolvedErrorSetPtr(ip), ies, .release);
|
||||
}
|
||||
};
|
||||
|
||||
pub const Int = struct {
|
||||
|
||||
Reference in New Issue
Block a user