This commit is contained in:
InversionSpaces 2023-06-14 10:11:12 +00:00
parent 758e3191c6
commit 0648c5ad3f
3 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,17 @@
aqua PassClosure
export lng92Bug
func accept_closure(peer: string, closure: u16 -> u16) -> u16:
on peer:
res <- closure(42)
<- res
func lng92Bug(peerA: string, peerB: string) -> u16:
on peerA:
closure = (x: u16) -> u16:
<- x + 37
-- Variable has the same name
-- as argument of `accept_closure`
-- [bug LNG-92]
<- accept_closure(peerB, closure)

View File

@ -38,6 +38,7 @@ import {literalCall} from '../examples/returnLiteralCall.js';
import {multiReturnCall} from '../examples/multiReturnCall.js';
import {declareCall} from '../examples/declareCall.js';
import {genOptions, genOptionsEmptyString} from '../examples/optionsCall.js';
import { lng92BugCall } from '../examples/closurePass.js'
import { lng193BugCall } from '../examples/closureReturnRename.js';
import {closuresCall} from '../examples/closures.js';
import {bugLNG63_2Call, bugLNG63_3Call, bugLNG63Call, streamCanCall} from '../examples/streamCanCall.js';
@ -528,6 +529,11 @@ describe('Testing examples', () => {
expect(res3).toEqual(res4);
}, 180000);
it('closurePass.aqua bug LNG-92', async () => {
let result = await lng92BugCall();
expect(result).toEqual(37 + 42)
}, 20000)
it('closureReturnRename.aqua bug LNG-193', async () => {
let result = await lng193BugCall();
expect(result).toEqual((1 + 42) + (2 + 42) + (3 + 42) + (4 + 42))

View File

@ -0,0 +1,11 @@
import { Fluence } from '@fluencelabs/fluence';
import {
lng92Bug
} from '../compiled/examples/closurePass.js';
import { config } from '../config.js'
const relays = config.relays
export async function lng92BugCall(): Promise<number> {
return lng92Bug(relays[4].peerId, relays[5].peerId)
}