#2946 Fantom Version Downgrade in Mac

Naren S Fri 4 Jul

Hi Team, I have upgraded to latest fantom version 1.0.82 and found below issues in compilation.

Could you please help me how i can downgraded fantom version to 1.0.81 in Mac.

Issue I faced with Fantom 1.0.82 compilation:

I have identified a bug with the parameterised echo function. It works fine when printing a simple string message, but it fails whenever I try to print a parameter or variable value.

The same if I tried to append a variable value into any string

eg. welcome := "Hello, "+name

//Test class

class FantomTest {

static Void main() {

echo("Hello, Fantom 1.0.82  ") // works perfectly fine

}

Str printData(Str msg) {

echo("Received message: " + msg) // error caused statement
return msg

}

Str testAddOperator(Str msg) {

Str result := "Hello, " + msg    // error caused statement
return result

} }

and compilation error:

CompileJs ERR: Internal compiler error sys::UnknownSlotErr: sys::Method.inheritedReturnType

fan.sys.ClassType.slot (ClassType.java:104) fan.sys.FanObj.doTrap (FanObj.java:191) fan.sys.FanObj.trap (FanObj.java:187) fan.sys.Slot.trap (Slot.java:118) fan.sys.Method.trap (Method.java:99) fan.sys.FanObj.trap (FanObj.java:179) compiler::ReflectMethod.inheritedReturnType (ReflectSlot.fan:91) compiler::FPod.addMethodRef (FPod.fan:134) compiler::FPod.addMethodRef (FPod.fan) compiler::CodeAsm.addStr (CodeAsm.fan:1529) compiler::CodeAsm.shortcut (CodeAsm.fan:1367) compiler::CodeAsm.expr (CodeAsm.fan:666) compiler::CodeAsm.assignLocalVar (CodeAsm.fan:1023) compiler::CodeAsm.assign (CodeAsm.fan:1001) compiler::CodeAsm.expr (CodeAsm.fan:652) compiler::CodeAsm.localVarDefStmt (CodeAsm.fan:192) compiler::CodeAsm.stmt (CodeAsm.fan:48) compiler::CodeAsm.block (CodeAsm.fan:39) fan.sys.List.each (List.java:662) compiler::CodeAsm.block (CodeAsm.fan:39) compiler::Assembler.assembleCode (Assembler.fan:152) compiler::Assembler.assembleMethod (Assembler.fan:122) compiler::Assembler.assembleType (Assembler.fan:65) fan.sys.List.map (List.java:922) compiler::Assembler.assembleType (Assembler.fan:65) 28 More... BUILD FAILED [269ms]!

brian Fri 4 Jul

You don't have a clean install. Install the zip from GitHub to a clean location and run the following to just to make sure everything is cleanly from 1.0.82:

fan -pods

If you are doing a bootstrap build of Fantom itself, then you must make sure your rel bootstrap is a clean 1.0.82 build too

Gary Today 12:07am

I added some calls to the methods and tested the code - it appears to be working as expected. Tried it on several of my computers (PC's, Macs - Intel and ARM):

class FantomTest {

  static Void main() {
      echo("Hello, Fantom 1.0.82  ")
      printData("What an elegant language!")
      strAdd := testAddOperator("there! Where have you been all my life?")
      echo(strAdd);
  }

  static Str printData(Str msg) {
    echo("Received message: " + msg)
    return msg
  }

  static Str testAddOperator(Str msg) {
    Str result := "Hello, " + msg
    return result
  }

}

Console:

fan -version
Fantom Launcher
Copyright (c) 2006-2025, Brian Frank and Andy Frank
Licensed under the Academic Free License version 3.0

Java Runtime:
  java.version:    21.0.7
  java.vm.name:    OpenJDK 64-Bit Server VM
  java.vm.vendor:  Eclipse Adoptium
  java.vm.version: 21.0.7+6-LTS
  java.home:       C:\Program Files\Eclipse Adoptium\jdk-21.0.7.6-hotspot
  fan.platform:    win32-x86_64
  fan.version:     1.0.82
  fan.env:         sys::BootEnv
  fan.home:        C:\fantom-1.0.82
fan main.fan
Hello, Fantom 1.0.82
Received message: What an elegant language!
Hello, there! Where have you been all my life?

Login or Signup to reply.