A question arose in Discord regarding #basicNew, to which I felt like the proper answer should be that #basicNew is used only** from the class-side when making custom initializers. (**excepting special meta-handling like by Behaviour)
This philosophy is somewhat supported by... (#basicNew senders select: [:sender | sender methodClass isMeta]) count ==> 264 but there are also counter examples... (#basicNew senders select: [:sender | sender methodClass isMeta] not) count ==> 76. like these... Example1 -- DAPackageRelationGraph>>addMessageSendDependencies: aPackage analyser := DAMessageSendAnalyzer basicNew initializeWith: aPackage; yourself. Example 2 -- FreeTypeFontProvider>>#updateFromFile: aFile face := FreeTypeFace basicNew fileContentsExternalMemory: externalMem . Example 3 -- HandMorph>>#moveToEvent: anEvent self handleEvent: (MouseMoveEvent basicNew setType: #mouseMove startPoint: self position endPoint: anEvent position trail: (Array with: self position with: anEvent position) buttons: anEvent buttons hand: self stamp: anEvent timeStamp) Should we be pushing these sort of basicNew + instance-side-method-call to the class side? Or do I have the wrong end of the stick? cheers -ben