This repository has been archived by the owner on Jun 1, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 17
mro: switch from dfs to c3 as default #209
Labels
Comments
This change needs to export sv_sethek to be visible to CORE extensions. And the ISA order for some classes changed now.
Full list of regressions (~1 or 2 bugs):
zlib is also broken, but probably related to the attempted broken zlib-1.2.11 update. |
Testing CPAN with c3, and submitting tickets. Fixed problems in CORE:
On CPAN:
Blocked by:
|
rurban
added a commit
that referenced
this issue
Feb 4, 2018
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Sep 18, 2018
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Oct 8, 2018
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Nov 25, 2018
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Apr 5, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Jun 24, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Jun 26, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Jun 27, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Jul 1, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Jul 2, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Jul 2, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Jul 3, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Aug 25, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Dec 17, 2019
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Jan 19, 2020
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
rurban
added a commit
that referenced
this issue
Jan 19, 2020
The default MRO switched from the DFS (depth-first-search) to the recommended C3 algorithm, which was previously optional. All object system based on inheritence need to use C3 to avoid the diamond problem. And this change speeds it up, avoiding run-time loading of F<ext/mro>. Implements #209, but tests need adjustments: wrong default dfs assumption, revealed hidden c3 bugs.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The default MRO needs to switch from the old DFS (depth-first-search) to the
recommended and perl6/Moose C3 algorithm, which was previously optional.
All object systems based on inheritence need to use C3 to avoid the diamond
problem. And this change speeds it up, avoiding run-time loading of
ext/mro
, and avoids having the old dfs in memory.If it's not possible to fix all the internal and cpan modules, just use C3 for the new classes.
The text was updated successfully, but these errors were encountered: