Since dmd 2.096.0: import `x.t` is used as a type
kdevel
kdevel at vogtner.de
Sun May 2 15:41:13 UTC 2021
On Saturday, 1 May 2021 at 16:32:32 UTC, Basile B. wrote:
> Hard breakage is not acceptable, even if the goal is to
> introduce a more correct behavior.
I still wonder why module names are taken as a candidates for
types and functions in the first place. Isn't there a symbol
table for module names separate from that for type and function
names?
Just checked how things are done in another language where
modules are called “packages”:
```
// Foo.go
package Foo
import "fmt"
func Foo () {
fmt.Println ("this is Foo.Foo ()");
}
// Soo.go
package Soo
type Soo struct {
Name string
}
// main.go
package main
import "fmt"
import . "Foo"
import . "Soo"
func main () {
fmt.Println ("main package")
Foo ()
s := Soo {Name: "xx"}
fmt.Println (s.Name)
}
```
Besides the hard to remember syntax that only those symbols are
exported which start with an uppercase letter it works as
expected.
More information about the Digitalmars-d-learn
mailing list