Scala内联unapply提取器

时间:2016-11-29 13:22:50

标签: scala inline extractor

以下代码:

...
at Test$.unapply(<console>:13)
at Test$.test(<console>:17)
...

导致以下错误:

unapply

请注意,错误来自哪里。但是,错误表明方法min-width没有按照我想要的方式内联 我该如何内联这种不适用的方法?这是出于性能原因以及代码重用。

1 个答案:

答案 0 :(得分:3)

@inline只有请求编译器尝试内联方法,但它不必,并且在某些情况下,它不能。我不认为有一个规范确切地说编译器能够和不能内联的内容(虽然我很乐意看到有一个),但是我打赌编译器只是赢了&# 39;在这种情况下,无论你做什么。

通常,您只想内联一些常量或小而且不太可能改变的东西。否则,Test.unapply的许多用法将导致编译代码的大小迅速增加,并且对内联方法的更改将在引用它的所有内容中激增。

来自@RexKerr的

This answer说够了。