On Thu, Jun 27, 2024 at 08:56:13PM +0000, WhatMeWorry` via Digitalmars-d-learn wrote: > import std.container : RedBlackTree; > > int main() > { > > struct Location { > int x; > int y; > } > > struct Node{ > this(Location loc, uint f) { > this.loc = loc; > this.f = f; > } > Location loc; > uint f; > } > > auto priorityQueue = new RedBlackTree!(Node, "a.f < b.f", true); // true: > allowDuplicates > > // C:\D\dmd2\windows\bin64\..\..\src\phobos\std\container\rbtree.d(806): > Error: `main` is > // a nested function and cannot be accessed from > // `std.container.rbtree.RedBlackTree!(Node, "a.f < b.f", > true).RedBlackTree.allocate` > > return 0; > }
Move the declaration of Location and Node outside of main and it should work. T -- Almost all proofs have bugs, but almost all theorems are true. -- Paul Pedersen