fixes #11225; generic sandwich problems; [backport:1.2] (#17255)

* fixes #11225; generic sandwich problems; [backport:1.2]
* progress
* delegating these symbols must be done via 'bind'
This commit is contained in:
Andreas Rumpf 2021-03-09 20:19:24 +01:00 • committed by GitHub
commit 2f213db7ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 132 additions and 21 deletions

View file

@ -0,0 +1,6 @@
proc libraryFunc*[T](x: T) =
mixin mixedIn, indirectlyMixedIn
echo mixedIn()
echo indirectlyMixedIn()

View file

@ -0,0 +1,3 @@
proc indirectlyMixedIn*: int =
200

View file

@ -0,0 +1,12 @@
import
generic_library, helper_module
proc mixedIn: int = 100
proc makeUseOfLibrary*[T](x: T) =
bind mixedIn, indirectlyMixedIn
libraryFunc(x)
when isMainModule:
makeUseOfLibrary "test"

9
tests/sandwich/tmain.nim Normal file
View file

@ -0,0 +1,9 @@
discard """
output: '''100
200'''
"""
import
module_using_generic_library
makeUseOfLibrary "test"