Skip to content

Typed int with ref equality #730

Closed
Closed
@antonmedv

Description

@antonmedv
          Can I get the pointer value of the struct Env?

Playground:https://go.dev/play/p/WIj3_3NoR2z

package main

import (
	"fmt"

	"github.com/expr-lang/expr"
)

type ModeEnum int

const (
	ModeEnumA ModeEnum = 1
	ModeEnumB ModeEnum = 2
)

type Env struct {
	Mode *ModeEnum
}

func main() {
	code := `Mode == 1`

	tmp := ModeEnumA

	env := map[string]any{
		"Mode": &tmp,
	}

	program, err := expr.Compile(code, expr.Env(env))
	if err != nil {
		panic(err)
	}

	output, err := expr.Run(program, env)
	if err != nil {
		panic(err)
	}

	fmt.Println(output)
}

It prints false, but the expectation is true

Originally posted by @Cassius0924 in #154 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions