Skip to content

Commit c825198

Browse files
Inline parameters to shorten generated code
1 parent 28bf386 commit c825198

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

InlineNumeric.scala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -214,23 +214,23 @@ given BigDecimalAsIfInlineIntegral: BigDecimalIsConflicted with InlineIntegral[B
214214

215215
object tests:
216216
import InlineNumeric.*
217+
import InlineIntegral.{/ => quot, %}
218+
import InlineFractional.{/}
217219

218220
// A generic inline operation that inlines/specializes primitive operations
219-
inline def foo[T: InlineNumeric](a: T, b: T) =
221+
inline def foo[T: InlineNumeric](inline a: T, inline b: T) =
220222
a + b * b
221223

222-
inline def div[T: InlineIntegral](a: T, b: T) =
223-
import InlineIntegral.{/, %}
224-
a / b % b
224+
inline def div[T: InlineIntegral](inline a: T, inline b: T) =
225+
a quot b % b
225226

226-
inline def div[T: InlineFractional](a: T, b: T) =
227-
import InlineFractional.{/}
227+
inline def div[T: InlineFractional](inline a: T, inline b: T) =
228228
a / b + a
229229

230-
inline def bar[T: InlineNumeric](a: T) =
230+
inline def bar[T: InlineNumeric](inline a: T) =
231231
a.toInt
232232

233-
inline def sign[T: InlineNumeric](a: T) =
233+
inline def sign[T: InlineNumeric](inline a: T) =
234234
a.sign
235235

236236
def test(a: Int, b: Int) =

0 commit comments

Comments
 (0)