This PR fixes a bug in #11125. Added a test this time ... <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Exclude deprecated declarations from library suggestions and add a test verifying they are filtered out. > > - **Library Suggestions**: > - Update `isDeniedPremise` in `src/Lean/LibrarySuggestions/Basic.lean` to treat `Lean.Linter.isDeprecated` as denied (`true`), filtering deprecated constants from suggestions. > - **Tests**: > - Add `tests/lean/run/library_suggestions_deprecated.lean` to verify deprecated theorems (e.g., `deprecatedTheorem`) are not suggested by `currentFile`, while non-deprecated ones are. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ef7e546dbcca1893d68b07ed79e592ff97f2ceb4. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
26 lines
848 B
Text
26 lines
848 B
Text
import Lean.LibrarySuggestions.Basic
|
|
|
|
-- Define a normal theorem that should appear in suggestions
|
|
theorem normalTheorem : True := trivial
|
|
|
|
-- Define a deprecated theorem that should be filtered out by isDeniedPremise
|
|
@[deprecated "Use normalTheorem instead" (since := "1970-01-01")]
|
|
theorem deprecatedTheorem : True := trivial
|
|
|
|
-- Another normal theorem to verify filtering is selective
|
|
theorem anotherNormalTheorem : 1 + 1 = 2 := rfl
|
|
|
|
-- Test the currentFile selector which uses isDeniedPremise to filter
|
|
set_library_suggestions Lean.LibrarySuggestions.currentFile
|
|
|
|
-- This test verifies that deprecated theorems are filtered out by isDeniedPremise
|
|
-- Expected: deprecatedTheorem should NOT appear in suggestions
|
|
/--
|
|
info: Library suggestions:
|
|
anotherNormalTheorem
|
|
normalTheorem
|
|
-/
|
|
#guard_msgs in
|
|
example : True := by
|
|
suggestions
|
|
trivial
|