Commit 39eaa28
committed
Fix stale exports/imports/definitions after unregister_package
unregister_package() called retain_nodes() to remove nodes associated
with a package, but did not clean up the exports, defined, and imports
maps. This left stale NodeIndex references that could cause panics or
incorrect behavior when those maps were subsequently accessed.
Now cleans up all three maps before removing nodes from the graph.
Added a test that verifies exports are properly cleaned up after
unregistering a package.1 parent e1e684a commit 39eaa28
1 file changed
+44
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
543 | 543 | | |
544 | 544 | | |
545 | 545 | | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
546 | 555 | | |
547 | 556 | | |
548 | 557 | | |
| |||
1959 | 1968 | | |
1960 | 1969 | | |
1961 | 1970 | | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1990 | + | |
| 1991 | + | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
1962 | 2006 | | |
0 commit comments