Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • Lazarus Lazarus
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 2,095
    • Issues 2,095
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FPC
  • LazarusLazarus
  • LazarusLazarus
  • Issues
  • #34824
Closed
Open
Issue created Jan 06, 2019 by FPC Admin account@fpc_adminOwner

Code navigation fails with generics

Original Reporter info from Mantis: MageSlayer @MageSlayer
  • Reporter name: Denis Golovan

Description:

Hi

Lazarus code navigation stops on following code.
Error in "Messages" window is:
Error: expected >, but TVI found

...

type
  generic TVI<T> = record
    v:T;
    ix:NativeInt;
    class operator > (const a:TVI; const b:TVI): boolean;inline;
    class operator = (const a:TVI; const b:TVI): boolean;inline;
    class operator <= (const a:TVI; const b:TVI): boolean;inline;
    class operator >= (const a:TVI; const b:TVI): boolean;inline;
  end;
  generic TVISet<T> = class(specialize TheBTreeSet<specialize TVI<T>>);
...

Looks like last line is not correctly parsed (but compiled ok).

Additional information:

Tested under Linux x64, Lazarus svn. rev 59970

Mantis conversion info:

  • Mantis ID: 34824
  • Version: 2.1 (SVN)
  • Fixed in revision: r62693 (#d1b15edc), r63137 (#1c9deb7a), 63148 (#9aa25f1b), 63149 (#eb33c352).
  • Monitored by: » soerensen3 (soerensen3)
Assignee
Assign to
Time tracking