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
/// review on PR #457 — removing the method outright is a breaking
108
+
/// change even one commit after introduction). New code should call
109
+
/// `inference_type()`, which returns the canonical
110
+
/// [`crate::nars::InferenceType`].
111
+
///
112
+
/// The mapping is identical (Chain / ChainRev → Deduction; Fork →
113
+
/// Induction; Collider → Abduction); the returned [`NarsRule`] is a
114
+
/// deprecated subset enum that `From`-converts into `InferenceType`.
115
+
#[deprecated(
116
+
since = "0.2.0",
117
+
note = "Use `inference_type()` which returns the canonical `crate::nars::InferenceType`. `NarsRule` is preserved as a deprecated alias for back-compat with PR #456."
118
+
)]
119
+
#[allow(deprecated)]
120
+
pubconstfnnars_rule(self) -> Option<NarsRule>{
121
+
// Route the deprecated v1 surface through inference_type() so the
122
+
// junction → rule mapping lives in ONE place (per CodeRabbit on
123
+
// PR #458 — avoid the same duplication-map drift class that
124
+
// motivated the inference_type() introduction in #457).
125
+
//
126
+
// The full InferenceType taxonomy includes Revision + Synthesis
127
+
// which are NOT junction-derivable (no Pearl junction maps to
128
+
// either), so those arms return None defensively even though
/// **Deprecated** — use [`crate::nars::InferenceType`] instead.
140
+
///
141
+
/// Back-compat alias for PR #456's original three-variant NARS-rule
142
+
/// enum. `NarsRule` always corresponds 1:1 to a subset of
143
+
/// [`InferenceType`] (Deduction / Induction / Abduction); the full
144
+
/// `InferenceType` taxonomy also includes Revision + Synthesis which
145
+
/// are not junction-derivable. `From<NarsRule>` lifts to the canonical
146
+
/// type for migration.
147
+
///
148
+
/// Removed in a future major bump; new code should not introduce
149
+
/// references to this enum.
150
+
#[deprecated(
151
+
since = "0.2.0",
152
+
note = "Use `crate::nars::InferenceType` instead. `NarsRule` is preserved as a back-compat alias for PR #456's original surface; `From<NarsRule>` lifts to the canonical type."
0 commit comments