Skip to content

doesn't handle named types #165

@josharian

Description

@josharian

I'd expect this test to pass:

func TestToFloat64NamedType(t *testing.T) {
	type X float64
	f := ToFloat64(X(2))
	if f != 2.0 {
		t.Fatalf("want %#v, got %#v", 2.0, f)
	}
}

The fix is pretty easy. Near the beginning of ToFloat64E, just after the call to indirect, add something like:

	v := reflect.ValueOf(i)
	if v.CanFloat() {
		return v.Float(), nil
	}

I'm filing an issue rather than sending a PR because the proper fix applies this to all conversions, not just floats, and that's a pretty substantive change, so I wanted to discuss first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions