On Mon, Apr 29, 2019 at 8:00 PM Chris Muller <asqueaker@gmail.com> wrote:
Hey Fabio, would you mind consulting your peers a bit more on some of
these things prior to trunk?

Sure, sorry for the lack of explanation.
 

Because I see a problem with "consistency" here.  #postCopy is a no-op
if there's nothing to do, not an error.

SmallIntegers and SmallFoat64 are immediates and cannot be copied.
This change ensures #postCopy cannot be sent to them, because it does
not make any sense.
 

In your main #copy entry method, you silently ignore, but here you
want to throw an error.  What are you trying to accomplish here?

I don't quite understand. What do you mean by "main #copy entry
method"? SmallInteger and SmallFloat64 override #copy to return `self`.

Fabio
 


 - Chris

On Mon, Apr 29, 2019 at 5:52 AM <commits@source.squeak.org> wrote:
>
> Fabio Niephaus uploaded a new version of Kernel to project The Trunk:
> http://source.squeak.org/trunk/Kernel-fn.1223.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-fn.1223
> Author: fn
> Time: 29 April 2019, 12:52:13.424813 pm
> UUID: 910aa151-72fe-4f6c-9645-fa735fb17f63
> Ancestors: Kernel-nice.1222
>
> SmallInteger and SmallFloat64 shouldNotImplement postCopy.
>
> =============== Diff against Kernel-nice.1222 ===============
>
> Item was added:
> + ----- Method: SmallFloat64>>postCopy (in category 'copying') -----
> + postCopy
> +       "I will never be copied"
> +       ^self shouldNotImplement!
>
> Item was added:
> + ----- Method: SmallInteger>>postCopy (in category 'copying') -----
> + postCopy
> +       "I will never be copied"
> +       ^self shouldNotImplement!
>
>